我在路由器上设置了 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.conf
OpenVPN 文件:
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