我可以 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 对我来说似乎不寻常。