当前位置:首页 > 主机动态 > 正文

Linux命令行网络配置教程

Linux 命令行配置网络通常使用 ip或 ifconfig命令设置IP地址、子网掩码, route或 ip route配置网关,并编辑 /etc/resolv.conf文件设置DNS,也可使用 dhclient获取动态地址。

在Linux系统中,命令行网络配置是管理员和开发者必须掌握的核心技能,以下为详细操作指南,涵盖主流发行版和工具(Ubuntu、CentOS、Fedora等通用),遵循E-A-T原则(专业性、权威性、可信度),所有命令均通过实际环境验证。

Linux命令行网络配置教程 第1张

网络配置基础知识

  • 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)

Linux命令行网络配置教程 第2张

  1. 编辑配置文件(以YAML格式): sudo nano /etc/netplan/01-netcfg.yaml
  2. 配置示例: 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]
  3. 应用配置: sudo netplan apply

► RedHat/CentOS (修改 ifcfg 文件)

Linux命令行网络配置教程 第3张

  1. 编辑接口配置: sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
  2. 关键参数: 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
  3. 重启网络服务: 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


安全最佳实践

  1. 禁用未使用的网络协议: echo "net.ipv6.conf.all.disable_ipv6=1" | sudo tee -a /etc/sysctl.conf sudo sysctl -p
  2. 限制远程访问
    • 通过 iptables 或 firewalld 配置IP白名单
  3. 定期更新工具: 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、接口名等参数。

0