Linux ip命令示例

ip 命令是配置任何Linux系统管理员都应该知道的网络接口的强大工具。 它用于打开或关闭接口,分配和删除地址和路由,管理ARP缓存等。

本文通过实际示例和最常见选项的详细说明,说明了如何使用ip命令。

如何使用ip命令

ip 该实用程序是iproute2软件包的一部分,该软件包已安装在所有现代Linux发行版中。

的语法 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 对象是: showadddel

显示有关所有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

如果键入o,您将获得相同的输出。 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 -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地址。

删除地址 192.168.121.45/24 从设备eth0输入:

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 目的。 使用路由对象时,最常用的命令是: 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 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 在您的终端中。

如果您有任何疑问或反馈,请随时发表评论。

ip终端

Sidebar