OpenVPN 路由问题

OpenVPN 路由问题

我在路由器上设置了 OpenVPN(运行 IPFire),并且能够使用 OS X 10.7 上的 Tunnelblick 从异地连接到它。连接后,我无法正确访问路由器后面的任何系统。以下是 IP 当前分布的相关部分:

现场

  • 192.168.1.1-路由器
  • 192.168.1.115-OS X 服务器
  • 192.168.1.117-Linux服务器

场外

  • 172.16.1.33-运行 OS X 的客户端计算机

如前所述,我可以从异地通过 OpenVPN 连接,没有任何问题。我可以 ping 192.168.1.1 和(似乎是)192.168.1.117,但不能 ping 192.168.1.115(尽管我可以在现场 ping 它)。我发现通过 SSH 连接到 192.168.1.117 实际上会将我登录到路由器(路由器应该只位于 192.168.1.1),所以我有点困惑这是怎么可能的。

这是我的server.confOpenVPN 文件:

daemon openvpnserver
writepid /var/run/openvpn.pid
#DAN prepare OpenVPN for listening on blue and orange
;local 192.168.1.1
dev tun
tun-mtu 1400
proto udp
port 1194
script-security 3 system
ifconfig-pool-persist /var/ipfire/ovpn/ovpn-leases.db 3600
tls-server
ca /var/ipfire/ovpn/ca/cacert.pem
cert /var/ipfire/ovpn/certs/servercert.pem
key /var/ipfire/ovpn/certs/serverkey.pem
dh /var/ipfire/ovpn/ca/dh1024.pem
server 10.219.213.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"
status-version 1
status /var/log/ovpnserver.log 30
cipher AES-256-CBC
comp-lzo
max-clients 100
tls-verify /var/ipfire/ovpn/verify
crl-verify /var/ipfire/ovpn/crls/cacrl.pem
user nobody
group nobody
persist-key
persist-tun
verb 3

这是我的客户端配置:

tls-client
client
dev tun
proto udp
tun-mtu 1400
remote [redacted] 1194
pkcs12 [redacted].p12
cipher AES-256-CBC
comp-lzo
verb 3
ns-cert-type server
tls-remote [redacted]

在客户端上运行netstat -nr并在连接 OpenVPN 时产生以下输出:

Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            172.16.0.1         UGSc           17        5     en0
10.219.213.1/32    10.219.213.5       UGSc            0        0    tun0
10.219.213.5       10.219.213.6       UH              2        0    tun0
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH              9    45124     lo0
169.254            link#4             UCS             0        0     en0
172.16             link#4             UCS             3        0     en0
172.16.0.1         98:2c:be:a5:a7:99  UHLWIi         18     1689     en0   1199
172.16.1.33        127.0.0.1          UHS             0        0     lo0
172.16.1.36        0:25:4b:b3:cf:84   UHLWIi          4   695688     en0   1122
172.16.255.255     ff:ff:ff:ff:ff:ff  UHLWbI          0       38     en0
192.168.1          10.219.213.5       UGSc            0        0    tun0

Internet6:
Destination                             Gateway                         Flags         Netif Expire
::1                                     link#1                          UHL             lo0
fe80::%lo0/64                           fe80::1%lo0                     UcI             lo0
fe80::1%lo0                             link#1                          UHLI            lo0
fe80::%en0/64                           link#4                          UCI             en0
fe80::21e:c2ff:fe01:6f1b%en0            0:1e:c2:1:6f:1b                 UHLI            lo0
ff01::%lo0/32                           fe80::1%lo0                     UmCI            lo0
ff01::%en0/32                           link#4                          UmCI            en0
ff02::%lo0/32                           fe80::1%lo0                     UmCI            lo0
ff02::%en0/32                           link#4                          UmCI            en0

是否有人对如何将所有内容从客户端正确地路由到现场网络有什么建议?

答案1

你的配置看上去不错:

Destination        Gateway            Flags        Refs      Use   Netif Expire
...
192.168.1          10.219.213.5       UGSc            0        0    tun0

确保已启用 IP 转发。我不熟悉 IPFire,但由于它基于 Linux,因此请使用以下命令:

echo 1 > /proc/sys/net/ipv4/ip_forward

相关内容