https://github.com/Nyr/openvpn-install
https://blog.csdn.net/m0_37443131/article/details/81177113
https://my.oschina.net/u/142602/blog/387401
https://www.xiaomastack.com/2015/06/03/openvpn-iptables/
centos7
$ sudo yum update
[root@master redis-2.8.3]# yum -y install gcc automake autoconf libtool make
https://www.kkwen.cn/index.php/archives/26/?from=singlemessage&tdsourcetag=s_pcqq_aiomsg
- 云服务器上解压 openvpn-package-sh-v2.zip 压缩包 openvpn-package-sh-v2为服务端安装包 openvpn.zip为客户端exe安装包
- cd openvpn-package-sh-v2
- 执行安装脚本 ./openvpn_install.sh -o openvpn-2.3.17.tar.gz -e easy-rsa-2.2.0.zip
- 按照提示添加证书信息等,脚本执行安装完成
- nohup /usr/local/openvpn-2.3.17/sbin/openvpn server.conf & (//启动VPN服务端服务)
- 启动如有错误,参考下面的这个server.conf内容
假设openvpn服务器ip:192.168.2.115
[root@lnmp config]# cat server.conf
local 0.0.0.0 #指定监听的本机IP(因为有些计算机具备多个IP地址),该命令是可选的,默认监听所有IP地址。
port 1194 #指定监听的本机端口号
proto tcp #指定采用的传输协议,可以选择tcp或udp
dev tun #指定创建的通信隧道类型,可选tun或tap
ca ca.crt #指定CA证书的文件路径
cert server.crt #指定服务器端的证书文件路径
key server.key #指定服务器端的私钥文件路径
dh dh1024.pem #指定迪菲赫尔曼参数的文件路径
server 10.10.0.0 255.255.255.0 #指定虚拟局域网占用的IP地址段和子网掩码,此处配置的服务器自身占用10.0.0.1。
ifconfig-pool-persist ipp.txt #服务器自动给客户端分配IP后,客户端下次连接时,仍然采用上次的IP地址(第一次分配的IP保存在ipp.txt中,下一次分配其中保存的IP)。
tls-auth ta.key 0 #开启TLS-auth,使用ta.key防御攻击。服务器端的第二个参数值为0,客户端的为1。
keepalive 10 120 #每10秒ping一次,连接超时时间设为120秒。
comp-lzo #开启VPN连接压缩,如果服务器端开启,客户端也必须开启
client-to-client #允许客户端与客户端相连接,默认情况下客户端只能与服务器相连接
persist-key
persist-tun #持久化选项可以尽量避免访问在重启时由于用户权限降低而无法访问的某些资源。
status openvpn-status.log #指定记录OpenVPN状态的日志文件路径
verb 3 #指定日志文件的记录详细级别,可选0-9,等级越高日志内容越详细
push "route 192.168.2.0 255.255.255.0 vpn_gateway"
然后端口映射
/usr/local/bin/autossh -M 10922 -fN -o "PubkeyAuthentication=yes" -o "StrictHostKeyChecking=false" -o "PasswordAuthentication=no" -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -R 118.30.99.201:8388:192.168.2.115:1194 yansiyu@118.30.99.201 -p10023
添加iptables
临时 $ echo 1 > /proc/sys/net/ipv4/ip_forward
永久 $ vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
$ sysctl -p
iptables -t nat -A POSTROUTING -s 10.10.0.0/24 -j SNAT --to-source 192.168.2.115
iptables -L -t nat
如果想删除
iptables -F -t nat
- nohup执行没有错误之后,openVPN服务端安装完成
- cd /usr/local/openvpn-2.3.17/ 切换到安装目录
- 执行创建客户端证书及客户端配置的文件脚本
- /bin/bash openvpn_create_client_certificate.sh /tmp //保存证书及客户端配置的文件地址
- 执行会提示输入证书名及密码
- cd /tmp 打包刚刚生成的VPN客户端配置文件,复制到客户端电脑
- 客户端电脑安装openVPN
- 比如安装在 F:\Program Files\OpenVPN这个文件夹下
- 复制从服务器上面拉下来的所有文件粘贴到安装目录F:\Program Files\OpenVPN,覆盖即可
- 修改文件名F:\Program Files\OpenVPN\config\xxx.conf 为 xxx.ovpn xxx为执行生成客户端证书及配置文件是自己填的那个名字
- 启动openVPN客户端,右键import导入刚刚修改的 xxx.ovpn文件
- 右键点击connect连接,查看连接状态