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 addr show 命令列出所有网络接口和分配的 IP 地址。
例如:
ip addr show
要仅显示 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 地址
使用 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 link show 命令显示所有网络接口的信息。
$ ip link show
要显示有关特定设备的信息,请使用以下语法。
$ ip link show dev [Device Name]
例如,要显示有关 ens33 的网络信息,您可以使用以下命令。
$ ip link show dev 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 route ip route list
上面显示的输出是内核中的所有路由条目。 要缩小范围,请按如下方式添加 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
显示邻居/arp 缓存
要显示邻居/arp 缓存,请使用以下命令。
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 命令的手册页.
感谢您的阅读,请提供您的反馈和建议。