当前位置: 移动技术网 > 科技>操作系统>Linux > Linux下OpenVPN配置静态密钥(static-key)验证教程

Linux下OpenVPN配置静态密钥(static-key)验证教程

2018年11月08日  | 移动技术网科技  | 我要评论

武神下载,侠儒道,xiaojimen

由于openvpn的证书方式采用了tls握手机制,而tls已经受到严重干扰(不论是tcp还是udp),已不能在在国内使用。但openvpn还可以采用静态密钥(static-key)的方式,相对于证书方式,static-key不需要tls握手,不易被干扰,缺点也显而易见,那就是只能配置一对一的网络,如果要配置一对多的网络,需要启动多个openvpn进程。

一、服务端设置

生成static-key,并在配置文件中启用之

复制代码
代码如下:

$ openvpn --genkey --secret static.key

然后把static.key和主配置文件放入同一目录

复制代码
代码如下:

$ vim /etc/openvpn/server.conf #配置主配置文件如下
dev tun
port 8899
;proto tcp-server
ifconfig 10.152.10.1 10.152.10.2
secret static.key

keepalive 10 60
comp-lzo
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 4
push "redirect-gateway def1 bypass-dhcp"

由于openvpn默认使用udp的方式传输,如果想改用tcp方式,需要加上“proto tcp-server”一行(这里未启用,已经使用分号注释掉了);这里我去掉了push dns的配置项,因为客户端总是无法接收到push过来的dns option,原因未知,所以干脆把dns写进客户端的配置文件算了。

复制代码
代码如下:

$ iptables -t nat -a postrouting -s 10.152.10.0/24 -j snat --to-source 公网ip
$ /etc/init.d/iptables save
$ /etc/init.d/iptables restart

启动openvpn服务

复制代码
代码如下:

$ /usr/sbin/openvpn --config /etc/openvpn/server.conf > /dev/null 2>&1 &

二、客户端设置

仅需要把client.ovpn和static.key文件放入openvpn的config目录中即可

编辑客户端配置文件(一般为.ovpn结尾)

复制代码
代码如下:

remote 公网ip 8899
dev tun
;proto tcp-client
ifconfig 10.152.10.2 10.152.10.1
secret static.key
comp-lzo
verb 3
redirect-gateway def1
dhcp-option dns 203.80.96.9
dhcp-option dns 168.95.192.1

如果服务端启用了tcp传输,那么也需要启用“proto tcp-client”一行(这里未启用),这里我添加了一个香港加一个台湾的dns,为了保证访问正常。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网