Linux ip命令与示例

linux

ip命令是每个Linux系统管理员熟知的网络接口配置的超级工具。它可用于使接口关闭与开启,分配和删除地址以及ARP路由缓存管理等等。

在本教程中,我们将通过实际示例和最常见的ip选项的详细向您展示如何使用ip命令。包括显示和修改IP地址,显示所有IP地址的信息,显示单个网络接口的信息,为接口分配IP地址,为同一接口分配多个IP地址,从接口中删除IP地址,显示和修改网络接口,更改接口UP(启用)/DOWN(关闭)的状态,显示和更改路由表,删除路由路线。

如何使用ip命令

ip命令已安装在所有现代Linux发行版上,它是iproute2软件包的一部分。

ip命令的语法如下:

ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT是您要管理的对象类型。最常用的对象是:

  • linkl) - 显示和修改网络接口信息。
  • addressa) - 显示和修改IP地址信息。
  • router) - 显示和更改路由表信息。
  • neighn) - 显示和操作邻居对象(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,您将获得相同的输出。如果您只想显示IPv4IPv6IP地址使用ip -4 addrip -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 eth0ip -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工作时,最常用的命令对象是showsetadddel

显示网络接口相关的信息

要显示所有网络接口的列表,请键入以下命令:

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 showip 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对象时最常用的命令是listadddel

显示路由表

使用以下命令之一列出内核路由条目:

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 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

回到顶部