15 个 Linux 用户的 ip 命令示例

linux ip命令 类似于 ifconfig,但功能更强大,旨在替代它。 使用 ip,您可以通过一个命令执行多项网络管理任务。
在本教程中,我们将讨论 ‘ip’ 命令的 15 种最常见用法,让我们开始吧。

1. 使用 ip 命令识别可用的网络接口

如果您运行 ip link show 命令,它将列出您服务器上所有可用的网络接口。

$ ip link show

示例输出:

$ ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000     link/ether 08:00:27:64:ab:7a brd ff:ff:ff:ff:ff:ff  

2. 如何检查 IP 地址

要获取网络接口的深度信息,如 IP 地址、MAC 地址信息,请使用以下命令,如下所示。

$ ip addr show

输出将显示当前为所有网络接口分配的 IP 配置。

$ ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> 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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000     link/ether 08:00:27:64:ab:7a brd ff:ff:ff:ff:ff:ff     inet 192.168.100.8/24 brd 192.168.100.255 scope global enp0s3        valid_lft forever preferred_lft forever     inet 192.168.100.20/24 scope global secondary enp0s3:1        valid_lft forever preferred_lft forever     inet6 fe80::a00:27ff:fe64:ab7a/64 scope link         valid_lft forever preferred_lft forever 

3. 如何启用网络接口

带有接口名称 (enp0s3) 的“up”标志启用网络接口。 例如,以下命令将激活 enp0s3 网络接口。

$ ip link enp0s3 up Or $ sudo ip link set enp0s3 up

4. 如何禁用网络接口

带有接口名称的“down”标志禁用网络接口。 例如,以下命令将取消激活 enp0s3 网络接口。

$ ip link set enp0s3 down or $ sudo ip link set enp0s3 down

5.如何为特定接口分配IP地址

要为接口分配 IP 地址,我们将使用:

$ sudo ip addr add 192.168.100.4/255.255.255.0 dev enp0s3

我们还可以设置广播地址以使用“ip”命令进行接口。 默认没有设置广播地址,所以设置广播地址的命令是:

$ $ sudo  ip addr add broadcast 192.168.100.255 dev enp0s3

我们还可以使用以下命令设置标准广播地址和 IP 地址,

$ sudo ip addr add 192.168.100.4/24 brd + dev enp0s3

如上例所示,我们也可以在’broadcast’上使用’brd’来设置广播IP地址。

6. 如何删除 IP 地址

以下命令将从给定的接口中删除分配的 IP 地址:

$ sudo ip addr del 192.168.100.4/24 dev enp0s3

7. 为接口添加别名

要添加别名,即为一个接口分配多个 IP,请执行以下命令:

$ sudo ip addr add 192.168.100.20/24 dev enp0s3 label enp0s3:1

示例输出:

$ ip addr show enp0s3 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000     link/ether 08:00:27:64:ab:7a brd ff:ff:ff:ff:ff:ff     inet 192.168.100.8/24 brd 192.168.100.255 scope global enp0s3        valid_lft forever preferred_lft forever     inet 192.168.100.20/24 scope global secondary enp0s3:1        valid_lft forever preferred_lft forever     inet6 fe80::a00:27ff:fe64:ab7a/64 scope link         valid_lft forever preferred_lft forever

8.检查路由表

检查路由信息向我们展示了数据包到达目的地的路线。 要检查网络路由信息,请执行以下命令:

$ ip route show

示例输出:

$ ip route show default via 192.168.100.1 dev enp0s3 proto static  192.168.100.0/24 dev enp0s3 proto kernel scope link src 192.168.100.8

假设现在您有一个 IP 地址,您需要知道数据包将采用的路由。 您可以使用路由选项如下:

$ ip route get 192.168.100.4

9. 添加静态路由

要更改默认路由,可以使用 ip 命令,如下所示:

$ sudo ip route add default via 192.168.100.150/24

所以现在所有网络数据包都将通过 192.168.100.150 而不是旧的默认路由。 要更改单个接口的默认路由并进一步更改路由,请执行

$ sudo ip route add 10.0.0.2 via 192.168.100.150/24 dev enp0s3

10. 删除静态路由

要删除分配的静态路由,只需键入以下命令。

$ sudo ip route del 10.0.0.2

11.如何添加默认网关

默认网关可以全局指定,也可以在特定于接口的配置文件中指定。 默认网关的优点是如果系统中存在多个 NIC。 您可以如以下命令所示动态添加默认网关。

sudo ip route add default via 192.168.100.1

12. 显示网络统计信息

ip 命令还可用于显示各种网络接口的统计信息。 为此,您可以使用带有选项 -s 的 ip 命令,然后指定网络设备。

$ ip -s link

当您需要获取有关特定网络接口的信息时,添加选项 ls 后跟网络接口的名称。 多次使用 -s 选项可为您提供有关该特定接口的更多信息。 这非常有用,尤其是在对网络连接中的错误进行故障排除时。

ip -s -s link ls enp0s3

13.检查ARP表项

地址解析协议 (ARP) 用于将 IP 地址转换为其相应的物理地址,通常称为 MAC 地址。 使用 ip 命令,您可以使用选项 neigh 或 neighbor 查看 LAN 中连接的设备的 MAC 地址。

$ ip neigh

14.监控netlink消息

也可以使用 ip 命令查看 netlink 消息。 监视器选项允许您查看网络设备的状态。 例如,您 LAN 上的计算机可以根据其状态分类为 REACHABLE 或 STALE。 该命令可以如下使用:

$ ip monitor all

示例输出:

$ ip monitor all [NEIGH]192.168.100.4 dev enp0s3 lladdr c8:f7:33:de:30:d7 REACHABLE [NEIGH]192.168.100.4 dev enp0s3 lladdr c8:f7:33:de:30:d7 STALE [NEIGH]192.168.100.4 dev enp0s3 lladdr c8:f7:33:de:30:d7 PROBE [NEIGH]192.168.100.4 dev enp0s3 lladdr c8:f7:33:de:30:d7 REACHABLE 

15.查看帮助

如果您想查找上述示例中未列出的选项,则可以查找手册。

$ man ip

结论

命令 ip 是网络管理员和所有 Linux 用户必备的工具。 是时候离开 ifconfig 了,尤其是在编写脚本时。