Ip
當一個介面有多個 IP 時,如何設置“預設路由”?
我已按照Amazon EC2 上的多個 IP 地址指南進行操作,並採用了列出的第二種方法,即向單個介面添加兩個 IP 地址。這是通過向適配器添加兩個私有 IP,然後將彈性 IP 與每個私有地址相關聯來完成的。
當我執行類似
curl
它使用主 IP 地址的命令時,我想知道如何將其更改為預設使用其他 IP 地址。這是設置:公共(彈性)IP
54.140.250.140 54.81.231.80
私有 IP
172.30.0.50 172.30.0.122
添加彈性和私有 IP 後,我這樣做:
ip addr add dev eth0 172.30.0.122/24
為了確認它的工作,我可以做:
curl icanhazip.com 54.81.231.80 curl --interface 172.30.0.50 icanhazip.com 54.81.231.80 curl --interface 172.30.0.122 icanhazip.com 54.140.250.140
如您所見,預設路由是通過原始/主 IP 完成的。
這是執行的數據
ifconfig
eth0 Link encap:Ethernet HWaddr 12:34:56:78:90:ab inet addr:172.30.0.50 Bcast:172.30.0.255 Mask:255.255.255.0 inet6 addr: aabb::cccc:dddd:eeee:ffff/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:9001 Metric:1 RX packets:713 errors:0 dropped:0 overruns:0 frame:0 TX packets:631 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:63726 (63.7 KB) TX bytes:827217 (827.2 KB) lo .... omitted ....
這就是我從跑步中得到的
route
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 172.30.0.1 0.0.0.0 UG 0 0 0 eth0 172.30.0.0 * 255.255.255.0 U 0 0 0 eth0
我嘗試使用這樣的腳本更改“預設”路由。我使用
screen
以便在我斷開連接後腳本將繼續(猜測是第一行導致):/sbin/route del default /sbin/route add default via 172.30.0.122 dev eth0 tab 1
我也試過沒有,
tab 1
但仍然沒有運氣。如何設置“預設”使用的傳出 IP?
我還想知道是否可以指定只有到特定 IP 範圍的流量才使用輔助地址作為預設地址。
ip route replace default via 172.30.0.1 src 172.30.0.122