#06 Linux操作系统全面分析【ARM9教程】
目录:
- 如何使用ip命令
- 显示和修改IP地址
- 显示有关所有IP地址的信息
- 显示有关单个网络接口的信息
- 为接口分配IP地址
- 将多个IP地址分配给同一接口
- 从接口删除/删除IP地址
- 显示和修改网络接口
- 显示有关网络接口的信息
- 更改接口状态UP / DOWN
- 显示和更改路由表
- 显示路由表
- 新增路线
- 删除路线
- 结论
ip
命令是配置任何Linux系统管理员都应该知道的网络接口的强大工具。 它可用于打开或关闭接口,分配和删除地址以及路由管理ARP缓存等。
在本教程中,我们将通过实际示例和最常见选项的详细说明向您展示如何使用
ip
命令。
如何使用ip命令
ip
实用程序是iproute2软件包的一部分,该软件包已安装在所有现代Linux发行版中。
ip
命令的语法如下:
ip OBJECT COMMAND

OBJECT是您要管理的对象类型。 最常用的对象(或子命令)是:
-
link(l)-显示和修改网络接口。address(a)-显示和修改IP地址。route(r)-显示和更改路由表。neigh(n)-显示和操作邻居对象(ARP表)。
可以用完整或缩写(简短)形式编写对象。 要显示每个对象的命令和参数列表,请输入
ip OBJECT help
。 每个子命令
配置网络接口时,必须以root或具有sudo特权的用户身份执行命令。 否则,该命令将打印
RTNETLINK answers: Operation not permitted
使用
ip
命令设置的配置不是持久性的。 系统重新启动后,所有更改都将丢失。 对于永久设置,您需要编辑特定于发行版的配置文件或将命令添加到启动脚本中。
显示和修改IP地址
使用
addr
对象操作时,命令采用以下形式:
ip addr ADDRESS dev IFNAME
addr
对象最常用的命令是:
show
,
add
和
del
。
显示有关所有IP地址的信息
要显示所有网络接口和关联的IP地址的列表,请键入以下命令:
ip addr show
输出将如下所示:
1: lo: 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: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever
1: lo: 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: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever
1: lo: 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: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever
如果键入o省略
show
命令并输入:
ip addr
则将获得相同的输出。
显示有关单个网络接口的信息
要获取有关特定网络接口的信息,请使用
ip addr show dev
后的设备名称。 例如,要查询
eth0
,您可以输入:
为接口分配IP地址
要将IP地址分配给接口,请使用以下语法:
ip addr add ADDRESS dev IFNAME
其中
IFNAME
是接口名称,而
ADDRESS
是要分配给接口的IP地址。
要将带有网络掩码24的地址
192.168.121.45
添加到设备
eth0
请输入:
sudo ip address add 192.168.121.45/24 dev eth0
成功后,该命令将不会显示任何输出。 如果该接口不存在,您将得到
Cannot find device "eth0"
。
将多个IP地址分配给同一接口
使用
ip
,您可以将多个地址分配给同一接口。 例如:
sudo ip address add 192.168.121.241/24 dev eth0
sudo ip address add 192.168.121.45/24 dev eth0
要确认已为IP分配类型
ip -4 addr show dev eth0
或
ip -4 a show dev eth0
:
2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 3515sec preferred_lft 3515sec inet 192.168.121.45/24 scope global secondary eth0 valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 3515sec preferred_lft 3515sec inet 192.168.121.45/24 scope global secondary eth0 valid_lft forever preferred_lft forever
从接口删除/删除IP地址
从接口删除IP地址的语法如下:
ip addr dev ADDRESS dev IFNAME
IFNAME是接口名称,而ADDRESS是要从接口中删除的IP地址。
要从设备eth0删除地址
192.168.121.45/24
,请输入:
sudo ip address del 192.168.121.45/24 dev eth0
显示和修改网络接口
要管理和查看网络接口的状态,请使用
link
对象。
使用
link
对象时,最常用的命令是:
show
,
set
,
add
和
del
。
显示有关网络接口的信息
要显示所有网络接口的列表,请键入以下命令:
ip link show
1: lo: 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: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
1: lo: 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: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
1: lo: 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: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
与
ip addr show
不同,
ip link show
不会打印有关与设备关联的IP地址的信息。
要获取有关特定网络接口的信息,请使用
ip link show dev
后跟设备名称。 例如,要查询
eth0
您可以输入:
ip link show dev eth0
2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
更改接口状态UP / DOWN
要打开或关闭接口,请使用
ip link set dev
后跟设备名称和所需的状态:
ip link set dev {DEVICE} up
例如,要使接口
eth0
联机,您可以输入:
ip link set eth0 up
并带来如果离线
显示和更改路由表
要分配,删除和显示内核路由表,请使用
route
对象。 使用route对象时,最常用的命令是:
list
,
add
和
del
。
显示路由表
要获取内核路由条目的列表,请使用以下命令之一:
ip route ip route list ip route list SELECTOR
在不使用
SELECTOR
的情况下使用时,该命令将列出内核中的所有路由条目:
ip route list
default via 192.168.121.1 dev eth0 proto dhcp src 192.168.121.241 metric 100 192.168.121.0/24 dev eth0 proto kernel scope link src 192.168.121.241 192.168.121.1 dev eth0 proto dhcp scope link src 192.168.121.241 metric 100
要仅显示特定网络的路由,例如
172.17.0.0/16
请输入:
ip r list 172.17.0.0/16
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
新增路线
要将新条目添加到路由表中,请使用
route add
命令,后跟网络或设备名称。
通过网关192.168.121.1将路由添加到192.168.121.0/24
ip route add 192.168.121.0/24 via 192.168.121.1
在设备eth0上添加一条到192.168.121.0/24的路由。
ip route add 192.168.121.0/24 dev eth0
要添加默认路由,请使用关键字
default
。 以下命令将通过本地网关
192.168.121.1
添加一条默认路由,该默认路由可在设备
eth0
。
ip route add default via 192.168.121.1 dev eth0
删除路线
要从路由表中删除条目,请使用
route add
命令。删除路由的语法与
route add
时的语法相同。
以下命令将删除默认路由:
ip route del default
通过网关192.168.121.1删除192.168.121.0/24的路由
ip route add 192.168.121.0/24 via 192.168.121.1
结论
到目前为止,您应该对如何使用Linux
ip
命令有一个很好的了解。 有关其他
ip
选项的更多信息,请访问ip命令手册页或在终端中键入
man ip
。







