
答案1
外部網站(例如whatismyip等)看到的伺服器IP是您的伺服器從路由表中取得的IP。
$ ip route
default via x.x.x.x dev ethX ...
10.0.0.0/16 dev ethY ...
....
如果您嘗試連接的站點的 IP 位於路由表中指定的子網路中,則來源 IP(您的)和傳出介面都將從該特定路由取得。例如:whatismyip.net 的 IP 是 10.0.0.1,當您向其發送流量時,您的伺服器將使用 ethY 介面和 ethY IP。
否則,如果站點不符合任何子網,則使用預設路由。在範例中,伺服器將透過 ethX 介面發送流量,並將 ethX IP 作為來源。
在您的上下文中,您的預設路由似乎是透過 eth0。
要使用另一個介面/IP:
您可以為某些命令指定傳出接口,然後指定來源 IP,例如
ping -I ethY whatever.net ping -I eth0.Y whatever.net curl --interface eth0.Y wtfismyip.com/text
或者,您可以為 MY_REMOTE_IP 新增路由,這將在與其通訊時強制使用給定的介面或來源 IP。在上面的範例中,MY_SECOND_IP 是 ethY 介面的 IP
$ ip route add MY_REMOTE_IP dev ethY src MY_SECOND_IP $ ip route add MY_REMOTE_IP dev eth0.Y src MY_SECOND_IP
否則,在某些命令中,您可以強制使用來源 IP,例如。
ssh -b MY_SECOND_IP user@MY_REMOTE_IP