如果我像这样添加两个 IP:
- ip addr 添加 1.1.1.1/24 dev eth2
- ip addr 添加 1.1.1.2/24 dev eth2
然后我尝试删除其中一个这样的:
- ip 地址 del 1.1.1.2/24 dev eth2
两个 IP 都将被删除,我不知道该怎么办。
有人知道如何解决吗?
答案1
如果您在执行ip addr list dev eth2
这两个add
命令后执行此操作,您将看到类似这样的内容(重点是我的):
2:eth2:mtu 1500 qdisc pfifo_fast 状态 UP qlen 1000 链接/以太 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff inet 192.168.1.1/24 brd 192.168.1.255 范围全局 eth2 inet 1.1.1.1/24 范围全局 eth2 inet 1.1.1.2/24 范围全局次要的eth2
需要注意的重要一点是,Linux 将第二个地址视为第一个地址的次要地址,因为它们位于同一逻辑子网 (/24)。删除次要地址不会对主要地址产生影响,反之亦然。
如果您需要在 1.1.1.0/24 中添加/删除地址,您可能应该首先添加一个始终有效的地址(例如 1.1.1.99/24),然后添加 1.1.1.1 和 1.1.1.2 作为辅助地址。然后您可以随意添加/删除 .1 和 .2 地址。
如果这不可能,那么您也可以暂时添加 1.1.1.2/32删除 1.1.1.1 之前。这将保持来自网络外部的所有连接的连接性。根据您的网络设置(即您的路由器是否支持代理 ARP),您可能还可以使用 1.1.1.2/0暂时地。
答案2
可能有其他东西在背着你做着什么。NetworkManager 就是一个已知的罪犯。
在执行命令时运行ip monitor
,看看是否有其他人正在修改配置。