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 文件。您可以改进它们,因为它们解释了重要的选项。

ifconfig启动 vpn 后,使用命令查看服务器和客户端上是否配置了虚拟隧道设备(例如 tun0)(启动/在线)。

@verbosity,也许您应该尝试默认值,verb 3因为verb 5可能会让人不知所措,并阅读输出,如果有问题,请发布该输出。openvpn 为您提供详细的输出供您分析。

----解决问题:

您可以通过其 lan-ipaddress 或其 vpn-virtual-ip-address 10.9.8.1 ping 您的“服务器”...我猜您会 ping 其 LAN/WAN-ipaddress,因为我假设您的 vpn 连接不会通过这些设置建立。并且 ping 其 LAN/WAN-ip 不会告诉您有关您的 vpn 是否正常工作的任何信息。

您的问题非常模糊,缺少很多信息。但我假设您想将所有互联网流量从 vpn 客户端的计算机路由到 vpn 服务器。

在这种情况下:

--如果你想把openvpn服务器设置为软件路由器,我觉得这个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-server 的计算机上激活 ip-forwarding:

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 服务器的 ipaddress。10.0.0.102 对我来说似乎不寻常。

相关内容