技术弄巷
读完仅需
记得星标公众号
在Linux系统运维中,网络配置是基础且核心的工作,无论是搭建服务器、部署应用还是排查网络故障,都离不开对主机名、IP地址、网关、DNS等参数的配置与管理。同时,VMware虚拟机的网络工作模式也直接影响虚拟机的网络连通性,掌握这些知识点能高效解决各类网络相关问题。本文将从网络核心参数查询、网卡配置实操到VMware网络模式解析,全方位拆解Linux网络配置要点,内容可直接落地实操。
Linux系统的核心网络参数包括主机名、IP地址、子网掩码、默认网关、DNS服务器,以下是各参数的查询与基础配置方法:
主机名用于标识网络中的节点,可通过命令临时或永久修改,以下是永久修改的实操示例:
# 1. 查看当前系统主机名[root@localhost ~]# hostname localhost.localdomain# 2. 永久修改主机名为node01.linux.com(hostnamectl命令永久生效,无需重启)[root@localhost ~]# hostnamectl set-hostname node01.linux.com# 3. 验证修改后的主机名(立即生效,新会话中提示符也会更新)[root@localhost ~]# hostnamenode01.linux.com# 4. 查看主机名配置文件,确认配置已持久化(/etc/hostname存储永久主机名)[root@node01 ~]# cat /etc/hostname node01.linux.com
# 1. 查看当前系统主机名
[root@localhost ~]# hostname
localhost.localdomain
# 2. 永久修改主机名为node01.linux.com(hostnamectl命令永久生效,无需重启)
[root@localhost ~]# hostnamectl set-hostname node01.linux.com
# 3. 验证修改后的主机名(立即生效,新会话中提示符也会更新)
node01.linux.com
# 4. 查看主机名配置文件,确认配置已持久化(/etc/hostname存储永久主机名)
[root@node01 ~]# cat /etc/hostname
常用ifconfig和ip addr两种命令查询网卡IP、子网掩码、MAC地址等信息,其中ip addr为系统自带命令,兼容性更强:
ifconfig
ip addr
# 1. 查看所有激活网卡的网络信息(需安装net-tools工具,yum install net-tools -y)[root@node01 ~]# ifconfig# 2. 查看指定网卡ens33的详细信息,包含IP地址、子网掩码、广播地址、MAC地址、网卡运行状态[root@node01 ~]# ifconfig ens33 # 3. 系统自带命令,查看所有网卡(包括未激活)的完整网络信息,输出更规范[root@node01 ~]# ip addr show
# 1. 查看所有激活网卡的网络信息(需安装net-tools工具,yum install net-tools -y)
[root@node01 ~]# ifconfig
# 2. 查看指定网卡ens33的详细信息,包含IP地址、子网掩码、广播地址、MAC地址、网卡运行状态
[root@node01 ~]# ifconfig ens33
# 3. 系统自带命令,查看所有网卡(包括未激活)的完整网络信息,输出更规范
[root@node01 ~]# ip addr show
网关是虚拟机与外部网络通信的必经之路,可通过route和ip route命令查询,其中ip route输出更简洁易懂:
route
ip route
# 1. 查看内核路由表,-n参数表示以数字形式显示(不解析域名,速度更快)[root@node01 ~]# route -n Kernel IP routing tableDestinationGatewayGenmaskFlagsMetricRefUseIface0.0.0.0192.168.140.20.0.0.0 UG 10000 ens33192.168.122.00.0.0.0255.255.255.0 U 000 virbr0192.168.140.00.0.0.0255.255.255.0 U 10000 ens33# 2. 系统自带命令,查看路由信息(默认网关对应default开头的记录)[root@node01 ~]# ip route default via 192.168.140.2 dev ens33 proto dhcp metric 100192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1192.168.140.0/24 dev ens33 proto kernel scope link src 192.168.140.166 metric 100
# 1. 查看内核路由表,-n参数表示以数字形式显示(不解析域名,速度更快)
[root@node01 ~]# route -n
Kernel IP routing table
DestinationGatewayGenmaskFlagsMetricRefUseIface
0.0.0.0192.168.140.20.0.0.0 UG 10000 ens33
192.168.122.00.0.0.0255.255.255.0 U 000 virbr0
192.168.140.00.0.0.0255.255.255.0 U 10000 ens33
# 2. 系统自带命令,查看路由信息(默认网关对应default开头的记录)
[root@node01 ~]# ip route
default via 192.168.140.2 dev ens33 proto dhcp metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
192.168.140.0/24 dev ens33 proto kernel scope link src 192.168.140.166 metric 100
DNS服务器负责将域名解析为IP地址,Linux系统的DNS配置默认存储在/etc/resolv.conf文件中:
/etc/resolv.conf
# 查看DNS配置文件,nameserver后即为DNS服务器地址(可配置多个)[root@node01 ~]# cat /etc/resolv.conf # Generated by NetworkManagersearch localdomain linux.comnameserver 192.168.140.2
# 查看DNS配置文件,nameserver后即为DNS服务器地址(可配置多个)
[root@node01 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain linux.com
nameserver 192.168.140.2
Linux网卡配置分为修改配置文件和使用nmcli命令两种方式,前者配置直观,后者无需手动编辑文件,更适合批量操作。
网卡配置文件位于/etc/sysconfig/network-scripts/目录下,文件名格式为ifcfg-网卡名称(如ifcfg-ens33),修改后需重新加载配置生效:
/etc/sysconfig/network-scripts/
ifcfg-网卡名称
ifcfg-ens33
# 1. 查看并编辑指定网卡ens33的配置文件(以下为配置示例,关键参数已标注)[root@node01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33TYPE="Ethernet"//网卡类型为以太网(固定值)BOOTPROTO=none // IP获取方式:none=手动配置,dhcp=自动获取IPADDR=192.168.1.1//手动配置的静态IP地址PREFIX=24//子网掩码(24等价于255.255.255.0)GATEWAY=192.168.1.254//默认网关地址DNS1=223.5.5.5//首选DNS服务器DNS2=223.6.6.6//备用DNS服务器NAME=ens33 //网卡的配置文件名称(与文件名一致)DEVICE="ens33"//网卡设备名称(与实际网卡名一致)ONBOOT=yes //开机是否自动激活网卡(yes=自动激活)# 2. 重新加载网卡配置(使修改后的配置生效,无需重启系统)[root@localhost ~]# nmcli connection reload# 3. 启动/重启ens33网卡,确认配置生效[root@localhost ~]# nmcli connection up ens33
# 1. 查看并编辑指定网卡ens33的配置文件(以下为配置示例,关键参数已标注)
[root@node01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"//网卡类型为以太网(固定值)
BOOTPROTO=none // IP获取方式:none=手动配置,dhcp=自动获取
IPADDR=192.168.1.1//手动配置的静态IP地址
PREFIX=24//子网掩码(24等价于255.255.255.0)
GATEWAY=192.168.1.254//默认网关地址
DNS1=223.5.5.5//首选DNS服务器
DNS2=223.6.6.6//备用DNS服务器
NAME=ens33 //网卡的配置文件名称(与文件名一致)
DEVICE="ens33"//网卡设备名称(与实际网卡名一致)
ONBOOT=yes //开机是否自动激活网卡(yes=自动激活)
# 2. 重新加载网卡配置(使修改后的配置生效,无需重启系统)
[root@localhost ~]# nmcli connection reload
# 3. 启动/重启ens33网卡,确认配置生效
[root@localhost ~]# nmcli connection up ens33
nmcli是Linux系统自带的网络管理命令,依赖NetworkManager服务运行,无需手动编辑配置文件,操作更便捷:
nmcli
NetworkManager
# 1. 先查看NetworkManager服务运行状态(确保服务处于active(running)状态)[root@localhost ~]# systemctl status NetworkManager●NetworkManager.service -NetworkManagerLoaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)Active: active (running) since 二2022-07-1909:02:52 CST;57min agoDocs: man:NetworkManager(8)Main PID:856(NetworkManager)# 2. 查看当前系统所有网卡连接配置(NAME=连接名,DEVICE=实际网卡名)[root@localhost ~]# nmcli connection show NAME UUID TYPE DEVICE ens33 c96bc909-188e-ec64-3a96-6a90982b08ad ethernet ens33 virbr0 b7f9a42b-edf5-47b0-a22f-8fad7c0cde78 bridge virbr0# 3. 删除指定网卡ens33的现有配置(如需重新配置,可先删除旧配置)[root@localhost ~]# nmcli connection delete ens33 成功删除连接"ens33"(c96bc909-188e-ec64-3a96-6a90982b08ad)。
# 1. 先查看NetworkManager服务运行状态(确保服务处于active(running)状态)
[root@localhost ~]# systemctl status NetworkManager
●NetworkManager.service -NetworkManager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since 二2022-07-1909:02:52 CST;57min ago
Docs: man:NetworkManager(8)
Main PID:856(NetworkManager)
# 2. 查看当前系统所有网卡连接配置(NAME=连接名,DEVICE=实际网卡名)
[root@localhost ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens33 c96bc909-188e-ec64-3a96-6a90982b08ad ethernet ens33
virbr0 b7f9a42b-edf5-47b0-a22f-8fad7c0cde78 bridge virbr0
# 3. 删除指定网卡ens33的现有配置(如需重新配置,可先删除旧配置)
[root@localhost ~]# nmcli connection delete ens33
成功删除连接"ens33"(c96bc909-188e-ec64-3a96-6a90982b08ad)。
# 1. 新建网卡连接:ifname=实际网卡名,con-name=连接名,type=网卡类型(ethernet=以太网)[root@localhost ~]# nmcli connection add ifname ens33 con-name ens33 type ethernet 连接"ens33"(539b8651-561f-444d-8119-0a11e223cf25)已成功添加。# 2. 验证新建结果:确认ens33连接已创建,且自动生成配置文件[root@localhost ~]# nmcli connection show NAME UUID TYPE DEVICE ens33 539b8651-561f-444d-8119-0a11e223cf25 ethernet ens33 virbr0 b7f9a42b-edf5-47b0-a22f-8fad7c0cde78 bridge virbr0 [root@localhost ~]# ls /etc/sysconfig/network-scripts/ifcfg-ens33 # 3. 配置网络核心参数(静态IP、网关、DNS)# 3.1 配置静态IP地址和子网掩码(/24等价于255.255.255.0)[root@localhost ~]# nmcli connection modify ens33 ipv4.addresses "10.10.10.10/24"# 3.2 配置默认网关[root@localhost ~]# nmcli connection modify ens33 ipv4.gateway "10.10.10.254"# 3.3 配置首选DNS服务器[root@localhost ~]# nmcli connection modify ens33 ipv4.dns "114.114.114.114"# 3.4 追加备用DNS服务器(+表示新增,不覆盖现有DNS)[root@localhost ~]# nmcli connection modify ens33 +ipv4.dns "8.8.8.8"# 4. 配置IP获取方式为手动(manual=静态IP,auto=DHCP自动获取)[root@localhost ~]# nmcli connection modify ens33 ipv4.method manual # 5. 重新加载配置并启动网卡,使所有配置生效[root@localhost ~]# nmcli connection reload[root@localhost ~]# nmcli connection up ens33
# 1. 新建网卡连接:ifname=实际网卡名,con-name=连接名,type=网卡类型(ethernet=以太网)
[root@localhost ~]# nmcli connection add ifname ens33 con-name ens33 type ethernet
连接"ens33"(539b8651-561f-444d-8119-0a11e223cf25)已成功添加。
# 2. 验证新建结果:确认ens33连接已创建,且自动生成配置文件
ens33 539b8651-561f-444d-8119-0a11e223cf25 ethernet ens33
[root@localhost ~]# ls /etc/sysconfig/network-scripts/
# 3. 配置网络核心参数(静态IP、网关、DNS)
# 3.1 配置静态IP地址和子网掩码(/24等价于255.255.255.0)
[root@localhost ~]# nmcli connection modify ens33 ipv4.addresses "10.10.10.10/24"
# 3.2 配置默认网关
[root@localhost ~]# nmcli connection modify ens33 ipv4.gateway "10.10.10.254"
# 3.3 配置首选DNS服务器
[root@localhost ~]# nmcli connection modify ens33 ipv4.dns "114.114.114.114"
# 3.4 追加备用DNS服务器(+表示新增,不覆盖现有DNS)
[root@localhost ~]# nmcli connection modify ens33 +ipv4.dns "8.8.8.8"
# 4. 配置IP获取方式为手动(manual=静态IP,auto=DHCP自动获取)
[root@localhost ~]# nmcli connection modify ens33 ipv4.method manual
# 5. 重新加载配置并启动网卡,使所有配置生效
VMware提供了三种核心网络工作模式,不同模式对应不同的网络连通场景,理解其原理能快速解决虚拟机网络不通问题。
services.msc