-
openvpn
中
和<
/p>
配置文件详解
(
一
)
,服务
器端配置
port 1194
#
申明使用的端口,默认
1194
proto tcp
;protoudp
< br>#
申明使用的协议,默认使用
UDP
,如果使用
HTTP proxy
,必须使用
TCP
协议
;dev
tap
//
二层设备
devtun
//
能路由的设备
< br>#
申明使用的设备可选
tap
和
tun
,
tap
是二层设备,支持链路层协议。
tun
是
ip
层的点对点
协议
ca /etc/openvpn/easy-rsa/keys/
#OpenVPN
使用的
ROOT
CA
,使用
build-
ca
生成的,用于验证客户是证书是否合法
cert /etc/openvpn/easy-
rsa/keys/
#Server
使用的证书文件
key /etc/openvpn/easy-
rsa/keys/
#Server
使用的证书对应的
key
,注意文件的权限,防止被盗
dh /etc/openvpn/easy-
rsa/keys/
#
迪菲·赫尔曼密钥
auth-user-pass-verify /etc/openvpn/
via-env
#openvpn
客户端以账号,
密码的方式登陆验证账户信息主要
脚本
,
里面有密码文件
的路径设置(文件的账户,密码
同占一行,之间用空格隔开。
)
client-cert-not-required
#
p>
只使用用户名密码方式验证登录,
如果不加,
则代表需要证书和用户名密码双重验证登录!
username-as-common-name
#
多用户同时登陆时可用同一账户
ifconfig-pool-persist
#
防止
openvpn
重新启动后“忘记”
Client
曾经使用过的
IP
地址
server 10.8.0.0
255.255.255.0
等行
push
“
route 10.8.0.0
255.255.255.0
″
#<
/p>
把这条路由发送给客户端,客户连接成功后自动加入路由表,省略了下一跳地址
: 10.8.0.1
使用
< br>push
指令在连接时推送到客户端来
push
“
route
10.8.0.0 255.255.255.0
″
#
把这条路由发送给客户端,客户连接成功后自动加入路由表,省略了下
一跳地址
: 10.8.0.1
当
客户拔上
opnvpn
后,可以在系统里看到路由
push
#
使
Client
的默认网关指向
VPN
,让
Client
的所
有
Traffic
都通过
VPN
走
push
push
“
dhcp-option
DNS 8.8.4.4
”
#
将
dns
服务器推送到客户端,如果没有,当
使用
openvpn
时无法解析域名
duplicate-cn
p>
#
如果
Client
使用的
CA
的
Common Nam
e
有重复了,
或者说客户都使用相同的
CA,
换句话说,
允许多客户端同
CA
或
common name
同时登陆如
果客户端都使用相同的证书和密钥连接
VPN
,一定要打开这个
选项,否则每个证书只允许一个人连接
VPN
client-to-client
#
可以让客户端之间相互访问直接通过
openvpn
程序转
发,根据需要设置
keepalive 10 120
#keepalive<
/p>
指令将导致类似于
ping
命令的消息被
来回发送,
以便于服务器端和客户端知道对
方何时被关闭,每<
/p>
10
秒钟
ping
一次,如果
120
秒内都没有收到对方的回复,则表示远程连
接已经关闭。
comp-lzo
#
对数据进行压缩
,注意
Server
和
Client<
/p>
一致
persist-key
persist-tun
#
持久化选项可以尽量避免访问那些在重启之后由于用户权限
降低而无法访问的某些资源
;user nobody
;group nobody
#
在
完成初始化工作之后,降低
OpenVPN
守护进程的权限是个
不错的主意,该指令仅限于
非
Windows
< br>系统中使用。
status
#
输出一个简短的状态文件,
用于显
示当前的连接状态,
该文件每分钟都会清空
并重写一次。
log /var/log/
#
记录日志,每次重新启动
openvpn
p>
后删除原有的
log
信息
< br>
log-append
和
log
一致,每次重新启动
open
vpn
后保留原有的
log
信息,新信
息追加到文件最后
t
0
#
该文件应该保密
#
出于
SSL/TLS
之外更多的安全考虑,
创建一个
防火墙
可以帮助抵御
DoS
攻击和
UDP
端口淹没攻击。
#
你可以使用以下命令来生成:
#
openvpn
--genkey --secret
#
服务器和每个客户端都需要拥有该密钥的一个拷贝。
#
第二个参数在服务器端应该为
'0
'
,在客户端应该为
'1'
。
verb 3
#
为日志文件设置适当的冗余级别
(
0~9)
。冗余级别越高,输出的信息越详细。
# 0
表示静默运行,只记录致命错误。
#
4
表示合理的常规用法。
# 5
和
6
可以帮助调试连接错误。
# 9
表示极度冗余,输出非常详细的日志信息
;mute 20
#
重复信息的沉默度。
#
相同类别的信息只有前
20
条会输出到日志文件中。
;max-clients 100
#
允许并发连接的客户端的最大数量
mode server
#Ope
nVPN
工作在
Server
模式,可
以支持多
client
同时动态接入
tls-server
#
使用
TLS
加密传输,本端为
< br>Server
,
Client
端
为
tls-client
ifconfig 10.8.0.1 10.8.0.2
#
设置本地
tun
设备的地址
ifconfig-pool
10.8.0.4 10.8.0.251
#
说明
OpenVPN
使用的地址池(用于分配给客户
)
,分别是起始地址、结束地址
(二)客户端的配置文件
Linux
或
Unix
下使用扩展名为
.conf Windows
下使用的是
.ovp
n,
并把需要使用的
keys
复制到配
置文件所在目录以
window
为例:
应该需要
、
<
/p>
、
、
、
#
申明我们是一个
client
,配置从
server
端
pull
过
来,如
IP
地址,路由信息之类“
Se
rver
使
用
push
指令
push
过来的”
client
#
指定接口的类型,严格和
Server
< br>端一致
;dev tap
devtun
# Windows needs the TAP-Win32 adapter
name
# from the Network Connections
panel
# if you have more than one. On
XP SP2,
# you may need to disable the
firewall
# for the TAP adapter.
;dev-node MyTap
#
使用的协议,与
Server
p>
严格一致
proto
tcp
;proto udp
<
/p>
#
设置
Server
的
IP
地址和端口,如果有多台机器做负载均衡,可以多次
出现
remote
关键字
remote 45.61.198.8
1194
;remote my-server-2
1194
#
随机选择一个
Server
连接,否则按照顺序从上到下依次连接
< br>
;remote-random
#
始终重新解析
Server
的
IP
地址(如果
r
emote
后面跟的是域名)
,
#
保证
Server IP
地址是动态的使用
DDNS
动态更新
DNS
后,
Client
在自动重新连接时重新解
析
Server
的
IP
地址
#
这样无需人为重新启动,即可重新接入
VPN
resolv-retry infinite
#
在本机不邦定任何端口监听
p>
incoming
数据,
Client
p>
无需此操作,
除非一对一的
VPN
有必要
nobind
#
运行
o
penvpn
用户的身份,旧版本在
win
下需要把这两行注释掉,新版本无需此操作
user
nobody
group nobody
#
在
Client
端增加路由
,使得所有访问内网的流量都经过
VPN
出去
< br>
#
当然也可以在
Server
的配置文件里头设置,
Server
配
置里头使用的命令是
# push
“
route 192.168.0.0
255.255.255.0
″
route 192.168.0.0 255.255.0.0
#
和
Se
rver
配置上的功能一样如果使用了
chroot
或者
su
功能,最好打开下面
2
个选项,防
-
-
-
-
-
-
-
-
-
上一篇:FPGA在线加载模式简介
下一篇:朦胧的近义词及意思