openvpn无法访问网络问题排查

最近育碧蹭着巴黎圣母院的热度送了一波大革命,好友也免费领了一份,苦于国内的网络环境一直无法成功联机,之前用的SSTAP做跳板成功联机但这次却失败了,不知道是延迟问题还是什么。于是想着自己搭建个openvpn试试,服务的搭建还是很简单,可以参考:
https://www.howtoforge.com/tutorial/how-to-install-openvpn-server-and-client-with-easy-rsa-3-on-centos-7/

客户端也能成功连上,但是无法访问网络,网上找了一堆文章基本都没有什么作用。openvnp的服务端配置文件是必须要指定协议类型的,tcp或者是udp,想要同时开启就必须要开两个实例才行,我这里就复制两份配置文件来同时开启tcp和udp。

可以想到的是无法访问网络和内网ip肯定是防火墙问题和路由转发规则没有配置好。首先确保服务端配置文件配置了

push "redirect-gateway def1 bypass-dhcp"

来重定向客户端的网关

dev tun

使用路由模式运行,运行时会模拟出虚拟路由,使用ifconfig命令可以看到,我这里会产生两个虚拟网卡,因为开了两个实例,同时虚拟网卡名称会以tun+数字的方式命名,这里的名称会影响到后面的防火墙配置。

然后是防火墙iptables配置,首先需要配置NAT规则:

-A POSTROUTING -s 10.10.1.0/24 -o eth0 -j MASQUERADE

这里的网段填写实际openvpn配置中的网段,然后是转发规则:

-A FORWARD -i eth0 -o tun+ -j ACCEPT
-A FORWARD -i tun+ -o eth0 -j ACCEPT

由于我能上网的网卡是eth0,同时有两个虚拟网卡tun0和tun1使用tun+来表示,两张网卡相互转发。同时防火墙别忘了开启你的tcp/udp端口访问。

如果你的客户端需要同时使用tcp和udp就需要如下配置:

remote x.x.x.x port tcp
remote x.x.x.x port udp

配置实际的服务器ip和端口

同时看到网上有人遇到客户端开了压缩但是服务端没有开启也能导致这个问题,该配置项是:

comp-lzo

客户端和服务端都需要相同的配置,我没遇到这个问题,但还是需要注意下。

遇到的问题其实主要是没有做转发,同时忘了自己是开了两个实例,都是按照网上解决方案操作,也没注意到实际的网络配置,开启多实例的需要格外注意。

参考文章:
https://www.ilanni.com/?p=9877
https://www.ilanni.com/?p=9847

  
BugHome版权所有丨转载请注明出处:https://minei.me/archives/526.html
  

发表评论

电子邮件地址不会被公开。 必填项已用*标注