Ubuntu 16.04单网卡绑定双IP:如何同时使用或切换?
在Ubuntu 16.04中单网卡双IP的使用与切换方法
嘿,这个场景我熟得很!在Ubuntu 16.04上单网卡绑定多个IP后,不管是同时用还是切换都有明确的操作方式,我给你一步步拆解:
一、让两个IP同时生效并使用
其实默认情况下,当你在网卡上绑定好两个IP后,系统已经会同时识别并使用它们了。你可以先通过ip addr命令确认两个IP都已成功挂载到目标网卡(比如eth0)上。
1. 验证双IP可用性
用ping命令分别测试两个IP,比如:
ping 192.168.1.10 # 第一个IP ping 192.168.1.11 # 第二个IP
只要网络配置没问题,两个IP都能正常响应。
2. 指定源IP发起请求
如果需要用某个特定IP向外发起请求(比如curl、wget或者ping),可以通过命令的参数指定源接口/IP:
- 用指定IP ping目标:
ping -I 192.168.1.11 8.8.8.8 - 用指定IP访问网页:
curl --interface 192.168.1.10 http://example.com
入站请求的话,外部设备访问这两个IP都会被你的系统正常响应,不需要额外配置。
二、在两个IP之间切换(临时/永久)
如果需要临时或永久切换使用的IP,分两种情况处理:
1. 临时切换(重启后失效)
这种方式适合临时调整,不用修改配置文件:
- 禁用某个IP:比如要关掉
192.168.1.10,执行:
sudo ip addr del 192.168.1.10/24 dev eth0
- 重新启用该IP:
sudo ip addr add 192.168.1.10/24 dev eth0
- 切换默认出站IP:如果想让系统默认用某个IP对外通信,调整默认路由的源IP:
# 默认用192.168.1.11作为出站源 sudo ip route add default via 192.168.1.1 src 192.168.1.11 # 切回192.168.1.10的话,执行: sudo ip route add default via 192.168.1.1 src 192.168.1.10
注意:执行这条命令后,原来的默认路由会被覆盖,临时生效。
2. 永久切换(重启后保持)
Ubuntu 16.04使用/etc/network/interfaces作为网络配置文件,修改这里可以让配置永久生效:
- 打开配置文件:
sudo nano /etc/network/interfaces
- 假设你的原配置是这样的:
auto eth0 iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.1 auto eth0:1 iface eth0:1 inet static address 192.168.1.11 netmask 255.255.255.0
- 切换默认出站IP:把
gateway配置移到你想作为默认的IP段下,比如想默认用192.168.1.11,修改为:
auto eth0 iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0 auto eth0:1 iface eth0:1 inet static address 192.168.1.11 netmask 255.255.255.0 gateway 192.168.1.1
- 禁用某个IP开机自启:如果想让某个IP不再自动加载,注释掉对应的
auto行,比如:
# auto eth0:1 iface eth0:1 inet static address 192.168.1.11 netmask 255.255.255.0
- 保存文件后,重启网络服务生效:
sudo systemctl restart networking
内容的提问来源于stack exchange,提问作者Arvind Kumar




