如何在 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 发行版和网络管理器而异。在更改网络配置时务必谨慎,因为错误的设置可能会中断网络连接。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP