Linux ip命令与示例
ip命令是每个Linux系统管理员熟知的网络接口配置的超级工具。它可用于使接口关闭与开启,分配和删除地址以及ARP路由缓存管理等等。
在本教程中,我们将通过实际示例和最常见的ip选项的详细向您展示如何使用ip命令。包括显示和修改IP地址,显示所有IP地址的信息,显示单个网络接口的信息,为接口分配IP地址,为同一接口分配多个IP地址,从接口中删除IP地址,显示和修改网络接口,更改接口UP(启用)/DOWN(关闭)的状态,显示和更改路由表,删除路由路线。
如何使用ip命令
ip命令已安装在所有现代Linux发行版上,它是iproute2软件包的一部分。
ip命令的语法如下:
ip [ OPTIONS ] OBJECT { COMMAND | help }
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 [ COMMAND ] ADDRESS dev IFNAME
最常用的addr
对象命令是show,add和del。
显示所有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 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
show
命令列出所有接口设备。如果输入ip addr
,您将获得相同的输出。如果您只想显示IPv4
或IPv6
IP地址使用ip -4 addr
或ip -6 addr
。
显示单个网络接口的信息
获取有关特定网络接口的信息,使用ip addr show dev
命令后接设备名称。例如,要查询eth0
您将键入:
ip addr show dev eth0
为接口分配IP地址
要为接口分配IP地址,请使用以下语法:
ip addr add ADDRESS dev IFNAME
其中IFNAME是接口名称,ADDRESS是您要分配给接口的IP地址。要将192.168.121.45
子网掩码24的地址添加到设备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 eth0sudo ip address add 192.168.121.45/24 dev eth0
要确认IP已分配IP地址ip -4 addr show dev eth0
或ip -4 a show dev eth0
:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> 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: <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 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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|down}
例如,要使接口eth0联机,您可以键入:
ip link set eth0 up
如果需要关闭:
ip link set eth0 down
显示和更改路由表
要分配,删除和显示内核路由表,请使用route
对象。使用routes对象时最常用的命令是list
,add
和del
。
显示路由表
使用以下命令之一列出内核路由条目:
ip routeip 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 del
命令,删除路由的语法与添加时相同。以下命令将删除默认路由:
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命令手册页。如果您有任何问题或反馈,请随时发表评论。
以上是 Linux ip命令与示例 的全部内容, 来源链接: utcz.com/z/506993.html