在 Linux 服务器上工作时,在网卡上分配静态地址是常见任务之一。 以下是在网卡上配置静态地址的方法: nmcli(命令行工具)网络脚本文件(ifcfg-*)
安装 服务器时,就会自动安装命令行工具 nmcli,它是由网络管理器使用的,可以让我们在以太网卡上配置静态地址。 运行下面的命令,列出服务器上的以太网卡 [root@linuxtechi ~]# ip addr在上面的命令输出中看到的,有两个网卡 enp0s3 和 enp0s8。当前分配给网卡的地址是通过 DHCP 服务器获得的。 假设希望在第一个网卡 (enp0s3) 上分配静态地址,具体内容如下: IP 地址 = 192.168.1.4网络掩码 = 255.255.255.0网关 = 192.168.1.1DNS = 8.8.8.8依次运行以下命令来配置静态地址, 使用 nmcli connection 命令列出当前活动的以太网卡, [root@linuxtechi ~]# nmcli connectionNAME UUID TYPE DEVICEenp0s3 7c1b8444-cb65-440d-9bf6-ea0ad5e60bae ethernet enp0s3virbr0 3020c41f-6b21-4d80-a1a6-7c1bd5867e6c bridge virbr0[root@linuxtechi ~]#使用下面的 nmcli 给 enp0s3 分配静态 IP。 命令语法: # nmcli connection modify <interface_name> ipv4.address <ip/prefix>注意: 为了简化语句,在命令中,通常用 con 关键字替换 connection,并用 mod 关键字替换 modify。 将 IPv4 地址 (192.168.1.4) 分配给 enp0s3 网卡上, [root@linuxtechi ~]# nmcli con mod enp0s3 ipv4.addresses 192.168.1.4/24使用下面的 nmcli 命令设置网关, [root@linuxtechi ~]# nmcli con mod enp0s3 ipv4.gateway 192.168.1.1设置手动配置(从 dhcp 到 static), [root@linuxtechi ~]# nmcli con mod enp0s3 ipv4.method manual设置 DNS 值为 “8.8.8.8”, [root@linuxtechi ~]# nmcli con mod enp0s3 ipv4.dns "8.8.8.8"[root@linuxtechi ~]#要保存上述更改并重新加载,请执行如下 nmcli 命令, [root@linuxtechi ~]# nmcli con up enp0s3Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)以上命令显示网卡 enp0s3 已成功配置。 使用 nmcli 命令做的那些更改都将永久保存在文件 etc/sysconfig/network-scripts/ifcfg-enp0s3 里。 [root@linuxtechi ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3要确认 地址是否分配给了 enp0s3 网卡了,请使用以下 命令查看, [root@linuxtechi ~]#ip addr show enp0s3
可以使用配置以太网卡的网络脚本或 ifcfg-* 文件来配置以太网卡的静态 IP 地址。假设想在第二个以太网卡 enp0s8 上分配静态 IP 地址: IP 地址 = 192.168.1.91前缀 = 24网关 =192.168.1.1DNS1 =4.2.2.2cd到目录 /etc/sysconfig/network-scripts,查找文件 ifcfg-enp0s8 [root@linuxtechi ~]# cd /etc/sysconfig/network-scripts/[root@linuxtechi network-scripts]# vi ifcfg-enp0s8TYPE="Ethernet"DEVICE="enp0s8"BOOTPROTO="static"ONBOOT="yes"NAME="enp0s8"IPADDR="192.168.1.91"PREFIX="24"GATEWAY="192.168.1.1"DNS1="4.2.2.2"保存并退出文件,然后重新启动网络管理器服务以使上述更改生效, [root@linuxtechi network-scripts]# systemctl restart NetworkManager现在使用下面的 ip 命令来验证 IP 地址是否分配给网卡, [root@linuxtechi ~]# ip add show enp0s83: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:7c:bb:cb brd ff:ff:ff:ff:ff:ff inet 192.168.1.91/24 brd 192.168.1.255 scope global noprefixroute enp0s8 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe7c:bbcb/64 scope link valid_lft forever preferred_lft forever[root@linuxtechi ~]#以上输出内容确认静态地址已在网卡 enp0s8 上成功配置了。 |