管理Linux服务器,网络配置是绕不开的基础技能。无论是为新服务器分配IP,还是排查诡异的网络故障,熟悉相关的命令和配置文件都能让你事半功倍。下面我们来梳理一下那些与Linux网络配置息息相关的核心命令和关键文件。
1. 通过 DHCP 动态获取 IP
如果局域网中存在 DHCP 服务器,我们可以让网卡动态获取IP地址,省去手动配置的麻烦。
- 临时获取:使用
dhclient 命令可以为指定网卡临时请求一个IP地址。
dhclient <设备名>
- 永久配置:若要每次启动都自动通过DHCP获取IP,需要修改网络接口配置文件。通常是去掉静态的
IPADDR 参数,并加入 BOOTPROTO=dhcp 参数。
2. 设置网关:route 命令
route 命令用于查看或管理内核的路由表。添加默认网关(即数据包默认的出口)是最常见的操作之一。
3. 配置 DNS 客户端:/etc/resolv.conf
DNS服务器的地址配置在 /etc/resolv.conf 文件中。它的格式很简单:
domain example.com
nameserver 211.84.160.8
# 可以配置多个nameserver,系统会按顺序尝试
nameserver 8.8.8.8
修改此文件后通常立即生效。不过需要注意的是,在一些使用 systemd-resolved 或 NetworkManager 的系统中,此文件可能被自动管理,手动修改会被覆盖。
4. 网络连通性测试:ping 命令
ping 是检查网络连通性的最常用工具,通过发送ICMP回显请求包来测试与目标主机的连接。
5. 追踪网络路径:traceroute 命令
当网络连接出现问题时,traceroute(或 tracepath)命令可以帮助你诊断数据包在传输过程中经过了哪些节点,是在哪一跳丢失的。
traceroute www.baidu.com
该命令会显示从你的主机到目标域名或IP地址之间,每一跳路由器的响应情况。
6. 网络接口的永久配置
在RHEL、CentOS、Fedora等系统上,网络接口的永久配置文件位于 /etc/sysconfig/network-scripts/ 目录下,命名规则为 ifcfg-<接口名>,例如 ifcfg-enp0s25。
一个典型的静态IP配置示例如下:
TYPE=Ethernet
BOOTPROTO=none # 设为static或none表示静态IP,dhcp表示动态获取
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s25 # 网络连接名称
UUID=e0e988ef-54e1-477a-8748-cc3bcf26e598
ONBOOT=yes # 开机自动激活此连接
IPADDR0=211.84.168.73 # IP地址
PREFIX0=24 # 子网掩码位数,等同于 NETMASK=255.255.255.0
GATEWAY0=211.84.168.126 # 网关地址
DNS1=211.84.160.8 # 主DNS服务器
HWADDR=00:16:76:CB:BA:CE # 物理MAC地址(可选绑定)
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
配置文件修改完成后,必须重启网络服务才能使新的配置生效:
# 传统SysVinit系统
service network restart
# 使用Systemd的系统
systemctl restart NetworkManager.service
# 或者重启network服务(取决于系统使用的网络管理工具)
# systemctl restart network
熟练掌握这些命令和配置文件,是进行服务器运维/DevOps/SRE工作的基础。它们能帮助你在各种场景下,从基础配置到复杂排错,都能做到心中有数,手中有术。如果你想深入了解某个命令的进阶用法或与其他工具的结合,欢迎到云栈社区的相关板块与大家一起探讨。
|