我这里有两台 ubuntu 16.04 服务器,它们是从 10.04 升级而来的,现在是虚拟机,但以前使用两个绑定以太网端口在物理硬件上运行。由于虚拟化,绑定配置现已过时。
当我在其中一台机器上执行 ifconfig 时,我得到以下输出:
rh@wstest:~> ifconfig
ens160 Link encap:Ethernet HWaddr00:50:56:94:1b:59
inet addr:172.17.1.62 Bcast:172.17.255.255 Mask:255.255.0.0
inet6 addr:fe80::250:56ff:fe94:1b59/64 Scope:Link
UP BROADCAST RUNNINGMULTICAST MTU:1500 Metric:1
RX packets:202330 errors:0dropped:2209 overruns:0 frame:0
TX packets:74983 errors:0dropped:0 overruns:0 carrier:0
collisions:0txqueuelen:1000
RX bytes:148353176 (148.3MB) TX bytes:6457904 (6.4 MB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:605 errors:0dropped:0 overruns:0 frame:0
TX packets:605 errors:0dropped:0 overruns:0 carrier:0
collisions:0txqueuelen:1
RX bytes:149597 (149.5 KB) TX bytes:149597 (149.5 KB)
lo:0 Link encap:Local Loopback
inet addr:172.17.1.22 Mask:255.255.255.255
UP LOOPBACK RUNNING MTU:65536 Metric:1
问题是 lo:0 接口来自哪里,为什么它的 ip 是 172.17.1.22,我们如何才能摆脱它。我知道我可以执行 ifconfig down lo:0 并将其删除,但重启后它会再次出现在这里。
我们的 /etc/network/interfaces 如下所示,没有 lo:0 接口的痕迹:
auto lo
iface lo inet loopback
auto ens160
iface ens160 inet static
address 172.17.1.62
netmask 255.255.0.0
network 172.17.0.0
gateway 172.17.1.2
dns-search ....
dns-nameservers 172.17.1.6 172.17.1.7
答案1
经过进一步研究后发现,添加此 lo:0 接口的 ifconfig 语句被放入从 /etc/rc.local 调用的脚本中,因此在机器启动时和调用 ifup 时始终激活。