Linux 固定 IP 配置

80 阅读3分钟

在 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