Linux ip
command 是一个命令行实用程序,用于显示/更新 IP 地址、内核路由表、网络设备、接口和隧道。 此命令是 iproute2 包裹。 在…的帮助下 ip
命令,系统管理员为网络接口分配地址和/或在接口上配置网络参数。
IP(互联网协议)地址是分配给计算机网络接口的数字标签,允许系统通过互联网进行通信。 在计算机网络中,一个系统通过其 IP 地址与另一个系统进行通信。
较旧的操作系统使用 ifconfig
. 这也是一个强大的命令,在较新的 Linux 系统上已弃用,取而代之的是 ip
命令。 但是,您也可以使用 ifconfig
通过安装 net-tools 包在现代操作系统/发行版上命令..
在本教程中,您将了解 Linux ip 命令 用有用的例子。
如何使用 ip 命令
现代 Linux 系统提供 iproute2
包,它替换了 net-tools 包提供的各种命令。 此外,ip 命令属于这个软件包,具有很好的功能。
句法:
ip 命令使用以下语法:
ip [ OPTIONS ] OBJECT { COMMAND | help }
请记住,使用此命令创建的配置(如 IP 地址、路由和策略路由规则(等等))不是持久性的。 进行永久更改,您需要为您的平台/操作系统编辑适当的配置。
得到帮助
只需在 ip 命令后键入“help”即可查看命令使用详细信息。
ip help
Output: Usage: ip [ OPTIONS ] OBJECT { COMMAND | help } ip [ -force ] -batch filename where OBJECT := { link | address | addrlabel | route | rule | neigh | ntable | tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm | netns | l2tp | fou | macsec | tcp_metrics | token | netconf | ila | vrf | sr | nexthop } OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] | -h[uman-readable] | -iec | -j[son] | -p[retty] | -f[amily] { inet | inet6 | mpls | bridge | link } | -4 | -6 | -I | -D | -M | -B | -0 | -l[oops] { maximum-addr-flush-attempts } | -br[ief] | -o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] | -rc[vbuf] [size] | -n[etns] name | -N[umeric] | -a[ll] | -c[olor]}
此外,使用 help 命令可以获取特定于对象的帮助,例如:
ip addr help
同样,尝试下面的命令来获取路由对象子命令的帮助。
ip route help
尝试对其他对象使用 help 命令以获取帮助。
接下来,您将了解 ip 命令的使用。 出于学习目的,请使用物理可访问的系统。 换句话说,任何错误的命令都可能导致网络接口中断,您可能会与远程系统断开连接。 但是,物理系统仍然可以访问。
查看和管理网络接口
用 link
子命令 ip
命令来管理和显示所有网络接口的状态。 网络接口的名称可能因 Linux 发行版和硬件平台等而异。
-
查看所有可用的网络接口
这
ip link
default 命令显示所有接口的详细信息。ip link
[OR]ip link show
Output: 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 6e:dc:96:05:82:a8 brd ff:ff:ff:ff:ff:ff
-
查看特定的网络接口
定义网络接口名称以查看有关特定接口的信息。
ip link show eth0
Output: 2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 6e:dc:96:05:82:a8 brd ff:ff:ff:ff:ff:ff
-
查看网络接口的静态信息
用
-s
查看网络接口静态的选项。 它显示有关在该接口上发送和接收的数据包和数据的所有详细信息。ip -s link show eth0
Output: 2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 6e:dc:96:05:82:a8 brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 5746680521 36516527 0 0 0 0 TX: bytes packets errors dropped carrier collsns 33339856329 33119340 0 0 0 0
删除接口名称 (eth0) 以查看所有可用网络接口的静态信息。
-
开启和关闭网络接口
使用
ip link set
命令来改变网络接口状态。 这里up
用于使网络接口联机。ip link set eth0 up
用
down
使网络接口脱机的选项ip link set eth0 down
注意:在使用远程系统时,不要关闭界面。 它可能会断开您的系统与网络的连接。
在网络接口上显示和添加 IP 地址
这 ip addr
子命令用于显示网络接口上配置的IP地址。 您还可以使用相同的命令在网络接口上设置 IP 地址。
-
显示所有接口的 IP 地址
默认的
ip addr
子命令显示所有接口上的 IP 地址详细信息。 您还可以包括show
是可选的,同时查看所有网络接口的 IP 详细信息。ip addr
[OR]ip addr show
Output: 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 inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 6e:dc:96:05:82:a8 brd ff:ff:ff:ff:ff:ff inet 192.168.10.110/24 brd 192.168.10.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::6cdc:96ff:fe05:82a8/64 scope link valid_lft forever preferred_lft forever
也可以只显示
IPv4
或者IPv6
使用 IP 地址ip -4 addr
或者ip -6 addr
命令。 -
显示单个接口的 IP 地址:
指定接口名称
ip addr show
子命令来显示特定接口的 IP 地址。例如查看eth0网络接口上的IP地址:
ip addr show dev eth0
Output: 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 6e:dc:96:05:82:a8 brd ff:ff:ff:ff:ff:ff inet 192.168.10.110/24 brd 192.168.10.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::6cdc:96ff:fe05:82a8/64 scope link valid_lft forever preferred_lft forever
-
分配接口的IP地址:
这
ip addr add
子命令用于在网络接口上添加地址。 下面的命令将分配IP地址192.168.10.100
带网络掩码24
在 eth0 网络接口。ip addr add 192.168.10.100/24 dev eth0
-
分配一个接口的多个IP地址:
此外,您可以为单个接口分配更多 IP 地址。 使用与 abvoe 相同的命令在单个网络接口上分配多个 IP 地址。 例如:
ip addr add 192.168.10.100/24 dev eth0
ip addr add 192.168.10.105/24 dev eth0
-
从接口中删除 IP 地址:
如果您认为不再需要 IP 地址或错误添加,可以从界面中删除。 使用
ip addr del
从任何网络接口删除 IP 地址的子命令。例如,使用以下命令删除IP地址
192.168.10.105
来自 eth0 接口的 24 个子网掩码ip addr del 192.168.10.105/24 dev eth0
显示和更改路由表
这 ip
命令还为您提供查看或更改任何网络接口的路由表的选项。
用 ip route
使用路由表的子命令。
-
列出内核路由表
默认情况下
ip route
命令列出内核中的所有路由条目。 你也可以加前缀show
查看相同结果的选项。ip route
Output: default via 192.168.10.1 dev eth0 proto static 192.168.10.0/24 dev eth0 proto kernel scope link src 192.168.10.1
以上结果表明
192.168.10.1
是内核通过 eth0 网络接口使用的默认网关。 -
向路由表添加条目
- 通过可在设备 eth0 上访问的本地网关 192.168.10.1 添加默认路由(适用于所有地址)
ip route add default via 192.168.10.1 dev eth0
- 通过 192.168.10.1 的网关添加到 192.168.10.0/24 的路由
ip route add 192.168.10.0/24 via 192.168.10.1
- 添加到 192.168.10.0/24 的路由,可以在设备 eth0 上到达
ip route add 192.168.10.0/24 dev eth0
- 通过可在设备 eth0 上访问的本地网关 192.168.10.1 添加默认路由(适用于所有地址)
-
删除路由表条目
使用以下命令删除 192.168.10.0/24 通过网关 192.168.10.1 的路由
ip route delete 192.168.10.0/24 via 192.168.10.1
-
替换或添加(如果未定义)路由
替换为 192.168.10.0/24 定义的现有路由以使用设备 eth0
ip route replace 192.168.10.0/24 dev em1
-
显示地址将采用的路线
此命令在网络故障排除过程中非常有用。 换句话说,您可以找到系统用于到达定义的目标 IP 地址的路由。
ip route get 8.8.8.8
Output: 8.8.8.8 via 192.168.10.1 dev eth0 src 192.168.10.108 uid 0
结论
总之,您已经了解了 Linux ip
命令与有用的例子。 这里我们描述,如何在 Linux 系统上管理网络接口。 添加或删除内核路由表条目。 使网络接口向上(在线)和向下(离线)。 在网络接口上添加、删除或显示 IP 地址。