我有一台服务器(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)
当我跑步时
curl --接口 eth0 ifconfig.co 响应是 111.111.111.111
curl --接口 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