OpenVPN 无法路由流量

OpenVPN 无法路由流量

设想

在 Gentoo 上运行的 OpenVPN 服务器

eno1:(服务器公网 IP)有静态 IP……无 dhcp

eno2:vlan(目前已关闭)

tun0:openvpn隧道接口

服务器配置文件

local <external ip>
port 443
proto tcp
dev tun

ca              ca.crt
cert            cert.crt
key             key.key
dh              dh.pem
tls-auth        hmac.key 0

server          10.77.198.0 255.255.255.0
ifconfig-pool-persist ipp.txt

push            "redirect-gateway def1"
push            "dhcp-option DNS 8.8.8.8"

keepalive 10 120
comp-lzo
max-clients 10
user nobody
group nobody

persist-key
persist-tun

status          /var/log/openvpn-status.log
log             /var/log/openvpn.log
log-append      /var/log/openvpn.log
verb 4

客户端配置文件

client
remote <server ext ip>
port 443
comp-lzo
dev tun
proto tcp

persist-key
persist-tun
verb 4

<ca>
removed
</ca>

<cert>
removed
</cert>

<key>
removed
</key>

key-direction 1
<tls-auth>
removed
</tls-auth>

从 Win7 x64 计算机连接

...工作正常

我被分配了一个来自 10.77.198.0 池的 IP

我可以从客户端 ping 服务器的外部 IP

问题:

流量不通过 VPN 路由

route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         <ext ip>.254    0.0.0.0         UG    2      0        0 eno1
10.77.198.0     10.77.198.2     255.255.255.0   UG    0      0        0 tun0
10.77.198.2     0.0.0.0         255.255.255.255 UH    0      0        0 tun0
<ext ip>.0      0.0.0.0         255.255.255.0   U     0      0        0 eno1
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eno2

除了 iptables 规则之外,我还遗漏了什么吗?

如果没有,请提供一套完整的 iptables 规则,以便正确路由 tun0 和 eno1 之间的流量。请记住 eno1 有一个静态 IP。

附言

推送到客户端的网关也来自 10.77.198.0 池

答案1

通过启用 ip_forward 并按照以下示例解决

https://community.openvpn.net/openvpn/wiki/BridgingAndRouting

相关内容