我在站点到站点隧道方面遇到了麻烦。两个路由器都是基于 centos 的路由器。路由器 A 是服务器,路由器 B 是客户端。
VPN 隧道已建立。从路由器 B,我可以 ping 通路由器 A 网络上的任何内容。从路由器 A(及其后面的网络),
我无法 ping 通路由器 B 后面或路由器 A 后面的网络中的任何内容。
因此基本上,路由器 B 是唯一可以在对面网络上 ping 任何内容的节点。
知道我应该去哪里找吗?它们都在运行 iptables。已启用 IP 转发。
我猜测路由器 B 可以访问路由器 A 网络上的任何内容,因为它使用的是隧道接口,而不是本地网络的接口。
服务器(路由器 A)上没有到我目标网络的路由。它的默认网关应该是什么?路由器 B 的 PtP 地址?
如果这些都毫无意义的话,抱歉!
服务器配置:
local 113.192.xx,xx
port 1194
proto tcp
dev tun
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
push "route 10.104.17.0 255.255.255.0"
route 192.168.5.0 255.255.255.0
client-config-dir client-configs
keepalive 5 30
comp-lzo
persist-key
persist-tun
status 1194.log
verb 5
daemon
客户:
client
dev tun
proto tcp
remote 113.192.xx.xx 1194
resolv-retry infinite
nobind
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
ca /etc/openvpn/certs/ca.crt
cert /etc/openvpn/certs/remote.crt
key /etc/openvpn/keys/remote.key
comp-lzo
verb 3
当隧道启动后,路由表如下所示:
客户:
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
10.8.0.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
10.8.0.1 10.8.0.5 255.255.255.255 UGH 0 0 0 tun0
192.168.5.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
10.104.17.0 10.8.0.5 255.255.255.0 UG 0 0 0 tun0
0.0.0.0 192.168.5.2 0.0.0.0 UG 0 0 0 eth2
服务器:
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
113.192.xx.xx 0.0.0.0 255.255.255.248 U 0 0 0 eth1
192.168.5.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
10.104.17.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 113.192.40.41 0.0.0.0 UG 0 0 0 eth1
您可能已经猜到了,VPN 服务器后面的网络是 10.104.17.0/24 网络,客户端后面的网络是 192.168.5.0/24 网络
答案1
您忽略的是,OpenVPN 服务器不知道哪个客户端可以访问 192.168.5.0/24 网络。您需要iroute
在相应的客户端配置中使用指令来告知它这一点。假设客户端证书的 CN 为“router-b.example.com”,请将其添加到/etc/openvpn/client-configs/router-b.example.com
:
iroute 192.168.5.0 255.255.255.0