Centos

openvpn 隧道 - 隧道已啟動但路由問題

  • August 12, 2012

我在使用站點到站點隧道時遇到問題。兩個路由器都是基於centos的路由器。路由器 A 是伺服器,路由器 B 是客戶端。

VPN 隧道已建立。從路由器 B,我可以 ping 路由器 A 網路上的任何東西。從路由器 A(及其後面的網路),

我無法在路由器 B 後面或路由器 A 後面的網路上 ping 任何東西。

所以基本上,路由器 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網路

您缺少的是 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

引用自:https://serverfault.com/questions/416491