如何在 Linux 中使用 ip 命令管理网络

系统 Linux 网络
IP 命令是系统和网络管理员必备的工具。下面介绍如何使用它来管理 Linux 上的网络和 IP 地址。

Linux 管理和故障排除最基本的部分是检查系统的 IP 配置以确保系统具有有效的 IP 并且可以在本地网络上访问。

Linux 中的 ip 命令是一个强大的工具,它不仅可以显示系统当前的 IP 地址,还可以让您查看和管理网络接口、IP 地址、路由和 ARP 表的当前配置。

让我们看一下 Linux 中 ip 命令的一些常见用例。

在 Linux 上查找 IP 地址

要查找 Linux 系统的 IP 地址,请使用 ip 命令,后跟 address、addr 或选项:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
ip address

这将显示所有网络接口的配置,包括它们的 IP 地址。

在下面的示例中,您可以看到系统具有三个网络接口:lo(环回地址)、ens33。输出包括以下信息:

  • 第 1 层信息,例如接口功能和物理层连接状态、MTU、接口的操作状态(例如,UP 或 DOWN)以及传输队列长度 (qlen)。
  • 第 2 层信息,例如接口的 MAC 地址。
  • 第 3 层信息包括 IP 地址及其类型(动态 IP 寻址或静态 IP 寻址)。

要显示有关网络接口的简要信息,请使用带有 –brief 选项的 ip 命令,如下所示:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
ip --brief address show

要仅显示 IPv4 地址信息,请使用以下命令:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
ip -4 addr

要查找特定网络接口的 IP 地址信息,请使用以下语法:

ip address show dev [interface]

例如,要查看网络接口ens33的 IP 地址,命令为:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
ip address show dev ens33

查看和更改 MAC 地址

使用 ip 命令,您还可以查看和更改系统的 MAC 地址。

要查看您的 Linux 系统的 MAC 地址,请使用以下命令:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
ip --brief link show

要查看特定接口的 MAC 地址,请使用:

ip --brief link show dev [interface]

要更改 MAC 地址,首先关闭接口:

sudo ip link set dev [interface] down

然后使用以下命令更改接口的 MAC 地址:

sudo ip link set dev [interface] address [new-mac-adddress]

之后,调出界面:

sudo ip link set dev ens33 up

查看网络接口统计信息

使用 ip 命令还可以查看网络接口的统计信息。使用以下 ip 命令查看系统上所有网络接口的统计信息:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
ip -s link

输出包括传输和接收的字节/数据包、错误、丢弃的数据包、多播等统计信息。要显示特定接口的统计信息,请使用以下语法:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
ip -s link show dev ens33

使用 ip 修改链接属性

要打开接口,请使用以下 ip 命令:

sudo ip link set [interface] up

要关闭接口,请运行:

sudo ip link set [interface] down

您还可以使用以下命令更改接口的 MTU(最大传输单元):

sudo ip link set mtu [number] dev [interface]

例如,要将网络接口 ens33 的 MTU 设置为 8000,命令为:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
sudo ip link set mtu 8000 dev ens33

在 Linux 上添加/删除 IP 地址

要将 IP 地址添加到网络接口,请使用以下语法:

ip addr add [ip-address] dev [interface]

要将 IP 地址 192.168.42.140/24 添加到网络接口 ens33,命令为:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
sudo ip addr add 192.168.152.130/24 dev ens33

使用以下命令语法从接口中删除 IP 地址:

ip addr del [ip-address] dev [interface]

比如要从接口ens33中删除 IP 地址 192.168.152.130/24,命令为:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
sudo ip addr del 192.168.152.130/24 dev ens33

在 Linux 上查看路由表

ip route命令用于查看和修改Linux系统中的路由。要显示系统的路由表,请使用不带任何选项的 ip route 命令:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
ip route

输出中的每一行代表一个配置的路由。路由由目标网络地址、下一跳(即路由器的 IP 地址)、发送数据包的接口和度量(当有多个路由时用于确定首选路由的值可到达目的地)。在这种情况下,具有较低度量的路由是首选。

在上面的示例中,前两个条目表示默认路由,当没有其他路由可用于目标地址时使用默认路由。192.168.174.2 是路由器的 IP 地址。dev ens33 指示将用于将数据包发送到路由器的接口。proto dhcp字段表示默认路由是从 DHCP 获悉的。

第二个条目表示 APIPA 地址(自动专用 IP 寻址)169.254.0.0/16。当主机无法从DHCP 服务器获取 IP 地址时,它会从该网络中为自己分配一个随机 IP 地址。它允许它们与子网中也未能获得 IP 地址的其他主机通信。

src字段表示通过该路由发送数据包时用作源地址的接口的IP 地址。

使用ip修改路由表

要手动添加路由,请使用 ip route 命令,后跟目标网络地址和网关 IP:

sudo ip route add [network-id] via [gateway-ip]

例如,要添加一条路由,将发往 192.168.30.0 网络的所有流量发送到 192.168.174.2 的网关,您可以使用以下命令:

sudo ip route add 192.168.30.0/24 via 192.168.174.2

使用以下命令添加默认路由:

sudo ip route add default via [ip-address] dev [interface]

例如,要添加通过 ens33 将流量定向到路由器 192.168.30.1 的默认路由,命令为:

sudo ip route add default via 192.168.30.1 dev ens33
ip route get [ip-address]

要删除路由表条目,请使用以下语法:

sudo ip route delete [network-address] via [gateway-ip]

您还可以使用以下语法查看地址将采用的路由:

ip route get [ip-address]

在 Linux 上管理邻居表

在 Linux 中可以使用ip neigh命令来查看和修改邻居表,也就是 ARP 表。要查看当前邻居表条目,请使用以下命令:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
ip neigh show

要在邻居表中添加新条目,请使用以下语法:

sudo ip neigh add [ip-address] lladdr [mac-address] dev [interface]

要从邻居表中删除条目,请使用以下语法:

sudo ip neigh del [ip-address] dev [interface]

为 ip 命令的输出添加颜色

为了使输出更容易和更快地理解,您可以使用-c选项为 ip 命令输出添加颜色:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
ip -c a

在 Linux 上管理网络和 IP 地址

Linux 中的 ip 命令是用于管理和排除网络连接故障的有用工具。从查看网络接口和修改链接属性到查找 IP 地址和管理路由,ip 命令可让您通过命令行执行多项系统管理任务。

责任编辑:赵宁宁 来源: Linux迷
相关推荐

2018-06-26 09:15:24

Linux命令history

2018-05-16 10:32:06

Linux命令find

2022-11-18 10:16:26

Linuxwc 命令

2022-10-25 09:07:28

Linuxxargs命令

2023-09-14 15:05:33

grep正则表达式

2020-09-11 07:50:37

nmcli命令行网络连接

2021-01-13 09:40:26

Linuxexport命令

2019-09-16 19:00:48

Linux变量

2018-04-28 09:12:42

Linux

2021-07-20 10:00:28

Linuxgrep命令

2022-05-25 08:41:48

Linuxfd 命令文件

2021-07-13 07:52:02

Linuxgrep命令

2010-03-22 21:06:35

2022-11-23 08:14:42

bash 脚本test 命令

2019-03-11 08:00:00

区块链区块链技术管理网络

2022-03-30 09:32:32

BashtestLinux

2022-11-21 12:06:24

fgrep命令Linux

2023-01-09 10:29:41

mv命令Linux

2020-06-03 09:00:20

firewall-cm网络服务系统运维

2018-10-09 08:30:55

UbuntuLinuxRAR文件
点赞
收藏

51CTO技术栈公众号