在 Linux 系统中,配置固定 IP 地址可以确保网络连接的稳定性,避免因动态分配导致的 IP 地址变动问题。以下是通过修改网络配置文件设置静态 IP 的方法。
Centos7 修改静态IP
步骤 1:使用以下命令查看当前网卡信息
# 查看当前网络信息
ip addr
# 记录需要配置的网卡名称(如 *ens33,ens160*),例如:
#admin@bogon:~$ ip addr
#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
# inet6 ::1/128 scope host noprefixroute
# valid_lft forever preferred_lft forever
#2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
# link/ether 00:0c:29:34:84:a7 brd ff:ff:ff:ff:ff:ff
# altname enp3s0
# inet 192.168.100.101/24 brd 192.168.100.255 scope global dynamic noprefixroute ens160
# valid_lft 84788sec preferred_lft 84788sec
# inet6 fe80::20c:29ff:fe34:84a7/64 scope link noprefixroute
# valid_lft forever preferred_lft forever
# 即: ens160 是这台虚拟机的网卡
# 查看网卡信息
ip addr show ens160
步骤 2:编辑网卡配置文件
# 1.使用文本编辑器打开对应网卡的配置文件:
sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
# 按下 *i* 键进入编辑模式,修改或新增以下内容:
TYPE="Ethernet"
# 设置为静态 IP
BOOTPROTO="static"
# 开机自动启用网卡
ONBOOT="yes"
# 配置静态 IP 地址
IPADDR="192.168.1.100"
# 配置子网掩码
NETMASK="255.255.255.0"
# 配置网关地址
GATEWAY="192.168.1.1"
# 配置 DNS 地址
DNS1="8.8.8.8"
# 按 *Esc* 键退出编辑模式,输入 *:wq* 保存并退出。
步骤 3:重启网络服务
# 执行以下命令使配置生效:
sudo systemctl restart network
步骤 4:验证配置
使用以下命令检查 IP 是否已固定:
ip addr
ping 8.8.8.8
确认静态 IP 已生效且网络连接正常。
注意事项
- 确保填写的 IP 地址、子网掩码和网关与网络环境匹配。
- 修改配置文件前建议备份原文件,以便恢复。
通过以上步骤,即可成功在 Linux 系统中设置固定 IP 地址。
Centos10 修改静态IP
我虚拟机使用的是主机模式Centos10 的网卡配置文件位于 /etc/NetworkManager/system-connections/ 目录下
cd /etc/NetworkManager/system-connections
# 我这里网卡名称是 ens160
vim ens160.nmconnection
vim ens160.nmconnection
ens160.nmconnection整体配置如下
[connection]
id=ens160 # 连接名(和nmcli show的一致)
uuid=c968ad8b-78de-3035-a288-276c293955a9 # 自动生成UUID(或手动写,确保唯一)
type=ethernet
autoconnect=yes 开机自动连接
autoconnect-priority=-999
interface-name=ens160 # 实际网卡名
timestamp=1761786623
[ethernet]
[ipv4]
method=manual # auto为自动配置ipv4地址,改成manual(意思是设置手动模式)
address1=192.168.100.111/24 # 静态IP/子网掩码
gateway=192.168.100.1 # 网关
dns=8.8.8.8;114.114.114.114; # DNS(分号/空格分隔均可)【最好与宿主机保持一致】
[ipv6]
addr-gen-mode=eui64
method=ignore # 禁用IPv6
[proxy]
配置完成后
# 重启`NetworkManager`服务
sudo systemctl restart NetworkManager
# 让`NetworkManager`重新读取所有网络连接的配置(无需重启整个服务,比 `systemctl restart NetworkManager` 更轻量)
sudo nmcli c reload
# 手动激活`ens160`这个网络连接,让新配置的静态 IP、网关、DNS 立即生效。
sudo nmcli c up ens160