OpenVPN 客戶端連接但無法訪問網際網路,即使我偽裝
我在centos 7上在家中安裝了openvpn伺服器。使用數字海洋文件。
ip route
顯示我的伺服器的網路介面是 ens32。所以我在 iptables 中添加了一條規則,將路由轉發到 OpenVPN 子網
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o ens32 -j MASQUERADE
我的伺服器配置中也有Google的 DNS。
push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4"
我還配置了伺服器以告訴客戶端通過 OpenVPN 重定向所有流量。
push "redirect-gateway def1 bypass-dhcp"
我在家裡的網際網路上做這個,所以在路由器上我在openvpn的埠上做了埠轉發。
在我的 android 手機上,openvpn 客戶端應用程序成功登錄到伺服器並獲得了一個私有 ip (10.8.0.6),它顯示發送和接收了幾 KB,它是綠色和快樂的!但它無法訪問網際網路。
我一直在嘗試很多不同的東西,我不知道為什麼它無法訪問網際網路。
我檢查過的openvpn伺服器本身
curl google.com
確實可以訪問網際網路。任何的想法?
終於找到問題和解決辦法了,我在
journalctl -xe
for (openvpn server logs)看到了這條消息
client/__MYPUBLICHOMEIP__:39661 IP packet with unknown IP version=15 seen
然後我意識到我的客戶端預設配置壓縮已啟用,但伺服器端未啟用壓縮。
在 openvpn 伺服器的 conf 中取消註釋這一行解決了這個問題:
comp-lzo