常见的系统网络配置文件位置
在日常维护服务器时,经常会遇到网络不通、IP 配置错误或者 DNS 解析失败的问题。这时候第一反应就是去看网络配置文件。不同操作系统存放这些配置的位置不一样,搞清楚路径能省不少时间。
比如你刚接手一台老服务器,同事只说“网络配好了”,但你现在连不上,就得自己去查配置。打开终端,第一步就是找对文件。
Linux 系统中的网络配置路径
大多数 Linux 发行版把网络配置文件放在 /etc/sysconfig/network-scripts/ 目录下,尤其是 CentOS 7 及更早版本。每个网卡对应一个文件,通常是 ifcfg-eth0 或 ifcfg-enp0s3 这样的命名方式。
<code># 查看主网卡配置</code>
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8如果你用的是 Ubuntu 或 Debian 系列,网络配置可能在 /etc/network/interfaces 里。这个文件控制着所有网络接口的启动方式和 IP 分配。
<code># /etc/network/interfaces 示例</code>
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.101
netmask 255.255.255.0
gateway 192.168.1.1新版系统的配置变化
CentOS 8 和 RHEL 8 开始转向 NetworkManager,配置文件可能出现在 /etc/NetworkManager/system-connections/。这类文件是 ini 格式,权限要求严格,必须是 600。
还有些新系统使用 Netplan,特别是 Ubuntu 18.04 以后的版本。配置文件在 /etc/netplan/ 目录下,后缀是 .yaml,写的时候缩进不能错,不然应用会报错。
<code># /etc/netplan/01-netcfg.yaml 示例</code>
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.1.102/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]DNS 和主机名配置
除了接口本身,DNS 设置也很关键。全局 DNS 配置通常在 /etc/resolv.conf,里面列出了解析服务器地址。不过注意,有些系统通过 DHCP 自动覆盖这个文件,真正源头得去看网络配置里的 DNS 设置。
主机名一般存在 /etc/hostname,一行文本搞定。配合 /etc/hosts 做本地映射,在内网调试时特别有用,比如把 db01 指向数据库服务器的内网 IP。
别忘了重启服务
改完配置别直接关终端。老系统用 service network restart,新一点的用 systemctl restart NetworkManager 或 netplan apply。Ubuntu 上敲错 yaml,apply 时就会提示哪一行出问题,得回去修缩进。
有次我在机房调一台新装的服务器,IP 死活不生效,最后发现是 netplan 文件里把 addresses 写成了 address,少了个 s。这种小细节错了,机器就等于没网,远程也连不上,只能现场排查。
熟悉这些路径,就像知道家里的电闸在哪儿。平时不注意,一出问题,立马就能派上用场。