在 Linux 系统中修改网络配置是一项核心管理任务,通常涉及更改网卡的 IP 地址、子网掩码、网关、DNS 以及其工作状态。具体方法根据不同的 Linux 发行版和所使用的网络管理工具有所差异。以下是专业且准确的操作指南。

核心概念:在 Linux 中,物理网卡设备名通常为 eth0、ens33、enp0s3 等格式(取决于系统与命名策略),而回环接口为 lo。所有配置均围绕这些设备名展开。
一、使用传统工具 ifconfig 和 route(临时生效)
这些命令来自 net-tools 软件包,配置重启后失效,常用于临时调试。
1. 启用/禁用网卡:sudo ifconfig eth0 up 或 sudo ifconfig eth0 down。
2. 配置IP地址和子网掩码:sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0。
3. 添加/删除默认网关:sudo route add default gw 192.168.1.1 或 sudo route del default gw 192.168.1.1。
二、使用现代工具 ip 命令(临时生效)
来自 iproute2 软件包,功能更强大,是推荐使用的工具。
1. 查看网卡信息:ip addr show 或 ip link show。
2. 启用/禁用网卡:sudo ip link set eth0 up 或 sudo ip link set eth0 down。
3. 配置IP地址:sudo ip addr add 192.168.1.100/24 dev eth0。要删除地址,使用 sudo ip addr del 192.168.1.100/24 dev eth0。
4. 配置默认网关:sudo ip route add default via 192.168.1.1。删除使用 del 替换 add。
三、修改配置文件(永久生效)
这是使配置在系统重启后依然保持的标准方法。不同发行版的配置文件位置不同。
1. Debian/Ubuntu 及其衍生版
配置文件位于 /etc/network/interfaces。配置静态IP示例:
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
配置完成后,使用 sudo systemctl restart networking 或 sudo ifdown eth0 && sudo ifup eth0 应用更改。
2. RHEL/CentOS/Fedora(使用 NetworkManager 的情况)
主要配置文件位于 /etc/sysconfig/network-scripts/ifcfg-eth0(对于 eth0 网卡)。静态配置示例:
TYPE=Ethernet
BOOTPROTO=none
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
配置完成后,使用 sudo nmcli connection reload 或 sudo systemctl restart NetworkManager 生效,也可使用 sudo ifdown eth0 && sudo ifup eth0。
3. 使用 NetworkManager 的 nmtui 或 nmcli(通用)
对于安装了 NetworkManager 的系统,这是交互式和命令行的推荐方式。
• nmtui:在终端运行此命令,会启动一个文本用户界面,可直观地编辑连接、激活/停用网卡。
• nmcli:功能强大的命令行工具。例如,设置静态IP:sudo nmcli connection modify eth0 ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns “8.8.8.8” ipv4.method manual。然后使用 sudo nmcli connection up eth0 激活更改。
四、配置 DNS
除了在上述配置文件中指定DNS,也可以直接修改 /etc/resolv.conf 文件(注意:NetworkManager 可能会覆盖它)。示例:
nameserver 8.8.8.8
nameserver 8.8.4.4
五、网络配置工具与命令速查表
| 任务 | 传统命令 (net-tools) | 现代命令 (iproute2) | NetworkManager 命令 |
|---|---|---|---|
| 查看IP地址 | ifconfig | ip addr show | nmcli device show |
| 启用网卡 | ifconfig eth0 up | ip link set eth0 up | nmcli connection up eth0 |
| 禁用网卡 | ifconfig eth0 down | ip link set eth0 down | nmcli connection down eth0 |
| 添加IP地址 | ifconfig eth0 add 192.168.1.100/24 | ip addr add 192.168.1.100/24 dev eth0 | nmcli con mod eth0 +ipv4.addresses 192.168.1.100/24 |
| 查看路由表 | route -n | ip route show | nmcli con show |
| 添加默认网关 | route add default gw 192.168.1.1 | ip route add default via 192.168.1.1 | nmcli con mod eth0 ipv4.gateway “192.168.1.1” |
六、故障排查与扩展知识
1. 确认更改:使用 ip addr show eth0 和 ip route show 验证配置。
2. 网络服务重启:根据系统不同,重启网络服务可能是 systemctl restart network、systemctl restart NetworkManager 或 /etc/init.d/networking restart。
3. 网卡重命名:如需永久修改网卡设备名(如将 eth0 改为 mynet),需通过 udev 规则或修改 /etc/default/grub 中的内核参数来实现,操作复杂且风险较高。
4. 绑定与桥接:对于高级网络功能如网卡绑定(bonding)或桥接(bridging),需要加载特定内核模块并创建更复杂的配置文件。
总结:在 Linux 中修改网卡配置,临时调试推荐使用功能强大的 ip 命令;永久配置则需编辑对应发行版的网络配置文件或使用 NetworkManager 的 nmtui/nmcli 工具。操作前务必备份原始配置文件,并确保在了解当前网络环境的前提下进行修改。

查看详情

查看详情