使用筆記本撥通openvpn後,筆記本不能上網的解決方法
網上也流傳著一些,解決方法:
一:方法1:配置ip轉發,iptables規則來轉發
首先,修改openvpnserver端的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
但是問題是如果不希望通過VPN服務器tap tun,而是使用原來 PC的網絡呢?
二:方法2:修改openvpn服務端的配置文件:
vi /etc/openvpn/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配置語句。
重啟openvpn服務器:
service openvpn restart
搞定。
通過方法2,確實可以讓pc端在連接vpn後,可以正常訪問外網了,但是出現了新的問題!!!!
開發人員,在連接vpn後,開發的程序在連接服務器的時候,出現了不能連接zookeeper的問題,而且還是在我搗鼓vpn後出現的。猜測這三個push是不能隨便註釋掉的,於是了解了openvpn的配置詳情
http://ppp1013.blog.51cto.com/927700/530659
#使Client的默認網關指向VPN,讓Client的所有Traffic都通過VPN走 ;push “redirect-gateway” #DHCP的一些選項,具體查看Manual ;push “dhcp-option DNS 10.8.0.1″ ;push “dhcp-option WINS 10.8.0.1″ #如果可以讓VPN Client之間相互訪問直接通過openvpn程序轉發, #不用發送到tun或者tap設備後重新轉發,優化Client to Client的訪問效率
這裏的;push “redirect-gateway”
平時,給開發的解決方案就是,連接vpn後。臨時刪除這兩條路由信息,命令如下:
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。要經常在上面查東西。所以我就趕緊找別的方法了。
經過測試,把上面的那一條註釋後,通過開發的測試,可以正常開發程序。也能正常連接網絡了。
目前還在測試中這個問題吧
下面一條命令是,vpn啟動後,啟動中使用的參數,通過service直接啟動,在通過ps查看就是這樣的
/usr/sbin/openvpn --daemon --writepid /var/run/openvpn/server.pid --cd /etc/openvpn --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
本文出自 “圈中一鳥” 博客,請務必保留此出處http://sgk2011.blog.51cto.com/1551358/1971498
使用筆記本撥通openvpn後,筆記本不能上網的解決方法