OpenVPN 完整隧道不工作(命令列)

OpenVPN 完整隧道不工作(命令列)

我可以 ping 通伺服器,但不能 ping 通 google.com 或 8.8.8.8,traceroute 也失敗。

伺服器:

$iptables -t nat -A POSTROUTING -s 10.9.8.0/24 -o eth0 -j MASQUERADE
$openvpn --dev tun1 --server 10.9.8.0 255.255.255.0 --dh /etc/openvpn/easy-rsa/keys/dh2048.pem --ca /etc/openvpn/easy-rsa/keys/ca.crt --cert /etc/openvpn/easy-rsa/keys/Hal.crt --key /etc/openvpn/easy-rsa/keys/Hal.key --reneg-sec 60 --verb 5 --duplicate-cn --mode server --client-to-client --push "redirect-gateway def1"

客戶:

$openvpn --remote 10.0.0.102 --dev tun1 --client --ca /etc/openvpn/easy-rsa/keys/ca.crt --cert /etc/openvpn/easy-rsa/keys/client1.crt --key /etc/openvpn/easy-rsa/keys/client1.key --reneg-sec 60 --verb 5

執行上述命令後客戶端上的路由表:

$route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.9.8.5        128.0.0.0       UG    0      0        0 tun1
default         10.0.0.1        0.0.0.0         UG    0      0        0 eth0
10.0.0.0        *               255.0.0.0       U     0      0        0 eth0
routbuntu-2.loc 10.0.0.1        255.255.255.255 UGH   0      0        0 eth0
10.9.8.0        10.9.8.5        255.255.255.0   UG    0      0        0 tun1
10.9.8.5        *               255.255.255.255 UH    0      0        0 tun1
128.0.0.0       10.9.8.5        128.0.0.0       UG    0      0        0 tun1

答案1

----一般來說:

您應該使用 openvpn 的範例 .conf 檔案。你可以改進它們,因為它們正在解釋重要的選項。

啟動VPN後,使用該命令ifconfig查看伺服器和用戶端上是否配置了虛擬隧道設備(例如tun0)(啟動/線上)。

@verbosity,也許您應該嘗試預設值,verb 3因為verb 5可能會讓人不知所措並讀取輸出,以及如果該輸出出現問題。 openvpn 為您提供詳細的輸出供您分析。

----解決問題:

您可以透過其 lan-ip 位址或其 vpn-virtual-ip-address 10.9.8.1 ping 您的「伺服器」。我猜你 ping 它的 LAN/WAN-ip 位址,因為我假設,你的 VPN 連線不會使用這些設定建立。並且 ping 其 LAN/WAN-ip 不會告訴您有關您的 VPN 是否正常運作的任何資訊。

你的問題很模糊,缺少很多資訊。但我假設您希望透過 VPN 伺服器路由來自 VPN 用戶端電腦的所有網路流量。

在這種情況下:

--如果你想將 openvpn-server 設定為軟體路由器,我認為這個 iptables 規則是不夠的。

通常用於路由的 iptables 設定看起來像這樣, iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -i tun0 -s 10.9.8.0/24 -o eth0 -j ACCEPT openvpn-manpages 只提到您使用過的選項「--push」redirect-gateway def1」和ip-tables nat 行。但是如果此iptables 規則有幫助,您應該嘗試一下。

--我認為必須在 openvpn 伺服器的電腦上啟動 ip 轉發:

sysctl net.ipv4.ip_forward=1 sysctl net.ipv6.conf.default.forwarding=1 sysctl net.ipv6.conf.all.forwarding=1

@你的openvpn伺服器設定:

--您可以在dev tun和之間進行選擇dev tap,沒有選項 tun0 或 tun1。

-- mode server不正確,並且您已經設定了模式server 10.9.8.0 255.255.255.0

@你的openvpn客戶端設定:

--也用dev tun這裡

-- remote YourServersIpAddress確保這確實是 LAN 或網際網路中 openvpn 伺服器的 IP 位址。 10.0.0.102 對我來說似乎不尋常。

相關內容