如何在Linux中使用IP命令并举例?
IP命令是Linux中网络配置的强大工具。它用于显示、操作路由、设备、策略路由和隧道。 IP 命令是 iproute2 软件包的一部分,大多数 Linux 发行版中默认安装该软件包。本文将引导您了解 IP 命令的基础知识,并提供示例来帮助您了解其用法。
显示IP地址
要显示所有网络接口的 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
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:15:64:b3 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic eth0
valid_lft 86378sec preferred_lft 86378sec
添加 IP 地址
要将 IP 地址添加到网络接口,请使用以下命令:
sudo ip addr add 192.168.1.100/24 dev eth0
此命令将 IP 地址 192.168.1.100 添加到网络接口 eth0。 IP地址末尾的/24是子网掩码。
删除IP地址
要从网络接口删除 IP 地址,请使用以下命令 -
sudo ip addr del 192.168.1.100/24 dev eth0
此命令从网络接口 eth0 中删除 IP 地址 192.168.1.100。
显示路由表
要显示路由表,请使用以下命令 -
例子
ip route show
输出
default via 192.168.1.1 dev eth0 proto static
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10
添加路线
要添加路由,请使用以下命令 -
sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
此命令通过网络接口 eth0 上的网关 192.168.1.1 添加一条到网络 192.168.2.0/24 的路由。
删除路线
要删除路由,请使用以下命令 -
sudo ip route del 192.168.2.0/24
该命令删除到网络 192.168.2.0/24 的路由。
显示网络接口的统计信息
ip -s link 命令显示网络接口的统计信息 -
例子
ip −s link
输出
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
RX: bytes packets errors dropped overrun mcast
166114 1982 0 0 0 0
TX: bytes packets errors dropped carrier collsns
166114 1982 0 0 0 0
显示相邻对象
ip neigh命令显示邻居对象;本质上,它显示了 ARP 表 -
例子
ip neigh
输出
192.168.1.1 dev eth0 lladdr 00:14:bf:b1:cb:31 REACHABLE
添加邻居
要添加邻居,请使用以下命令 -
sudo ip neigh add 192.168.1.101 lladdr 1:2:3:4:5:6 dev eth0
此命令将 IP 地址为 192.168.1.101 和 MAC 地址为 1:2:3:4:5:6 的邻居添加到网络接口 eth0。
删除邻居
要删除邻居,请使用以下命令 -
sudo ip neigh del 192.168.1.101 dev eth0
此命令从网络接口 eth0 中删除 IP 地址为 192.168.1.101 的邻居。
显示组播信息
ip maddr 命令显示多播地址 -
例子
ip maddr
输出
1: lo
inet 224.0.0.1
inet6 ff02::1
2: eth0
inet 224.0.0.251
inet 224.0.0.1
inet6 ff02::1:ff00:1
inet6 ff02::1
显示网络接口
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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:15:64:b3 brd ff:ff:ff:ff:ff:ff
更改网络接口的状态
要更改网络接口的状态,请使用以下命令 -
sudo ip link set eth0 down
sudo ip link set eth0 up
第一个命令关闭网络接口 eth0,第二个命令将其恢复。
更改网络接口的 MTU
要更改网络接口的最大传输单元(MTU),请使用以下命令 -
sudo ip link set eth0 mtu 1400
此命令将网络接口 eth0 的 MTU 设置为 1400。
显示 TCP 和 UDP 套接字
ip -s -s -t tcp show 和 ip -s -s -t udp show 命令分别显示 TCP 和 UDP 套接字 -
例子
ip −s −s −t tcp show
ip −s −s −t udp show
输出
输出看起来像这样 -
TCP: inuse 23 orphan 0 tw 10 alloc 25 mem 6
TCP: inuse 23 orphan 0 tw 10 alloc 25 mem 6
显示网络命名空间
ip netns 命令用于管理网络命名空间。要显示网络命名空间列表,请使用以下命令 -
ip netns
如果您尚未创建任何网络命名空间,则此命令将不会返回任何输出。
添加网络命名空间
要添加网络命名空间,请使用以下命令 -
sudo ip netns add mynamespace
此命令创建一个名为“mynamespace”的新网络命名空间。
删除网络命名空间
要删除网络命名空间,请使用以下命令 -
sudo ip netns del mynamespace
此命令删除名为“mynamespace”的网络命名空间。
显示网络命名空间的 IP 地址
要显示网络命名空间的 IP 地址,请使用以下命令 -
sudo ip netns exec mynamespace ip addr
此命令显示名为“mynamespace”的网络命名空间的 IP 地址。
显示网络命名空间的路由表
要显示网络命名空间的路由表,请使用以下命令 -
sudo ip netns exec mynamespace ip route
保存到 grepper
此命令显示名为“mynamespace”的网络命名空间的路由表。
这些只是 Linux 中 ip 命令可用的许多命令和选项的几个示例。与往常一样,您可以参考手册页 (man ip) 以获取更多详细信息。
结论
Linux 中的 IP 命令是用于管理网络接口和路由的多功能工具。本文提供的示例只是基础知识。 IP 命令具有更多选项和功能。有关更多详细信息,您可以随时通过在终端中输入 man ip 来参考手册页。
请记住,使用 IP 命令所做的更改在重新启动后不会持久。要进行持久更改,您需要编辑网络配置文件,该文件根据您的 Linux 发行版和网络管理器而有所不同。更改网络配置时请务必小心,因为不正确的设置可能会中断网络连接。