购买腾讯云服务器:服务器
xshell服务器连接工具教程:xshell
搭建vpn的教程参考:
搭建vpn
一看就懂的保姆级教程:openvn设置 (亲测通过)
在 Windows Server2019 上搭建 OpenVPN 服务端
(参考了很多资料,大概有十几篇,大多都没有保存有网址,只记下这三个,并非有意不列出全部出处,如有侵权,麻烦告知,抱歉抱歉,不到最后我也不知道参考的是否有用,网页太多就关掉了许多)
搭建vpn的时候参考上面链接的教程就行
其中有一个坑,客户端的client.ovpn的配置中,remote 43.156.116.201 1194 #这里需要写的是openvpn服务器IP地址端口号,也就是购买的服务器的公网ip
环境:
服务器:腾讯云服务器
客户端:在本机windows10安装openvpn客户端
其中五个重要的配置如下:
一:server.conf的配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| port 1198 #端口 proto tcp #协议 dev tun #采用路由隧道模式tun ca ca.crt #ca证书文件位置 cert server.crt #服务端公钥名称 key server.key #服务端私钥名称 dh dh.pem #交换证书 server 10.8.0.0 255.255.255.0 #给客户端分配地址池,注意:不能和VPN服务器内网网段有相同" push "route 0.0.0.0 0.0.0.0" push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220" push "route 192.168.0.0 255.255.255.0" #允许客户端访问内网172.16.0.0网段 ifconfig-pool-persist ipp.txt #地址池记录文件位置 keepalive 10 120 #存活时间,10秒ping一次,120 如未收到响应则视为断线 max-clients 100 #最多允许100个客户端连接 status openvpn-status.log #日志记录位置 verb 3 #openvpn版本 client-to-client #客户端与客户端之间支持通信 log /var/log/openvpn.log #openvpn日志记录位置 persist-key #通过keepalive检测超时后,重新启动VPN,不重新读取keys,保留第一次使用的keys。 persist-tun #检测超时后,重新启动VPN,一直保持tun是linkup的。否则网络会先linkdown然后再linkup client-config-dir /etc/openvpn/ccd auth-nocache cipher AES-256-GCM ncp-ciphers AES-256-GCM:AES-128-GCM
|
二:client.ovpn的配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| client #指定当前VPN是客户端 dev tun #使用tun隧道传输协议 proto tcp #使用udp协议传输数据 remote 43.156.116.201 1198 #openvpn服务器IP地址端口号 resolv-retry infinite #断线自动重新连接,在网络不稳定的情况下非常有用 nobind #不绑定本地特定的端口号 ca ca.crt #指定CA证书的文件路径 cert client.crt #指定当前客户端的证书文件路径 key client.key #指定当前客户端的私钥文件路径 verb 3 #指定日志文件的记录详细级别,可选0-9,等级越高日志内容越详细 persist-key #通过keepalive检测超时后,重新启动VPN,不重新读取keys,保留第一次使用的keys persist-tun #检测超时后,重新启动VPN,一直保持tun是linkup的。否则网络会先linkdown然后再linkup remote-cert-tls server auth-nocache cipher AES-256-GCM ncp-ciphers AES-256-GCM:AES-128-GCM
|
三:验证
其他步骤都按照教程完成后,右击WiFi图标–打开“网路和Internet设置”–高级网络设置–更改适配器选项
打开界面后可以看到OpenVPN TAP-Windows6的红色叉×已经没有了
然后双击自己正在连接的网络,选择“属性”–共享–勾上“允许其他网络用户通过此计算机的Internet连接来连接”以及“允许其他网络用户控制或禁用共享的Internet连接”–家庭网络连接选择“OpenVPN TAP-Windows6”
连接成功后,在windows中打开cmd输入外网的公网地址,如果能ping通,配置就是没有问题的,openvpn就搭建成功啦,但是现在还是无法连接外网
还需要进行路由配置
四:修改了etc/sysctl.conf的配置:
参考链接
将net.ipv4.ip_forward = 0 改成 net.ipv4.ip_forward = 1
五:修改路由配置
参考连接
我的内网ip是:192.168.8.4
(腾讯云服务器)外网的ip是:(公)43.156.116.201 (内)10.0.0.7
我在windows端输入的cmd命令是
route delete 0.0.0.0
route add 0.0.0.0 mask 0.0.0.0 10.8.0.5 -p
route add 192.168.0.0 mask 255.255.255.0 192.168.8.1 -p
这里输入的10.8.0.5和192.168.8.1是在server.conf中设置的给客户端分配地址池的网关以及你的内网地址的网关
具体可以看route print中的Gateway一列,如下:
1 2 3 4 5 6 7
| Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 192.168.8.1 192.168.8.4 55 0.0.0.0 0.0.0.0 10.8.0.5 10.8.0.6 26 10.8.0.0 255.255.255.0 10.8.0.5 10.8.0.6 281 10.8.0.4 255.255.255.252 On-link 10.8.0.6 281 10.8.0.6 255.255.255.255 On-link 10.8.0.6 281 10.8.0.7 255.255.255.255 On-link 10.8.0.6 281
|
其中前面两行就是内网和外网的路由信息,上面需要输入的信息就是Gateway列的192.168.8.1和10.8.0.5
至此配置完成,就可以成功连接外网啦