试试Linux下的ip命令,ifconfig已经过时了

1,031次阅读
没有评论

linux 的 ip 命令和 ifconfig 类似,但前者功能更强大,并旨在取代后者。使用 ip 命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig 是 net-tools 中已被废弃使用的一个命令,许多年前就已经没有维护了。iproute2 套件里提供了许多增强功能的命令,ip 命令即是其中之一。

试试 Linux 下的 ip 命令,ifconfig 已经过时了

Net tools vs Iproute2

要安装 ip,请 点击这里 下载iproute2 套装工具。不过,大多数 Linux 发行版已经预装了 iproute2 工具。

你也可以使用 git 命令来下载最新源代码来编译:

  1. $ git clone https://kernel.googlesource.com/pub/scm/linux/kernel/git/shemminger/iproute2.git

试试 Linux 下的 ip 命令,ifconfig 已经过时了

iproute2 git clone

设置和删除 Ip 地址

要给你的机器设置一个 IP 地址,可以使用下列 ip 命令:

  1. $ sudo ip addr add 192.168.0.193/24 dev wlan0

请注意 IP 地址要有一个后缀,比如 /24。这种用法用于在无类域内路由选择(CIDR)中来显示所用的子网掩码。在这个例子中,子网掩码是 255.255.255.0。

在你按照上述方式设置好 IP 地址后,需要查看是否已经生效。

  1. $ ip addr show wlan0

试试 Linux 下的 ip 命令,ifconfig 已经过时了

set ip address

你也可以使用相同的方式来删除 IP 地址,只需用 del 代替 add。

  1. $ sudo ip addr del 192.168.0.193/24 dev wlan0

试试 Linux 下的 ip 命令,ifconfig 已经过时了

delete ip address

列出路由表条目

ip 命令的路由对象的参数还可以帮助你查看网络中的路由数据,并设置你的路由表。第一个条目是默认的路由条目,你可以随意改动它。

在这个例子中,有几个路由条目。这个结果显示有几个设备通过不同的网络接口连接起来。它们包括 WIFI、以太网和一个点对点连接。

  1. $ ip route show

试试 Linux 下的 ip 命令,ifconfig 已经过时了

ip route show

假设现在你有一个 IP 地址,你需要知道路由包从哪里来。可以使用下面的路由选项(译注:列出了路由所使用的接口等):

  1. $ ip route get 10.42.0.47

试试 Linux 下的 ip 命令,ifconfig 已经过时了

ip route get

更改默认路由

要更改默认路由,使用下面 ip 命令:

  1. $ sudo ip route add default via 192.168.0.196

试试 Linux 下的 ip 命令,ifconfig 已经过时了

default route

显示网络统计数据

使用 ip 命令还可以显示不同网络接口的统计数据。

试试 Linux 下的 ip 命令,ifconfig 已经过时了

ip statistics all interfaces

当你需要获取一个特定网络接口的信息时,在网络接口名字后面添加选项 ls 即可。使用多个选项 -s 会给你这个特定接口更详细的信息。特别是在排除网络连接故障时,这会非常有用。

  1. $ ip s s link ls p2p1

试试 Linux 下的 ip 命令,ifconfig 已经过时了

ip link statistics

ARP 条目

地址解析协议(ARP)用于将一个 IP 地址转换成它对应的物理地址,也就是通常所说的 MAC 地址。使用 ip 命令的 neigh 或者 neighbour 选项,你可以查看接入你所在的局域网的设备的 MAC 地址。

  1. $ ip neighbour

试试 Linux 下的 ip 命令,ifconfig 已经过时了

ip neighbour

监控 netlink 消息

也可以使用 ip 命令查看 netlink 消息。monitor 选项允许你查看网络设备的状态。比如,所在局域网的一台电脑根据它的状态可以被分类成 REACHABLE 或者 STALE。使用下面的命令:

  1. $ ip monitor all

试试 Linux 下的 ip 命令,ifconfig 已经过时了

ip monitor all

激活和停止网络接口

你可以使用 ip 命令的 up 和 down 选项来激某个特定的接口,就像 ifconfig 的用法一样。

在这个例子中,当 ppp0 接口被激活和在它被停止和再次激活之后,你可以看到相应的路由表条目。这个接口可能是 wlan0 或者 eth0。将 ppp0 更改为你可用的任意接口即可。

  1. $ sudo ip link set ppp0 down
  2.  
  3. $ sudo ip link set ppp0 up

试试 Linux 下的 ip 命令,ifconfig 已经过时了

ip link set up and down

获取帮助

当你陷入困境,不知道某一个特定的选项怎么用的时候,你可以使用 help 选项。man 页面并不会提供许多关于如何使用 ip 选项的信息,因此这里就是获取帮助的地方。

比如,想知道关于 route 选项更多的信息:

  1. $ ip route help

试试 Linux 下的 ip 命令,ifconfig 已经过时了

ip route help

小结

对于网络管理员们和所有的 Linux 使用者们,ip 命令是必备工具。是时候抛弃 ifconfig 命令了,特别是当你写脚本时。

正文完
 0
评论(没有评论)
验证码