网上也流传着一些,解决方法:

一:方法1:配置ip转发,iptables规则来转发

首先,修改open***server端的ip转发功能



echo 1 > /proc/sys/net/ipv4/ip_forward



然后配置iptables,使用NAT技术



iptables -t nat -A POSTROUTING -s 192.168.123.0/24 -o eth0 -j MASQUERADE



但是问题是如果不希望通过×××服务器tap tun,而是使用原来 PC的网络呢?

二:方法2:修改open***服务端的配置文件:



vi /etc/open***/server.conf
找到以下类型语句:
push "route 192.168.5.0 255.255.255.0"
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 202.106.0.20"
把它们注释掉
;push "redirect-gateway def1 bypass-dhcp"
;push "route 192.168.5.0 255.255.255.0"
;push "dhcp-option DNS 202.106.0.20"



意思是不要重建client的网关 路由 DNS。仔细检查push配置语句。

重启open***服务器:



service open*** restart



搞定。

通过方法2,确实可以让pc端在连接***后,可以正常访问外网了,但是出现了新的问题!!!!

OpenResty 关闭缓存 关闭openclash 无法上网_DNS

开发人员,在连接***后,开发的程序在连接服务器的时候,出现了不能连接zookeeper的问题,而且还是在我捣鼓***后出现的。猜测这三个push是不能随便注释掉的,于是了解了open***的配置详情

http://ppp1013.blog.51cto.com/927700/530659



#使Client的默认网关指向×××,让Client的所有Traffic都通过×××走
;push “redirect-gateway”
#DHCP的一些选项,具体查看Manual
;push “dhcp-option DNS 10.8.0.1″
;push “dhcp-option WINS 10.8.0.1″
#如果可以让××× Client之间相互访问直接通过open***程序转发,
#不用发送到tun或者tap设备后重新转发,优化Client to Client的访问效率



这里的;push “redirect-gateway”在pc连接后,会生成了一条默认路由如图:

OpenResty 关闭缓存 关闭openclash 无法上网_运维_02

平时,给开发的解决方案就是,连接***后。临时删除这两条路由信息,命令如下:



route delete 0.0.0.0 mask 128.0.0.0 route delete 128.0.0.0 mask 128.0.0.0



但是今天老大,发话了。说执行了上面的临时命令,但是打不开cn.bing.com。要经常在上面查东西。所以我就赶紧找别的方法了。

经过测试,把上面的那一条注释后,通过开发的测试,可以正常开发程序。也能正常连接网络了。

目前还在测试中这个问题吧



下面一条命令是,***启动后,启动中使用的参数,通过service直接启动,在通过ps查看就是这样的



/usr/sbin/open*** --daemon --writepid /var/run/open***/server.pid --cd /etc/open*** --config server.conf --script-security 2




方法一,也使用了,通过直接添加iptables那条命令没有好用。由于已经有了很多规则,所以没有执行下面的命令来重新尝试



iptables -F ,  iptables -X  iptables -Z,   然后    iptables -t nat -A POSTROUTING -s 10.8.0.0/24  -j MASQUERADE    /etc/init.d/iptables save





转载于:https://blog.51cto.com/sgk2011/1971498