我正在嘗試在我們的兩個辦公室之間建立站點到站點 VPN 連線。我使用的 VPN 伺服器是 2 個“Edgerouter lite”,我使用的隧道軟體是 OpenVPN。
目前的設定是這樣的:
-
R1:
LAN subnet: 192.168.2.0/24
LAN port: 192.168.2.1
WAN port: X.X.X.X
-
R2:
LAN subnet: 10.10.0.0/24
LAN port: 10.10.0.34
WAN port: Y.Y.Y.Y
-
R1 Open VPN config:
openvpn vtun0 {
local-address 192.168.2.1 {
}
local-port 1194
mode site-to-site
openvpn-option --comp-lzo
openvpn-option --float
openvpn-option "--ping 10"
openvpn-option "--ping-restart 20"
openvpn-option --ping-timer-rem
openvpn-option --persist-tun
openvpn-option --persist-key
openvpn-option "--user nobody"
openvpn-option "--group nogroup"
remote-address 10.10.0.39
remote-host X.X.X.X
remote-port 1194
shared-secret-key-file /config/auth/secret
}
-
R2 Open VPN config:
openvpn vtun0 {
local-address 10.10.0.39 {
}
local-port 1194
mode site-to-site
openvpn-option --comp-lzo
openvpn-option --float
openvpn-option "--ping 10"
openvpn-option "--ping-restart 20"
openvpn-option --ping-timer-rem
openvpn-option --persist-tun
openvpn-option --persist-key
openvpn-option "--user nobody"
openvpn-option "--group nogroup"
remote-address 192.168.2.1
remote-host Y.Y.Y.Y
remote-port 1194
shared-secret-key-file /config/auth/secret
}
-
show openvpn status site-to-site on R1
OpenVPN client status on vtun0 []
Remote CN Remote IP Tunnel IP TX byte RX byte Connected Since
--------------- --------------- --------------- ------- ------- ------------------------
None (PSK) Y.Y.Y.Y 10.10.0.39 51.6K 51.0K N/A
-
show openvpn status site-to-site on R2
OpenVPN client status on vtun0 []
Remote CN Remote IP Tunnel IP TX byte RX byte Connected Since
--------------- --------------- --------------- ------- ------- ------------------------
None (PSK) X.X.X.X 192.168.2.1 85.3K 84.5K N/A
-
Routing table R1:
IP Next hop INT TYPE
0.0.0.0/0 X.X.X.XGW eth1 static
127.0.0.0/8 lo connected
192.168.2.0/24 eth0 connected
X.X.X.X/X eth1 connected
10.10.0.0/24 vtun0 static
10.10.0.39/32 vtun0 connected
-
Routing table R2:
IP Next hop INT TYPE
0.0.0.0/0 Y.Y.Y.YGW eth0 static
127.0.0.0/8 lo connected
10.10.0.0/24 eth1 connected
Y.Y.Y.Y/Y eth0 connected
192.168.2.0/24 vtun0 static
192.168.2.1/32 vtun0 connected
從 192.168.2.0 LAN(R1 上)上的主機,我可以 ping 通 10.10.0.34(R2 上的 LAN 連接埠 IP),但無法 ping 通 10.10.0.4(R2 LAN 上的主機)。
我的配置有什麼問題嗎?
答案1
這通常與路由有關。如果您可以從一個 OpenVPN 端點到達另一個端點,那麼您應該已經非常接近工作設定了 - 但是:
如果需要透過特定端點存取 LAN,請確保啟用 IP 轉送。
連接遠端的客戶端不知道如何返回連線的另一端。通過隧道的雙向都是如此。
您可以透過使用您選擇的中的iroute
和語句來解決此問題。如果您要加入兩個網路和,那麼在伺服器端(例如),您可以執行以下操作:push
openvpn.conf
x.x.x.x
y.y.y.y
x.x.x.x
push "route net mask"
或push "route x.x.x.x 255.255.255.0"
例如。這使得遠端客戶端能夠透過隧道y.y.y.y
返回正確的路由。x.x.x.x
如果伺服器端 (
x.x.x.x
) 需要能夠看到位於 的 OpenVPN 閘道之外的站點y.y.y.y
,則也需要使用該iroute
語句。放在iroute y.y.y.y 255.255.255.0
伺服器端來實現這一點。這基本上讓 OpenVPN 知道哪個客戶端負責特定子網路。iroute
語句需要進入ccd
(我認為客戶端配置目錄)。這通常位於名為/etc/openvpn/ccd/<client name>
.
我想這應該會讓你繼續前進。另外,請查看優秀的 OpenVPN 文件 -就像區域網路上的這一點。希望可以幫助你!