笔记|放弃 ifconfig,拥抱 ip 命令
【笔记|放弃 ifconfig,拥抱 ip 命令】开始使用现代方法配置 Linux 网络接口。
![笔记|放弃 ifconfig,拥抱 ip 命令](https://img.it610.com/image/info8/0dd22a92e8c64b48926d5c30bf8bd981.jpg)
文章图片
在很长一段时间内,
ifconfig
命令是配置网络接口的默认方法。它为 Linux 用户提供了很好的服务,但是网络很复杂,所以配置网络的命令必须健壮。ip
命令是现代系统中新的默认网络命令,在本文中,我将向你展示如何使用它。ip
命令工作在OSI 网络栈的两个层上:第二层(数据链路层)和第三层(网络 或 IP)层。它做了之前net-tools
包的所有工作。安装 ip
ip
命令包含在iproute2util
包中,它可能已经在你的 Linux 发行版中安装了。如果没有,你可以从发行版的仓库中进行安装。ifconfig 和 ip 使用对比
ip
和ifconfig
命令都可以用来配置网络接口,但它们做事方法不同。接下来,作为对比,我将用它们来执行一些常见的任务。查看网口和 IP 地址
如果你想查看主机的 IP 地址或网络接口信息,
ifconfig
(不带任何参数)命令提供了一个很好的总结。$ ifconfigeth0: flags=4099
新的
ip
命令提供了类似的结果,但命令是ip address show
,或者简写为ip a
:$ ip a1: lo:
添加 IP 地址
使用
ifconfig
命令添加 IP 地址命令为:$ ifconfig eth0 add 192.9.203.21
ip
类似:$ ip address add 192.9.203.21 dev eth0
ip
中的子命令可以缩短,所以下面这个命令同样有效:$ ip addr add 192.9.203.21 dev eth0
你甚至可以更短些:
$ ip a add 192.9.203.21 dev eth0
移除一个 IP 地址
添加 IP 地址与删除 IP 地址正好相反。
使用
ifconfig
,命令是:$ ifconfig eth0 del 192.9.203.21
ip
命令的语法是:$ ip a del 192.9.203.21 dev eth0
启用或禁用组播
使用
ifconfig
接口来启用或禁用组播multicast:# ifconfig eth0 multicast
对于
ip
,使用set
子命令与设备(dev
)以及一个布尔值和multicast
选项:# ip link set dev eth0 multicast on
启用或禁用网络
每个系统管理员都熟悉“先关闭,然后打开”这个技巧来解决问题。对于网络接口来说,即打开或关闭网络。
ifconfig
命令使用up
或down
关键字来实现:# ifconfig eth0 up
或者你可以使用一个专用命令:
# ifup eth0
ip
命令使用set
子命令将网络设置为up
或down
状态:# ip link set eth0 up
开启或关闭地址解析功能(ARP)
使用
ifconfig
,你可以通过声明它来启用:# ifconfig eth0 arp
使用
ip
,你可以将arp
属性设置为on
或off
:# ip link set dev eth0 arp on
ip 和 ipconfig 的优缺点
ip
命令比ifconfig
更通用,技术上也更有效,因为它使用的是Netlink
套接字,而不是ioctl
系统调用。ip
命令可能看起来比ifconfig
更详细、更复杂,但这是它拥有更多功能的一个原因。一旦你开始使用它,你会了解它的内部逻辑(例如,使用set
而不是看起来随意混合的声明或设置)。最后,
ifconfig
已经过时了(例如,它缺乏对网络命名空间的支持),而ip
是为现代网络而生的。尝试并学习它,使用它,你会由衷高兴的!via: https://opensource.com/article/21/1/ifconfig-ip-linux
作者:Rajan Bhardwaj Linux中国荣誉推出
推荐阅读
- EffectiveObjective-C2.0|EffectiveObjective-C2.0 笔记 - 第二部分
- Android中的AES加密-下
- 【读书笔记】贝叶斯原理
- 【韩语学习】(韩语随堂笔记整理)
- 人性的弱点-笔记
- 读书笔记:博登海默法理学|读书笔记:博登海默法理学 —— 正义的探索(1)
- D034+3组苏曼+《写作这回事》读书笔记
- 《自我的追寻》读书笔记3
- 最有效的时间管理工具(赢效率手册和总结笔记)
- 机器学习|机器学习 Andrew Ng《Machine Learning》课程笔记1