安卓系统

带有示例的Linux ip命令

#06 Linux操作系统全面分析【ARM9教程】

#06 Linux操作系统全面分析【ARM9教程】

目录:

Anonim

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

并带来如果离线

ip link set eth0 down

显示和更改路由表

要分配,删除和显示内核路由表,请使用 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

ip终端