Linux

openVPN 和多個外部 IP 地址

  • March 25, 2015

我目前有一個帶有多個外部 IP 地址的 openVPN 伺服器。

我想讓所有 VPN 連接(tun0 介面和/或 10.19.88.xx IP 範圍)將第二個外部 IP 地址作為“公共 IP”,而不是第一個。

例如,使用虛構地址:

Deault eth0 address: 11.12.13.1 (server.domain.tld)
eth0:0 address: 11.12.13.2 (vpn.domain.tld)

所有 VPN 連接目前都使用 11.12.13.1,而不是 11.12.13.2。

有沒有辦法解決這個問題(使用iptables?)

謝謝

嘗試:

iptables -t nat -A POSTROUTING -s 10.19.88.0/24 -o eth0 -j SNAT --to 11.12.13.2

甚至更好;)

iptables -t nat -A POSTROUTING -s 10.19.88.0/24 -j SNAT --to 11.12.13.2

iptables -t nat -A POSTROUTING -i tun0 -j SNAT --to 11.12.13.2

rkthkr 響應的問題(除了介面中的怪異字元)是它只會匹配來自 10.19.88.0/24 子網的數據包,這些數據包已經從 eth0:0 發出並對其進行 SNAT。

通過使用-i tun0,您僅通過它們進入的介面來辨識數據包(我假設這是從 tun0 進來的唯一流量),然後將其 SNAT 到正確的傳出 IP。

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