gun*_*ert 46 command-line networking ip-address
在我的服务器上,我想为一个 NIC 分配多个 IP 地址,但不使用已弃用ifconfig或过时的“别名”表示法(如eth0:0),/etc/network/interfaces因为在IP 别名(在 www.kernel.org 上)中,您可以阅读
IP 别名是一种过时的方式来管理每个接口的多个 IP 地址/掩码
gun*_*ert 56
如果您暂时需要一个额外的 IP 地址,您可以将它添加到您机器上的任何接口
sudo ip address add <ip-address>/<prefix-length> dev <interface>
Run Code Online (Sandbox Code Playgroud)
例如
sudo ip address add 172.16.100.17/24 dev eth0
Run Code Online (Sandbox Code Playgroud)
将172.16.100.17使用 24 位网络前缀添加到为您的eth0.
你可以检查结果
ip address show eth0
Run Code Online (Sandbox Code Playgroud)
你可以再次删除这个地址
sudo ip address del 172.16.100.17/24 dev eth0
Run Code Online (Sandbox Code Playgroud)
当然,当您重新启动机器时,这些更改将丢失。
要使附加地址永久化,您可以/etc/network/interfaces通过添加尽可能多的表单节来编辑文件
iface eth0 static
address 172.16.100.17/24
Run Code Online (Sandbox Code Playgroud)
所以它看起来像
iface eth0 inet dhcp
iface eth0 inet static
address 172.16.100.17/24
iface eth0 inet static
address 172.16.24.11/24
Run Code Online (Sandbox Code Playgroud)
您甚至可以保留dhcp主地址的 。
要在不重新启动使用激活这些设置ifdown/ifup像
sudo ifdown eth0 && sudo ifup eth0
Run Code Online (Sandbox Code Playgroud)
这是至关重要的把那两个命令放到一个行,如果你是远程处理到服务器,因为第一个会放弃你的连接!以这种方式,ssh 会话将继续存在。
cha*_*aos 21
使用新工具包,添加新 ip 地址就像使用旧工具包一样简单:
ip addr add 192.168.1.1/24 dev eth0
Run Code Online (Sandbox Code Playgroud)
当寻找ip addr show再次,你看到分配给该接口的第二个IP地址:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> 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
Run Code Online (Sandbox Code Playgroud)
删除该 IP 地址:
ip addr del 192.168.1.1/24 dev eth0
Run Code Online (Sandbox Code Playgroud)
iproute2 套件:
iproute2套件是内核和用户空间之间通过netlink协议进行进程间通信的通信套件。它应该取代整个标准的网络工具。以下是它们的替代品:
ifconfig-->ip addr和ip linkroute --> ip routearp --> ip neighiptunnel --> ip tunnelipmaddr --> ip maddrnetstat --> ss