Iptables

OpenVPN 客戶端連接但無法訪問網際網路,即使我偽裝

  • December 13, 2019

我在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 -xefor (openvpn server logs)看到了這條消息

client/__MYPUBLICHOMEIP__:39661 IP packet with unknown IP version=15 seen

然後我意識到我的客戶端預設配置壓縮已啟用,但伺服器端未啟用壓縮。

在 openvpn 伺服器的 conf 中取消註釋這一行解決了這個問題:

comp-lzo

引用自:https://serverfault.com/questions/889115