3.6. 使用 ip 命令配置 IP 网络
作为系统管理员,您可以使用 ip 命令配置网络接口,但更改在重新引导后不会保留;重新引导后,您将丢失任何更改。
在上游软件包名称后,ip 实用程序的命令有时被称为 iproute2,它们记录在
man ip(8)
页面中。Red Hat Enterprise Linux 7 中的软件包名称为 iproute。如果需要,您可以通过检查其版本号来检查是否安装了 ip 工具程序,如下所示:
~]$ ip -V
ip utility, iproute2-ss130716
ip 命令可用于添加地址和路由到 NetworkManager 并行的接口,并在 nmcli、nmtui、control-center 和 D-Bus API 中识别它们。
关闭接口:
ip link set ifname down
注意
ip link set ifname 命令设置
IFF_UP
状态的网络接口,并从内核的范围中启用它。这与用于 initscripts 或 NetworkManager 设备的激活状态的 ifup ifname 命令不同。事实上,NetworkManager 始终会设置接口,即使它当前已断开连接。通过 nmcli 工具断开连接设备,不会删除 IFF_UP
标志。这样,NetworkManager 获取有关载波状态的通知。
请注意,ip 工具替换 ifconfig 工具,因为 net-tools 软件包(提供 ifconfig)不支持 InfiniBand 地址。
有关可用 OBJECT 的信息,请使用 ip help 命令。例如: ip link help 和 ip addr help。
注意
命令行中给定的 IP 命令在系统重启后不会保留。
如果需要持久性时,请使用配置文件(ifcfg
文件)或向脚本添加命令。
nmtui 和 nmcli 示例后包含了为每项任务使用命令行和配置文件的示例,但解释了将其中一个图形用户界面用于 NetworkManager 之前,即 control-center 和 nm-connection-editor。
ip 工具可以用来为接口分配
IP 地址
,格式如下: ip addr [ add | del ] address dev ifname
使用 ip 命令分配静态地址
要为接口分配
IP 地址
,请执行以下操作:
~]# ip address add 10.0.0.3/24 dev enp1s0 You can view the address assignment of a specific device: ~]# ip addr show dev enp1s0 2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether f0:de:f1:7b:6e:5f brd ff:ff:ff:ff:ff:ff inet 10.0.0.3/24 brd 10.0.0.255 scope global global enp1s0 valid_lft 58682sec preferred_lft 58682sec inet6 fe80::f2de:f1ff:fe7b:6e5f/64 scope link valid_lft forever preferred_lft forever更多示例和命令选项可在
ip-address(8)手册页中找到
。
使用 ip 命令配置多个地址
由于 ip 实用程序支持将多个地址分配到同一接口,因此不再需要使用别名接口方法将多个地址绑定到同一接口。分配地址的 ip 命令可以重复多次,以便能分配多个地址。例如:
~]# ip address add 192.168.2.223/24 dev enp1s0 ~]# ip address add 192.168.4.223/24 dev enp1s0 ~]# ip addr 3: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 52:54:00:fb:77:9e brd ff:ff:ff:ff:ff:ff inet 192.168.2.223/24 scope global enp1s0 inet 192.168.4.223/24 scope global enp1s0
有关 ip 工具的命令的详情,请查看
ip(8)手册页
。
注意
命令行中给定的 IP 命令在系统重启后不会保留。