我如何(从CLI)为一个接口分配多个IP地址?
在我的服务器上,我想为一个NIC分配多个IP地址,但不使用/etc/network/interfaces
中不推荐使用的ifconfig
或过时的“别名”表示法(如eth0:0
),因为在IP别名中 (在www.kernel上)。 org)你可以阅读
IP别名是管理每个接口的多个IP地址/掩码的过时方法
-
如果您目前只需要一个额外的IP地址,则可以将其添加到计算机上的任何界面
sudo ip address add
/ dev 例如
sudo ip address add 172.16.100.17/24 dev eth0
将使用24位网络掩码添加
172.16.100.17
到为eth0
配置的地址列表。你可以查看结果
ip address show eth0
你可以再次删除这个地址
sudo ip address del 172.16.100.17/24 dev eth0
当然,重新启动计算机时会丢失这些更改。
-
要使附加地址永久化,您可以通过添加表单的多个节来编辑文件
/etc/network/interfaces
iface eth0 static address 172.16.100.17/24
所以它看起来像
iface eth0 inet dhcp iface eth0 inet static address 172.16.100.17/24 iface eth0 inet static address 172.16.24.11/24
您甚至可以将
dhcp
保留为主地址。要在不重启的情况下激活这些设置,请使用
ifdown/ifup
类的sudo ifdown eth0 && sudo ifup eth0
如果要远程连接到服务器,将这两个命令放在一行中是很重要的 ,因为第一个命令会丢弃您的连接! 通过这种方式,ssh-session将继续存在。
使用新的工具包,就像使用旧工具包一样容易添加新的IP地址:
ip addr add 192.168.1.1/24 dev eth0
再次使用ip addr show
时,您会看到分配给该接口的第二个IP地址:
2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff inet 192.168.0.100/24 brd 192.168.0.255 scope global eth0 inet 192.168.1.1/24 scope global eth0 inet6 fe80::223:54ff:fe45:f307/64 scope link valid_lft forever preferred_lft forever
删除该IP地址:
ip addr del 192.168.1.1/24 dev eth0
iproute2套件:
iproute2套件是通过netlink协议在内核和用户空间之间进行进程间通信的通信套件。 它应该取代整个标准的网络工具。 这是他们取代的:
-
ifconfig
– >ip addr
和ip link
-
route
– >ip route
-
arp
– >ip neigh
-
iptunnel
– >ip tunnel
-
ipmaddr
– >ip maddr
-
netstat
– >ss
一种方法是:
sudo ip addr add 192.168.0.2/24 dev eth1