带有使用示例的 Linux IP 命令

IP 命令是 iproute 包的一部分,默认情况下安装在现代 Linux 发行版中。 在 Linux 中,IP 命令用于管理和显示网络接口、IP 地址、IP 路由表和 IP 邻居条目。 它通常用于为网络接口分配 IP 地址并配置网络接口设置。

在本教程中,我们将学习 Linux IP 命令 带有使用示例。

如何使用Linux IP命令

以下是 IP 命令的语法。

$ ip [ OPTIONS ] OBJECT { COMMAND | help }
$ ip help

OBJECT 是您要管理的对象类型,其中包括:

  1. link (l):显示和修改网络接口。
  2. address (a):显示和修改 IP 地址。
  3. route (r):它显示和更改路由表。
  4. neigh (n):显示和修改ARP表。

您可以使用完整形式或简短形式来执行命令。 例如,使用 ip addr 或者 ip address 将显示相同的输出。

1. 显示和管理 IP 地址

ip addr 命令允许您在 Linux 系统中显示、分配、删除 IP 地址。 ip addr 对象使用以下语法。

ip addr [ COMMAND ] ADDRESS dev IFNAME

使用 help 命令可以找到有关地址命令的更多信息。

ip addr help
IP地址帮助命令

显示所有网络接口的列表

ip addr show 命令列出所有网络接口和分配的 IP 地址。

例如:

ip addr show
IP地址显示命令

要仅显示 IPv4 或 IPv6 的输出,请使用以下命令。

To display IPv4 ip address ip -4 addr  To display IPv6 ip address ip -6 addr

显示有关特定网络接口的信息

要显示有关特定接口的信息,请使用以下语法。

ip addr show dev [Device Name]

例如,要显示有关 ens33 的信息,请键入以下内容。

ip addr show dev ens33
IP 地址显示设备 ens33

为接口分配 IP 地址

使用 ip addr add 命令为接口分配 IP 地址。

句法:

ip addr add [ ADDRESS ] dev [Interface Name]

这 [ ADDRESS ] 是您要分配给 [Interface Name].

例如,要将地址 192.168.239.140 和子网掩码 24 添加到设备 ens33:

ip addr add 192.168.239.140/24 dev ens33

如果IP地址添加到设备或显示错误,则不显示任何输出。

为一个接口添加多个IP地址

要为一个接口添加多个 IP 地址,您需要多次使用与上述相同的命令。

例如,要将具有子网掩码 24 的地址 192.168.239.140 和 192.168.239.135 添加到设备 ens33,请键入以下内容。

ip addr add 192.168.239.140/24 dev ens33 ip addr add 192.168.239.135/24 dev ens33

从接口删除IP地址

要从接口删除 IP 地址,请使用以下语法。

ip addr del [ ADDRESS ] dev [ Interface Name ]

例如,要从设备 ens33 中删除子网掩码为 24 的地址 192.168.30.12,请键入以下内容。

ip addr del 192.168.239.140/24 dev ens33

如果从设备中删除 IP 地址或显示错误,则不会显示任何输出。

2. 显示和管理网络接口

ip link 命令用于管理和显示所有网络接口的状态。 您可以设置 TCP/IP 堆栈网络接口值,例如 txqueuelen、interface up/down 和 MTU。 我们可以用 ip link set 为此命令。

要显示链接对象命令列表,您可以使用 help 命令,如下所示。

$ ip link help
IP链接帮助命令

获取网络接口信息

ip link show 命令显示所有网络接口的信息。

$ ip link show
IP 链接显示命令

要显示有关特定设备的信息,请使用以下语法。

$ ip link show dev [Device Name]

例如,要显示有关 ens33 的网络信息,您可以使用以下命令。

$ ip link show dev ens33
IP链接显示设备ens33

设置接口状态为UP或DOWN

要向上或向下设置接口,请使用以下语法。

ip link set dev [ Device Name ] [ up/down ]

例如,要使 ens33 联机,请使用以下命令。

ip link set dev ens33 up

如果打开设备或显示错误,则不显示任何输出。

同样,要关闭 ens33,请使用以下命令。

ip link set dev ens33 down

如果设备关闭或显示错误,则不显示任何输出。

更改设备的 txqueuelen

要更改设备的传输队列,请使用以下语法。

ip link set txqueuelen [ Number ] dev [ Interface Name ]

例如,要设置ens33设备的传输队列5,使用以下命令。

ip link set txqueuelen 5 dev ens33

如果设置了传输队列或显示错误,则不显示输出。

更改 MTU

要更改 MTU(最大传输单位),请使用以下语法。

ip link set mtu [ Number ] dev [ Interface Name ]

例如设置ens33设备的MTU为1400,使用如下命令。

ip link set mtu 1400 dev ens33

如果 MTU 更改,则不显示任何输出;如果设备名称不存在或 MTU 设置小于设备最小值,则显示错误。

更改 MAC 地址

要更改设备的 MAC 地址,请使用以下语法。

ip link set dev [ Device Name ] address [ MAC ADDRESS ]

删除虚拟接口

您可以使用 ip link delete 命令删除虚拟接口。 例如

ip link delete vip

这将删除名为 vip 的虚拟接口。

添加网桥和虚拟接口

ip link add 允许添加网桥、虚拟机和 vlan。

句法:

ip link add [ link DEVICE ] type TYPE [ ARGS ]
TYPE := [ bridge | can | dummy | ifb | ipoib | macvlan | vcan | veth | vlan | vxlan | ip6tnl | ipip | sit | gre | gretap | ip6gre | ip6gretap ]

例如:

ip link add br0 type bridge

这将创建一个名为 br0 的网桥。

3. 显示和管理 IP 路由表

路由对象用于显示和管理 IP 路由表。

要显示 IP 路由命令列表,请使用如下帮助命令。

ip route help
IP路由帮助命令

显示路由表

要获取所有路由条目的列表,请使用以下任一命令。

ip route ip route list
IP路由列表命令

上面显示的输出是内核中的所有路由条目。 要缩小范围,请按如下方式添加 SELECTOR 对象。

ip route list SELECTOR

要显示特定网络的路由,请使用以下语法。

ip route list [ IP ADDRESS ]

添加新路线

要将新路由添加到路由表,请使用以下语法。

ip route add [ IP ADDRESS ] dev [ Interface Name ]

您可以使用以下语法通过网关添加新路由。

ip route add [ IP ADDRESS ] via [ Gateway ]

例如,要通过网关 192.168.239.1 添加新路由 192.168.239.0/24,请使用以下命令。

ip route add 132.168.239.0/24 via 192.168.239.1

删除路由

要删除路由表中的现有条目,请使用以下语法。

ip route del [ IP ADDRESS ]

要删除默认路由,请使用以下命令。

ip route del default

您可以使用以下语法通过网关删除路由。

ip route del [ IP ADDRESS ] dev [ Interface Name ]

4. 显示和修改 IP 邻居条目

要显示和修改 IP 邻居条目,需要使用 neigh 对象。 要显示所有 neigh 命令的列表,请使用 help 命令,如下所示。

ip neigh help
IP 邻居帮助命令

显示邻居/arp 缓存

要显示邻居/arp 缓存,请使用以下命令。

ip neigh show
IP neigh show 命令

添加 ARP 条目

要添加 ARP 条目,请使用以下语法。

ip neigh add [ IP ADDRESS ] dev [ Interface Name ]

例如,要将 192.168.239.140 添加到设备 ens33,请使用以下命令。

ip neigh add 192.168.239.140 dev ens33

删除ARP表项

要添加 ARP 条目,请使用以下语法。

ip neigh del [ IP ADDRESS ] dev [ Interface Name ]

例如,要从设备 ens33 中删除 192.168.239.140,请使用以下命令。

ip neigh del 192.168.239.140 dev ens33

刷新ARP表项

flush 或 f 命令刷新 ARP 条目。 要刷新 ARP 条目,请使用以下语法。

ip -s -s n flush [ IP ADDRESS ]

例如,要刷新 192.168.239.140 的 arp 条目,请使用以下命令。

ip -s -s n flush 192.168.239.140

结论

在本教程中,我们介绍了 Linux IP 命令及其用法示例。 有关更多信息,您可以找到 ip 命令的手册页.

感谢您的阅读,请提供您的反馈和建议。