我有一台伺服器(linux/centos),我的預設IP是:111.111.111.111,所以我買了另一個IP(IP故障轉移)222.222.222.222
如果我在瀏覽器 111.111.111.111 或 222.222.222.222 中訪問它打開的同一頁面
所以我有eth0:
UUID="2f99a6-6566-sb24-bd0e-bf5a8d4a1765"
IPADDR="111.111.111.111"
GATEWAY="111.111.111.1"
NETMASK="255.255.255.0"
BOOTPROTO="static"
DEVICE="eth0"
ONBOOT="yes"
我也創造了eth0:0
和上面一樣只是改變了
DEVICE="eth0:0"
IPADDR="222.222.222.222"
#GATEWAY="111.111.111.1"(commented it)
當我跑步時
捲曲--介面 eth0 ifconfig.co 響應是 111.111.111.111
curl --interface eth0:0 ifconfig.co 響應是 222.222.222.222
但是當我使用 wget 或ffmpeg(我只是想找到 ffmpeg 的解決方案)那麼 ip 是 111.111.111.111
那我怎麼做才能做到預設出站 IP 為222.222.222.222(這是我的第二個IP/我購買作為故障轉移IP)
答案1
根據您的特定要求,但您可以使用的方法是:
- 標準路由表(基於目的地)
- 基於策略的路由(允許各種路由標準)
- 網路命名空間
我認為在您的用例中,網路命名空間與別名結合可能是一個有效的選擇。有關該解決方案路徑的詳細信息,請考慮:
https://unix.stackexchange.com/questions/210982/bind-unix-program-to-specific-network-interface