0%

搭建openvpn

购买腾讯云服务器:服务器

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

至此配置完成,就可以成功连接外网啦

点这里请我吃个小蛋糕吧~~

Welcome to my other publishing channels