ifconfig 和 iproute2 虚拟接口之间的区别

ifconfig 和 iproute2 虚拟接口之间的区别

我想知道以下之间有什么区别:

# ifconfig eth0:0 1.1.1.1/24

并且只是

# ip addr add 1.1.1.1/24 dev eth0

顺便说一句我做不到

# ip addr add 1.1.1.1/24 dev eth0:0
RTNETLINK answers: File exists

它的ip addr show表现有所不同:

eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 
link/ether 8c:ae:4c:fe:1f:75 brd ff:ff:ff:ff:ff:ff
inet 1.1.1.1/24 brd 1.1.1.255 scope global eth0:0 ---> with ifconfig
inet 2.2.2.2/24 scope global eth0 ----> with ip

我什么时候应该选择第一种方式,什么时候应该选择第二种方式?看起来更酷

答案1

在 Linux 中,使用ip命令。在其他操作系统中,使用ifconfig和系列。

如果您使用iproute2方式 ( ip) 如下:

ip addr add 1.1.1.1/24 dev eth0 label eth0:0

您应该具有与第一个命令相同的效果ifconfig,甚至应该以相同的方式显示ifconfig。如前所述,在 Linux 中,您应该更喜欢ip命令系列而不是ifconfigroute等。尽管ifconfig和 其他命令将在未来一段时间内在网络管理员的饮食中保持稳定,因为它们在非 Linux 操作系统中也得到广泛使用和支持。

相关内容