开始使用现代方法配置 linux 网络接口。
成都创新互联公司专业提供成都主机托管四川主机托管成都服务器托管四川服务器托管,支持按月付款!我们的承诺:贵族品质、平民价格,机房位于中国电信/网通/移动机房,温江服务器托管服务有保障!
在很长一段时间内,ifconfig
命令是配置网络接口的默认方法。它为 Linux 用户提供了很好的服务,但是网络很复杂,所以配置网络的命令必须健壮。ip
命令是现代系统中新的默认网络命令,在本文中,我将向你展示如何使用它。
ip
命令工作在 OSI 网络栈 的两个层上:第二层(数据链路层)和第三层(网络 或 IP)层。它做了之前 net-tools
包的所有工作。
ip
命令包含在 iproute2util
包中,它可能已经在你的 Linux 发行版中安装了。如果没有,你可以从发行版的仓库中进行安装。
ip
和 ifconfig
命令都可以用来配置网络接口,但它们做事方法不同。接下来,作为对比,我将用它们来执行一些常见的任务。
如果你想查看主机的 IP 地址或网络接口信息,ifconfig
(不带任何参数)命令提供了一个很好的总结。
$ ifconfig
eth0: flags=4099 mtu 1500
ether bc:ee:7b:5e:7d:d8 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 41 bytes 5551 (5.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 41 bytes 5551 (5.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163 mtu 1500
inet 10.1.1.6 netmask 255.255.255.224 broadcast 10.1.1.31
inet6 fdb4:f58e:49f:4900:d46d:146b:b16:7212 prefixlen 64 scopeid 0x0
inet6 fe80::8eb3:4bc0:7cbb:59e8 prefixlen 64 scopeid 0x20
ether 08:71:90:81:1e:b5 txqueuelen 1000 (Ethernet)
RX packets 569459 bytes 779147444 (743.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 302882 bytes 38131213 (36.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
新的 ip
命令提供了类似的结果,但命令是 ip address show
,或者简写为 ip a
:
$ ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether bc:ee:7b:5e:7d:d8 brd ff:ff:ff:ff:ff:ff
3: wlan0: mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 08:71:90:81:1e:b5 brd ff:ff:ff:ff:ff:ff
inet 10.1.1.6/27 brd 10.1.1.31 scope global dynamic wlan0
valid_lft 83490sec preferred_lft 83490sec
inet6 fdb4:f58e:49f:4900:d46d:146b:b16:7212/64 scope global noprefixroute dynamic
valid_lft 6909sec preferred_lft 3309sec
inet6 fe80::8eb3:4bc0:7cbb:59e8/64 scope link
valid_lft forever preferred_lft forever
使用 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 地址正好相反。
使用 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
使用 ifconfig
,你可以通过声明它来启用:
# ifconfig eth0 arp
使用 ip
,你可以将 arp
属性设置为 on
或 off
:
# ip link set dev eth0 arp on
ip
命令比 ifconfig
更通用,技术上也更有效,因为它使用的是 Netlink
套接字,而不是 ioctl
系统调用。
ip
命令可能看起来比 ifconfig
更详细、更复杂,但这是它拥有更多功能的一个原因。一旦你开始使用它,你会了解它的内部逻辑(例如,使用 set
而不是看起来随意混合的声明或设置)。
最后,ifconfig
已经过时了(例如,它缺乏对网络命名空间的支持),而 ip
是为现代网络而生的。尝试并学习它,使用它,你会由衷高兴的!
标题名称:放弃ifconfig,拥抱ip命令
新闻来源:http://www.shufengxianlan.com/qtweb/news6/267806.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联