当前位置:首页 > 物理机 > 正文

CentOS7物理机网络如何配置?

在CentOS 7物理机上配置网络需编辑 /etc/sysconfig/network-scripts/ifcfg-网卡名文件,设置IP地址、子网掩码、网关和DNS服务器,最后重启 network服务使配置生效。

CentOS 7 物理机网络配置详细指南

前言:理解物理机网络配置的核心

在 CentOS 7 物理服务器上进行网络配置是系统管理的基础任务,与虚拟机不同,物理机直接操作硬件网卡(如 eno1, ens33),配置的可靠性直接影响服务器对外服务能力,CentOS 7 默认使用 NetworkManager 服务结合传统的 ifcfg 脚本来管理网络,提供了灵活且强大的配置方式。

核心配置方法:nmcli 与配置文件

*方法 1:使用 nmcli 命令行工具 (推荐)**

nmcli 是 NetworkManager 的命令行客户端,功能强大且能动态生效配置。

  1. 查看现有网络连接与设备:

    nmcli connection show nmcli device status

    记录下你要配置的连接名(如 ens33)或设备名。

  2. 配置静态 IP 地址 (示例配置):

    sudo nmcli connection modify "ens33" ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8, 8.8.4.4" ipv4.method manual connection.autoconnect yes
    • "ens33": 替换为你的实际连接名或设备名。
    • 168.1.100/24: 静态 IP 地址和子网掩码 (CIDR 格式)。
    • 168.1.1: 默认网关。
    • "8.8.8.8, 8.8.4.4": DNS 服务器地址,用逗号分隔。
    • ipv4.method manual: 设置为静态 IP。
    • connection.autoconnect yes: 确保开机自动连接。
  3. 配置 DHCP 获取 IP 地址:

    sudo nmcli connection modify "ens33" ipv4.method auto connection.autoconnect yes
  4. 应用并激活配置:

    sudo nmcli connection down "ens33" && sudo nmcli connection up "ens33" # 或者使用 reload 命令(CentOS 7.9 及更新版本更推荐) sudo nmcli connection reload sudo nmcli connection up "ens33"

*方法 2:编辑网络配置文件 (传统方法)**

配置文件位于 /etc/sysconfig/network-scripts/,命名规则为 ifcfg-<连接名> (如 ifcfg-ens33)。

  1. 备份原始配置 (重要!):

    CentOS7物理机网络如何配置? 第1张

  2. 编辑配置文件:

    sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
  3. 静态 IP 配置示例:

    TYPE=Ethernet BOOTPROTO=none # 静态设置为 none, DHCP 设置为 dhcp DEFROUTE=yes NAME=ens33 DEVICE=ens33 ONBOOT=yes # 确保开机启动 IPADDR=192.168.1.100 PREFIX=24 # 或者使用 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=8.8.4.4

  4. DHCP 配置示例:

    TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=yes NAME=ens33 DEVICE=ens33 ONBOOT=yes
  5. 重启网络服务 (或使用 nmcli):

    sudo systemctl restart network

    注意:在远程连接中直接重启 network 服务可能导致连接中断,使用 nmcli connection up/down 更安全。

  6. 关键辅助配置

    • 设置主机名:

      sudo hostnamectl set-hostname your-server-name # 瞬时生效且永久 # 检查 hostnamectl status
    • 配置 DNS 解析 (/etc/resolv.conf):

      通常由 NetworkManager 根据连接配置自动管理,如需手动设置(不推荐,可能被覆盖),可编辑此文件,但优先使用 nmcli 或 ifcfg 文件中的 DNS1/DNS2 选项。

    • 管理 NetworkManager 服务:

      sudo systemctl enable NetworkManager # 开机自启 sudo systemctl start NetworkManager # 立即启动 sudo systemctl status NetworkManager # 查看状态

    验证网络配置

    • 检查 IP 地址与路由:

    • 测试网络连通性:

      CentOS7物理机网络如何配置? 第2张

      ping -c 4 192.168.1.1 # 测试网关 ping -c 4 8.8.8.8 # 测试外部 IP ping -c 4 www.baidu.com # 测试 DNS 解析与外网
    • 检查 DNS 解析:

      nslookup www.baidu.com dig www.baidu.com
    • 防火墙与 SELinux 注意事项

      • 防火墙 (firewalld): 确保所需端口开放(如 SSH 的 22 端口)。 sudo firewall-cmd --permanent --add-service=ssh # 开放 SSH sudo firewall-cmd --reload sudo firewall-cmd --list-all # 查看规则
      • SELinux: 在绝大多数标准网络配置场景下,SELinux 默认策略不会阻止网络功能,如遇特殊问题,可先尝试 setenforce 0 (临时禁用) 测试,但生产环境应调查具体原因并调整策略而非直接禁用。

      故障排查要点

      1. 物理层: 网线是否插好?网卡指示灯是否正常?交换机端口状态?
      2. 驱动: lspci | grep -i ethernet 查看网卡型号,dmesg | grep -i eth 检查驱动加载信息。
      3. 服务状态: systemctl status NetworkManager, systemctl status network。
      4. 配置错误: 仔细检查 IP、子网掩码、网关、DNS 是否输入正确,配置文件语法无误(尤其 ifcfg 文件)。
      5. 冲突: 是否同时激活了 network 和 NetworkManager 服务?CentOS 7 建议主要使用 NetworkManager,确保 ifcfg 文件中的 ONBOOT=yes。
      6. 日志: 查看日志获取线索:journalctl -xe, /var/log/messages。

      常见问题解答 (FAQ)

      • Q:修改配置后网络没反应?

        A:确保执行了 nmcli connection up <连接名> 或 sudo systemctl restart network (谨慎使用) 使配置生效,检查 ip addr 看新 IP 是否分配。

      • Q:ping 通网关但 ping 不通外网?

        A:检查网关配置是否正确 (ip route),检查防火墙是否阻止出站 (firewall-cmd --list-all),检查 DNS 解析 (nslookup)。

      • Q:如何彻底禁用 NetworkManager?

        A:一般不推荐,但如需使用纯 network 服务: sudo systemctl stop NetworkManager sudo systemctl disable NetworkManager sudo systemctl enable network sudo systemctl start network

      • Q:多网卡如何配置?

        A:为每个物理网卡(ens33, ens34 等)创建独立的连接配置文件(ifcfg-ens33, ifcfg-ens34)或使用 nmcli 分别配置,明确各网卡的用途(如业务、管理、存储网络)并设置正确的 IP 和路由。

      重要安全提示:

      • 在远程配置物理机网络时,务必确保有物理控制台访问权限(如 iDRAC, iLO, KVM over IP),或在操作前设置好备用连接(如多网卡配置一个管理口),避免配置错误导致失联。
      • 修改关键配置文件前必须备份

      掌握 CentOS 7 物理机的网络配置 (nmcli 和 ifcfg 文件) 是 Linux 系统管理的核心技能,理解 NetworkManager 的工作原理,熟练使用验证命令 (ip, ping, nslookup),并重视防火墙和物理访问权限,能确保服务器网络的稳定可靠,配置后务必进行多维度测试验证。

      引用说明:

      • 本文所述方法基于 CentOS 7 及兼容发行版(如 RHEL 7)的标准网络管理机制。
      • 核心工具与概念参考 Red Hat Enterprise Linux 7 官方文档:NetworkManager (nmcli), ifcfg 文件格式, firewalld。
      • 故障排查思路结合了 Linux 网络管理通用实践与常见问题解决方案。

      CentOS7物理机网络如何配置? 第3张

0