网上也流传着一些,解决方法:
一:方法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端在连接***后,可以正常访问外网了,但是出现了新的问题!!!!
开发人员,在连接***后,开发的程序在连接服务器的时候,出现了不能连接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连接后,会生成了一条默认路由如图:
平时,给开发的解决方案就是,连接***后。临时删除这两条路由信息,命令如下:
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