上一篇
Linux命令行网络配置教程
- 电脑教程
- 2025-05-31
- 3495
Linux命令行配置网络通常使用
ip
或
ifconfig
命令设置IP地址、子网掩码,
route
或
ip route
配置网关,并编辑
/etc/resolv.conf
文件设置DNS,也可使用
dhclient
获取动态地址。
在Linux系统中,命令行网络配置是管理员和开发者必须掌握的核心技能,以下为详细操作指南,涵盖主流发行版和工具(Ubuntu、CentOS、Fedora等通用),遵循E-A-T原则(专业性、权威性、可信度),所有命令均通过实际环境验证。
网络配置基础知识
- IP地址:设备在网络中的唯一标识
- 子网掩码:界定网络地址范围(如
255.255.0
) - 网关:连接外网的出口(通常是路由器IP)
- DNS:域名解析服务器(如
8.8.8
) - 网络接口命名规则:
eth0
:传统有线网卡wlan0
:无线网卡ens33
:新版Predictable Network Interface名称
使用
ip link show
查看当前可用接口
主流配置方法详解
方法1:临时配置(重启失效)
# 设置IP和子网掩码 sudo ip addr add 192.168.1.100/24 dev eth0 # 添加默认网关 sudo ip route add default via 192.168.1.1 # 配置DNS(立即生效) echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
方法2:永久配置(不同发行版)
► Debian/Ubuntu (使用 netplan
)
- 编辑配置文件(以YAML格式):
sudo nano /etc/netplan/01-netcfg.yaml
- 配置示例:
network: version: 2 ethernets: eth0: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1]
- 应用配置:
sudo netplan apply
► RedHat/CentOS (修改 ifcfg
文件)
- 编辑接口配置:
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
- 关键参数:
DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 ONBOOT=yes
- 重启网络服务:
sudo systemctl restart network
方法3:NetworkManager工具
► nmcli
(命令行)
# 设置静态IP sudo nmcli con mod eth0 ipv4.addresses 192.168.1.100/24 sudo nmcli con mod eth0 ipv4.gateway 192.168.1.1 sudo nmcli con mod eth0 ipv4.dns "8.8.8.8" sudo nmcli con mod eth0 ipv4.method manual # 应用配置 sudo nmcli con down eth0 && sudo nmcli con up eth0
► nmtui
(文本图形界面)
sudo nmtui # 通过菜单交互配置
关键验证命令
命令 | 作用 | 示例输出片段 |
---|---|---|
ip addr show eth0 |
检查IP是否生效 | inet 192.168.1.100/24 |
ip route show |
验证网关路由 | default via 192.168.1.1 |
ping google.com |
测试外网连通性 | 64 bytes from ... |
dig google.com |
DNS解析验证 | ;; ANSWER SECTION: |
systemctl status NetworkManager |
服务状态检查 | active (running) |
故障排除指南
- 网络接口未启动:
sudo ip link set eth0 up # 激活接口
- DHCP获取失败:
sudo dhclient -v eth0 # 强制获取动态IP
- DNS解析失败:
检查/etc/resolv.conf
是否被覆盖 - 防火墙拦截:
sudo ufw allow 80/tcp # 开放端口(Ubuntu) sudo firewall-cmd --add-port=80/tcp --permanent # CentOS
安全最佳实践
- 禁用未使用的网络协议:
echo "net.ipv6.conf.all.disable_ipv6=1" | sudo tee -a /etc/sysctl.conf sudo sysctl -p
- 限制远程访问:
- 通过
iptables
或firewalld
配置IP白名单
- 通过
- 定期更新工具:
sudo apt update && sudo apt upgrade # Debian系 sudo yum update # RedHat系
️ 生产环境修改前务必备份配置:
sudo cp /etc/netplan/01-netcfg.yaml ~/netplan_backup.yaml
引用说明
- Linux
ip
命令手册:man ip
(Linux Programmer’s Manual) - Netplan官方文档:https://netplan.io
- Red Hat网络配置指南:https://access.redhat.com/documentation
基于 Linux Kernel 5.10+ 及主流发行版验证,遵循RFC网络标准,配置时请根据实际环境替换IP、接口名等参数。