Linux 网络配置
Linux 网络配置
1. 查看和测试网络配置
- 查看网络配置:使用
ifconfig\ip addr命令。 - 测试连通性:使用
ping命令来测试主机间的网络连通性。
2. 查看网关
- 使用路由表命令如
route -n或ip route来查看默认网关信息。
3. 配置IP地址
自动获取IP
- 特点:启动时自动获取IP,但每次可能不同。
- 方法:通过图形界面设置为自动获取。
指定静态IP
- 修改配置文件(例如
/etc/sysconfig/network-scripts/ifcfg-ens33)来指定静态IP。
原文件:
点击查看代码
[xy@localhost network-scripts]$ cat ifcfg-ens33
TYPE="Ethernet"
# 指定网络接口类型为以太网(有线网络)。
PROXY_METHOD="none"
# 不使用任何自动代理配置方法,即不通过WPAD等协议自动获取代理设置。
BROWSER_ONLY="no"
# 表示此连接不仅限于浏览器使用,其他应用程序也可以使用该网络连接。
BOOTPROTO="dhcp"
# 使用DHCP协议自动获取IP地址和其他网络参数(如子网掩码、默认网关和DNS服务器)。
DEFROUTE="yes"
# 允许此接口作为系统的默认路由,用于发送不在本地网络上的数据包。
IPV4_FAILURE_FATAL="no"
# 如果IPv4配置失败,系统不会认为这是致命错误,允许系统继续启动或运行。
IPV6INIT="yes"
# 启用IPv6支持。
IPV6_AUTOCONF="yes"
# 允许自动配置IPv6地址,通常通过SLAAC(无状态地址自动配置)完成。
IPV6_DEFROUTE="yes"
# 允许此接口作为IPv6流量的默认路由。
IPV6_FAILURE_FATAL="no"
# 如果IPv6配置失败,系统不会认为这是致命错误,允许系统继续启动或运行。
IPV6_ADDR_GEN_MODE="stable-privacy"
# 指定IPv6地址生成模式为稳定隐私扩展,这有助于提高用户隐私保护。
NAME="ens33"
# 网络接口的名称,在NetworkManager中显示的连接名称。
UUID="5a810f68-6b38-4d11-89c4-ab87fce2dc82"
# 唯一标识符,用来唯一识别这个网络接口配置。
DEVICE="ens33"
# 实际的网络设备名称,即物理或虚拟网络接口的名字。
ONBOOT="yes"
# 在系统启动时自动激活此网络接口。
点击查看代码
[root@localhost network-scripts]# cat ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
#BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="5a810f68-6b38-4d11-89c4-ab87fce2dc82"
DEVICE="ens33"
ONBOOT="yes"
BOOTPROTO="static" # 更改为静态获取
IPADDR="192.168.72.131" # 设置静态IP地址
PREFIX="24" # 或者 NETMASK="255.255.255.0" 设置子网掩码
GATEWAY="192.168.72.2" # 设置默认网关
DNS1="192.168.72.2" # 设置首选DNS服务器

- 应用更改:重启网络服务(
service network restart)或重启系统使更改生效。
Ubuntu(Ubuntu 24.04 LTS)
Ubuntu的配置文件在/etc/netplan目录下,有两个文件:01-network-manager-all.yaml和50-cloud-init.yaml
直接编辑50-cloud-init.yaml
点击查看代码
# network: {config: disabled}
network:
ethernets:
ens33:
dhcp4: no
addresses:
- 192.168.72.133/24 #静态ip
routes:
- to: default
via: 192.168.72.2 #网关
nameservers:
addresses: [8.8.8.8] #dns
version: 2
#注意格式的缩进与空格很容易出错

应用Netplan配置文件中的更改:netplan apply
编辑01-network-manager-all.yaml也一样效果
点击查看代码
root@user-VMware-Virtual-Platform:/etc/netplan# cat 01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
##这个设置告诉Netplan将所有网络接口的管理权交给NetworkManager。这意味着,即使你在Netplan配置文件中定义了静态IP地址或其他网络设置,这些设置实际上是由NetworkManager来应用的
01-network-manager-all.yaml 使用 NetworkManager 作为渲染器,意味着所有网络接口都由NetworkManager管理。
50-cloud-init.yaml 直接定义了网络接口的具体配置(例如ens33使用DHCP)。
注意:
点击查看代码
** (generate:108751): WARNING **: 16:26:23.869: Permissions for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should NOT be accessible by others.
** (process:108750): WARNING **: 16:26:24.857: Permissions for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should NOT be accessible by others.
** (process:108750): WARNING **: 16:26:25.197: Permissions for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should NOT be accessible by others.
出现这几行的意思是文件权限过于宽松的警告信息,解决方法:
点击查看代码
root@user-VMware-Virtual-Platform:/etc/netplan# chmod 600 01-network-manager-all.yaml
root@user-VMware-Virtual-Platform:/etc/netplan# chmod 600 50-cloud-init.yaml
4. NetworkManager、netplan 和 systemd-networkd的区别
NetworkManager
特点:
非常适合桌面环境,提供了一个易于使用的图形用户界面来管理网络连接,可以自动检测并配置有线、无线、移动宽带等多种类型的网络连接,容易上手。
- 连接配置文件通常位于
/etc/NetworkManager/system-connections/。 - 全局配置文件为
/etc/NetworkManager/NetworkManager.conf。
nmtui

保存生效:sudo systemctl restart NetworkManager
netplan
特点:
默认用于大多数新版本的Ubuntu服务器安装,可以根据Netplan配置文件自动生成其他网络配置工具(如NetworkManager或systemd-networkd)所需的配置。
- 通常位于
/etc/netplan/目录下,文件名可能是类似于01-netcfg.yaml或50-cloud-init.yaml。
systemd-networkd
轻量级的网络配置工具,直接处理网络接口和路由配置,更适合命令行操作,没有图形界面支持。
点击查看代码
[Match]
Name=ens33
[Network]
Address=192.168.200.130/24
Gateway=192.168.200.2
DNS=192.168.200.2
保存生效:sudo systemctl restart systemd-networkd
检查:systemctl status systemd-networkd
- 主要配置文件是
/etc/systemd/network/*.network,其中每个.network文件对应一个网络接口。

总结
- NetworkManager:适合桌面环境和个人电脑,提供图形界面和对多种网络类型的强大支持。
- netplan:适用于服务器环境,特别是云实例,提供了简单易用的声明式配置方法。
- systemd-networkd:适合服务器和嵌入式系统,提供轻量级、高效的网络配置解决方案,主要面向命令行用户。
如果vm虚拟机中没有网络,检查服务的这两项是否开启


浙公网安备 33010602011771号