IP 命令是 iproute 包的一部分,默认情况下安装在现代 Linux 发行版中。 在 Linux 中,IP 命令用于管理和显示网络接口、IP 地址、IP 路由表和 IP 邻居条目。 它通常用于为网络接口分配 IP 地址并配置网络接口设置。
在本教程中,我们将学习 Linux IP 命令 带有使用示例。
如何使用Linux IP命令
以下是 IP 命令的语法。
$ ip [ OPTIONS ] OBJECT { COMMAND | help }
$ ip help
OBJECT 是您要管理的对象类型,其中包括:
- link (l):显示和修改网络接口。
- address (a):显示和修改 IP 地址。
- route (r):它显示和更改路由表。
- 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地址帮助命令](/wp-content/uploads/2022/06/1634824391.png)
显示所有网络接口的列表
ip addr show 命令列出所有网络接口和分配的 IP 地址。
例如:
ip addr show
![IP地址显示命令](/wp-content/uploads/2022/06/1634824393.png)
要仅显示 IPv4 或 IPv6 的输出,请使用以下命令。
To display IPv4 ip addressip -4 addr
To display IPv6 ip addressip -6 addr
显示有关特定网络接口的信息
要显示有关特定接口的信息,请使用以下语法。
ip addr show dev [Device Name]
例如,要显示有关 ens33 的信息,请键入以下内容。
ip addr show dev ens33
![IP 地址显示设备 ens33](/wp-content/uploads/2022/06/1634824394.png)
为接口分配 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链接帮助命令](/wp-content/uploads/2022/06/1634824395.png)
获取网络接口信息
ip link show 命令显示所有网络接口的信息。
$ ip link show
![IP 链接显示命令](/wp-content/uploads/2022/06/1634824397.png)
要显示有关特定设备的信息,请使用以下语法。
$ ip link show dev [Device Name]
例如,要显示有关 ens33 的网络信息,您可以使用以下命令。
$ ip link show dev ens33
![IP链接显示设备ens33](/wp-content/uploads/2022/06/1634824398.png)
设置接口状态为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路由帮助命令](/wp-content/uploads/2022/06/1634824399.png)
显示路由表
要获取所有路由条目的列表,请使用以下任一命令。
ip route ip route list
![IP路由列表命令](/wp-content/uploads/2022/06/1634824401.png)
上面显示的输出是内核中的所有路由条目。 要缩小范围,请按如下方式添加 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 邻居帮助命令](/wp-content/uploads/2022/06/1634824402.png)
显示邻居/arp 缓存
要显示邻居/arp 缓存,请使用以下命令。
ip neigh show
![IP neigh show 命令](/wp-content/uploads/2022/06/1634824403.png)
添加 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 命令的手册页.
感谢您的阅读,请提供您的反馈和建议。