Linux 盒子作為網路網關更改來源位址

Linux 盒子作為網路網關更改來源位址

我有一個 Ubuntu 伺服器盒(A),帶有通往另一個資料中心(AWS,透過 VPC VPN)的 IPSec 隧道。隧道很好,我可以 ping 通隧道的另一邊。

問題是當我嘗試與隧道另一端的任何主機通訊時。

假設我有以下配置:

A 框:172.31.0.5

B 框:172.30.0.5

如果我執行以下操作:

A> ping 172.30.0.5

ICMP 封包到達目標伺服器(B),但其來源位址不是來源伺服器(A)的 IP。

相反,它們以 169.254.248.xxx 作為來源位址到達,這是 AWS VPC 內 IPSec 隧道的私人位址。

由於盒子 A 外部不存在 169.254.248.xxx,盒子 B 無法發送回复,資料包遺失。

我確定這是我在伺服器 A 上的路由設定的問題,如何調試以找到解決方案?

答案1

ping您可以指定用於傳送封包的介面。

在 Windows 上:

ping -S 172.31.0.5 172.30.0.5

在 Linux 上:

ping -I 172.31.0.5 172.30.0.5

相關內容