OpenVpn
服务端和客户端配置文件详?/p>
#
申明本机使用?/p>
IP
地址,也可以不说?/p>
;local a.b.c.d
#
申明使用的端口,默认
1194
port 1194
#
申明使用的协议,默认使用
UDP
,如果使?/p>
HTTP proxy
,必须使?/p>
TCP
协议
;proto tcp
proto udp
#
申明使用的设备可?/p>
tap
?/p>
tun
?/p>
tap
是二层设备,支持链路层协议?/p>
#tun
?/p>
ip
层的点对点协议,限制稍微多一些,本人习惯使用
TAP
设备
dev tap
;dev tun
#OpenVPN
使用?/p>
ROOT CA
,使?/p>
build-ca
生成的,用于验证客户是证书是否合?/p>
ca ca.crt
#Server
使用的证书文?/p>
cert server.crt
#Server
使用的证书对应的
key
,注意文件的权限,防止被?/p>
key server.key # This file should be kept secret
#CRL
文件的申明,被吊销的证书链,这些证书将无法登录
crl-verify vpncrl.pem
#
上面提到的生成的
Diffie-Hellman
文件
dh dh1024.pem
#
这是一条命令的合集,如果你?/p>
OpenVPN
的老用户,就知道这条命令的来由
#
这条命令等效于:
# mode server #OpenVPN
工作?/p>
Server
模式,可以支持多
client
同时动态接?/p>
# tls-server #
使用
TLS
加密传输,本端为
Server
?/p>
Client
端为
tls-client
#
# if dev tun: #
如果使用
tun
设备,等效于以下配置
# ifconfig 10.8.0.1 10.8.0.2 #
设置本地
tun
设备的地址
# ifconfig-pool 10.8.0.4 10.8.0.251 #
说明
OpenVPN
使用的地址池(用于分配给客户),分别是起始地址、结束地
址
# route 10.8.0.0 255.255.255.0 #
增加一条静态路由,省略下一跳地址,下一跳为对端地址,这里是
: 10.8.0.2
# if client-to-client: #
如果使用
client-to-client
这个选项
# push “route 10.8.0.0 255.255.255.0?nbsp;#
把这条路由发送给客户端,客户连接成功后自动加入路由表,省略了下一
跳地址
: 10.8.0.1
# else
#
push
“route
10.8.0.1?nbsp;
#
否则发送本条路由,这是一个主机路由,省略了子网掩码和下一跳地址,分别为
:
255.255.255.255 10.8.0.1
#
# if dev tap: #
如果使用
tap
设备,则等效于以下命?/p>
# ifconfig 10.8.0.1 255.255.255.0 #
配置
tap
设备的地址
# ifconfig-pool 10.8.0.2 10.8.0.254 255.255.255.0 #
客户端使用的地址池,分别是起始地址、结束地址、子网掩?/p>
# push “route
-gatew
ay 10.8.0.1?nbsp;#
把环境变?/p>
route-gateway
传递给客户?/p>
#
server 10.8.0.0 255.255.255.0 #
等效于以上命?/p>
#
用于记录某个
Client
获得?/p>
IP
地址,类似于
dhcpd.lease
文件?/p>
#
防止
openvpn
重新启动?/p>
?/p>
忘记
”Client
曾经使用过的
IP
地址
ifconfig-pool-persist ipp.txt
#Bridge
状态下类似
DHCPD
的配置,为客户分配地址,由于这里工作在路由模式,所以不使用