Routing

openvpn 連接兩個網路

  • October 23, 2017

我有兩個網路,我想通過 openvpn 隧道(每個 tun 設備)連接它們。

伺服器端網路為10.10.7.0/24,vpn

網關執行在IP為10.10.7.12的VM

上,vpn網關端的vpn隧道IP為10.10.9.1(tun0)

路由器為有線路由器,IP為10.10.7.1。

路由器有一個路由條目 10.10.10.0/24 到 10.10.7.12

路由器執行從 1194 到 10.10.7.12:1194 的埠轉發

Client-side network is 10.10.10.0/24.

The client-side router is a debian raspberry with IP 10.10.10.1

It is connect to a foreign wlan (wlan0) with an IP from a pool (192.168.0.xx)

Clients are (not yet) connected via ethernet (eth0)

The vpn tunnel has the IP 10.10.9.2

我建立了 vpn 連接,現在想在網路之間進行路由。

在客戶端我通過“route add -net 10.10.7.0/24 tun0”

添加了一條路由在伺服器端我通過“route add -net 10.10.10.0/24 tun0”添加了一條路由

伺服器端的防火牆全部設置為接受。

我沒有配置偽裝或 snat,我不想因為我執行的服務在 TCP 數據包中的發件人 IP 與它在有效負載中獲得的發件人 IP 不同時感到困惑。

其他網際網路連接不應通過隧道路由。

現在我可以從客戶端網關 ping 到伺服器並進入網路之外。http 也可以。但是,我無法從伺服器 ping 到客戶端網關,也無法訪問任何服務(如 ntpd@10.10.10.9)。我錯過了什麼?

感謝您的幫助。

“route add -net 10.10.10.0/24 tun0”將流量發送到 openvpn,但您沒有告訴 openvpn 伺服器將其發送到哪個客戶端。

為此,我們需要使用 iroute 指令

iroute 10.10.10.0 255.255.255.0

這應該放在伺服器上的 /etc/openvpn/ccd/<cn> 中(將 <cn> 替換為客戶端證書上的通用名稱)

引用自:https://unix.stackexchange.com/questions/399200