概述
本文主要介绍在Alibaba Cloud Linux 2系统的实例中,网络服务使用传统的network-scripts与使用systemd-networkd产生的影响说明,以及进行相关配置变更的方法。
详细信息
阿里云提醒您:
如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
Alibaba Cloud Linux 2实例使用的网络服务
Alibaba Cloud Linux 2实例从下列镜像开始,默认网络服务从systemd-networkd切换为network-scripts,以符合大多数用户的网络配置习惯,实现更好的兼容性。由于存量实例无法执行自动切换操作,目前存量Alibaba Cloud Linux 2实例仍然保持systemd-networkd的网络配置模式,若您希望将存量实例的网络类型切换为network-scripts,请参见进行从systemd-networkd切换至network-scripts的方法操作。
基础镜像:aliyun_2_1903_x64_20G_alibase_20210208.vhd
AMD版镜像:aliyun_2_1903_x64_20G_uefi_alibase_20210218.vhd
本地镜像:aliyun_2_1903_x64_20G_nocloud_alibase_20210218.vhd
可信版镜像:aliyun_2_1903_x64_20G_secured_alibase_20210218.vhd
快速启动版镜像:aliyun_2_1903_x64_20G_qboot_alibase_20210218.vhd
等保2.0三级版镜像:aliyun_2_1903_x64_20G_dengbao_alibase_20210218.vhd
从systemd-networkd切换至network-scripts的方法
切换网络服务所产生的影响说明
对原有实例的影响
如果同时购买了新实例,则新实例和之前实例的网络配置模式将会不一致。因此建议您将存量实例的网络类型从systemd-networkd切换为network-scripts。
开机启动速度的变化
传统的network-scripts网络服务,使用Shell脚本直接进行网络配置,执行效率较低。实例的网卡在无特殊配置的前提下,在整个系统启动过程中,即从实例创建到通过SSH远程连接过程中,相比使用systemd-networkd网络服务的实例多出2~4秒的启动时间。
如果接受不了实例的启动速度变慢,且用户可以接受不兼容network-scripts的网络配置方式,请参见从network-scripts切换至systemd-networkd的方法,切换网络服务为systemd-networkd,若遇到systemd-networkd相关的问题,请参见systemd-networkd常见问题及处理进行修复。
网络配置文件路径的更改
没有切换网络服务之前,原路径为
/etc/systemd/network
,现在需要切换回传统的/etc/sysconfig/network-scripts/
路径。若您想了解两个配置文件常见的配置项差异,具体信息请参见network-scripts与systemd-networkd配置项的差异。网络服务重启命令的变化
使用systemd-networkd网络服务,使用以下命令重启网络服务。
sudo systemctl restart systemd-networkd
切换至network-scripts网络服务后,使用以下命令重启网络服务。
sudo systemctl restart network
将存量实例的网络服务切换为network-scripts
执行下列操作之前,请确保已知悉切换网络服务所产生的影响,方可执行下列操作。
注意:本次操作涉及网络配置,操作不当可能会导致网络不通。为了避免误操作引发数据安全和网络风险,请为Linux实例的系统盘创建快照。关于如何创建快照,请参见创建快照。
根据您是否沿用旧的
resolv.conf
配置文件,参考以下内容完成配置:如果沿用旧的
resolv.conf
配置文件,请参考以下步骤:执行以下命令,对
resolv.conf
软链接文件进行备份。mv /etc/resolv.conf /etc/resolv.conf.bak
执行以下命令,将备份文件的内容写入新的
resolv.conf
配置文件中。cat /etc/resolv.conf.bak > /etc/resolv.conf
执行以下命令,锁定
resolv.conf
配置文件,对resolv.conf
配置文件进行保护。chattr +i /etc/resolv.conf
如果不需要沿用旧的
resolv.conf
配置文件,请执行以下命令,删除旧的resolv.conf
配置文件。rm /etc/resolv.conf
说明说明:
启动network.service服务后,系统会自动生成新的resolv.conf文件。
关于systemd-resolved服务的更多信息, 请参见systemd-resolved域名解析服务。
依次执行以下命令,切换网络管理服务。
systemctl enable network systemctl disable systemd-networkd systemctl disable systemd-resolved
执行以下命令,重启机器。
reboot
执行以下命令,确认启动network-scripts网络服务成功。
systemctl status network
从network-scripts切换至systemd-networkd的方法
如果您比较在意系统的启动速度,并已知悉sytemd-networkd存在的已知问题及风险,您可参见下列步骤,将网络服务从network-scripts切换至systemd-networkd。
注意:本次操作涉及网络配置,操作不当可能会导致网络不通。为了避免误操作引发数据安全和网络风险,请为Linux实例的系统盘创建快照。关于如何创建快照,请参见创建快照。
根据您是否沿用旧的
resolv.conf
配置文件,参考以下内容完成配置:如果沿用旧的
resolv.conf
配置文件,请参考以下步骤:执行以下命令,对
resolv.conf
软链接文件进行备份。cp /etc/resolv.conf /etc/resolv.conf.bak
执行以下命令,锁定
resolv.conf
配置文件,对resolv.conf
配置文件进行保护。chattr +i /etc/resolv.conf
如果不需要沿用旧的
resolv.conf
配置文件,请参考以下步骤:请执行以下命令,删除旧的
resolv.conf
配置文件。rm /etc/resolv.conf
执行以下命令,生成
resolv.conf
配置文件的软链接。ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
执行以下命令,确认网络接口配置文件存在且有效。
cat /etc/systemd/network/10-eth0.network
系统显示类似如下。
[Match] Name=eth0 [Network] DHCP=yes [DHCP] UseDNS=yes
依次执行以下命令,切换网络管理服务。
systemctl disable network.service systemctl enable systemd-networkd systemctl enable systemd-resolved
执行以下命令,重启机器。
reboot
执行以下命令,确认启动systemd-networkd网络服务成功。
systemctl status systemd-networkd
systemd-networkd常见问题及处理
以下内容为使用systemd-networkd网络服务常见的问题及处理方法,请根据现场情况,选择下列对应的步骤。
多网卡默认路由配置
问题描述 | 解决方法 |
如果在
| 请参见配置弹性网卡中的为Alibaba Cloud Linux 2系统配置弹性网卡章节,按需求为每个网卡单独配置,避免使用通配方式为特定网卡自动配置上默认路由。 |
systemd-resolved占用5355端口
问题描述 | 解决方法 |
默认配置下,systemd-resolved服务会开启DNS服务监听,占用UDP的5355端口。
|
若需要关闭5355端口,请将
说明 说明:
|
DNS域名解析间歇超时的问题
问题描述 | 问题原因 | 解决方法 |
|
|
|
IP转发配置失效
问题描述 | 问题原因 | 解决方法 |
在系统内sysconfig的网络转发默认配置为
|
systemd-networkd的配置缺少
|
您可以通过以下步骤新增一条IP转发配置,开启IP转发功能:
|
network-scripts与systemd-networkd配置项的差异
配置项
|
network-scripts
|
systemd-networkd
|
备注
|
IP
|
配置文件为:
|
配置文件为:
|
|
网关
|
配置文件为:
|
配置文件为:
| N/A |
DNS
|
配置文件为:
|
配置文件为: 说明 说明:此文件为指向
|
修改DNS的方法,请参见如何在Alibaba Cloud Linux 2实例中通过“/etc/resolv.conf”文件自定义配置DNS。
|
适用于
云服务器ECS