概述
本文主要介紹在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