首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >等效于ifconfig dev 0.0.0.0

等效于ifconfig dev 0.0.0.0
EN

Server Fault用户
提问于 2020-12-03 08:58:37
回答 2查看 974关注 0票数 3

当我需要在Linux上创建一个带有接口的临时桥时,我将使用以下方法:

代码语言:javascript
运行
复制
brctl addbr br0
brctl addif br0 eth0
ifconfig eth0 0.0.0.0
ifconfig br0 192.168.10.100 netmask 255.255.255.0
ifconfig br0 up

我一直在更新我的进程以使用ip地址命令,但是,我没有找到通过ip命令删除IP堆栈(ifconfig eth0 0.0.0.0)的等效方法。

我尝试了以下几点:

代码语言:javascript
运行
复制
ip addr add 0.0.0.0 dev eth0
ip addr add 0.0.0.0/24 dev eth0

但它无法删除该设备上现有的ip

如果使用ip命令,是否有人知道这是可能的?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2020-12-04 00:08:49

在Linux上,旧的ifconfig命令及其旧的Linux仅限于每个接口一个IPv4地址(因此接口别名实际上是额外的地址,而不是接口,用于解决这个限制)。这解释了为什么要删除IPv4地址,方法是将其设置为(不是真正添加) 0.0.0.0。

使用iproute2工具,如果您想从接口中删除任何地址(对于桥接端口来说总是一个好主意),而不关心存在什么地址(Es),则可以使用ip address flush,这是一个大容量删除命令:

ip address flush -刷新协议地址此命令刷新由某些条件选择的协议地址。...警告:此命令和其他刷新命令是不可原谅的。他们将残酷地清除所有的地址。...

因此,最终你可以使用:

代码语言:javascript
运行
复制
ip address flush dev eth0

(您可以添加-4来限制对IPv4的影响)。

还有其他用途。例如,这个命令:

代码语言:javascript
运行
复制
  ip address flush to 10.1.0.0/16

将从任何接口中删除与块10.1.0.0/16匹配的任何地址,不管它的网络掩码是什么。

代码语言:javascript
运行
复制
# ip -s -s address flush to 10.1.0.0/16
2: lxcbr0    inet 10.1.3.1/24 brd 10.1.3.255 scope global lxcbr0
       valid_lft forever preferred_lft forever
158: eth0    inet 10.1.1.1/8 scope global eth0
       valid_lft forever preferred_lft forever

*** Round 1, deleting 2 addresses ***
*** Flush is complete after 1 round ***
票数 1
EN

Server Fault用户

发布于 2020-12-03 14:45:31

不能用add命令删除IP地址!

如果要从接口中删除IP地址,则需要对其进行del

代码语言:javascript
运行
复制
ip addr del 203.0.113.187 dev eth0
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1044799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档