自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在Linux上從NetworkManager切換為systemd-network

系統(tǒng) Linux
systemd 的采用一直是激烈爭(zhēng)論的主題,它的支持者和反對(duì)者之間的戰(zhàn)火仍然在燃燒。到了今天,大部分主流 Linux 發(fā)行版都已經(jīng)采用了 systemd 作為默認(rèn)的初始化init系統(tǒng)。作為一個(gè) “從未完成、從未完善、但一直追隨技術(shù)進(jìn)步” 的系統(tǒng),systemd 已經(jīng)不只是一個(gè)初始化進(jìn)程,它被設(shè)計(jì)為一個(gè)更廣泛的系統(tǒng)以及服務(wù)管理平臺(tái),這個(gè)平臺(tái)是一個(gè)包含了不斷增長(zhǎng)的核心系統(tǒng)進(jìn)程、庫(kù)和工具的生態(tài)系統(tǒng)。

   在 Linux 世界里,對(duì) systemd 的采用一直是激烈爭(zhēng)論的主題,它的支持者和反對(duì)者之間的戰(zhàn)火仍然在燃燒。到了今天,大部分主流 Linux 發(fā)行版都已經(jīng)采用了 systemd 作為默認(rèn)的初始化init系統(tǒng)。

  正如其作者所說,作為一個(gè) “從未完成、從未完善、但一直追隨技術(shù)進(jìn)步” 的系統(tǒng),systemd 已經(jīng)不只是一個(gè)初始化進(jìn)程,它被設(shè)計(jì)為一個(gè)更廣泛的系統(tǒng)以及服務(wù)管理平臺(tái),這個(gè)平臺(tái)是一個(gè)包含了不斷增長(zhǎng)的核心系統(tǒng)進(jìn)程、庫(kù)和工具的生態(tài)系統(tǒng)。

 

  systemd 的其中一部分是 systemd-networkd,它負(fù)責(zé) systemd 生態(tài)中的網(wǎng)絡(luò)配置。使用 systemd-networkd,你可以為網(wǎng)絡(luò)設(shè)備配置基礎(chǔ)的 DHCP/靜態(tài) IP 網(wǎng)絡(luò)。它還可以配置虛擬網(wǎng)絡(luò)功能,例如網(wǎng)橋、隧道和 VLAN。systemd-networkd 目前還不能直接支持無(wú)線網(wǎng)絡(luò),但你可以使用 wpa_supplicant 服務(wù)配置無(wú)線適配器,然后把它和 systemd-networkd 聯(lián)系起來(lái)。

  在很多 Linux 發(fā)行版中,NetworkManager 仍然作為默認(rèn)的網(wǎng)絡(luò)配置管理器。和 NetworkManager 相比,systemd-networkd 仍處于積極的開發(fā)狀態(tài),還缺少一些功能。例如,它還不能像 NetworkManager 那樣能讓你的計(jì)算機(jī)在任何時(shí)候通過多種接口保持連接。它還沒有為更高層面的腳本編程提供 ifup/ifdown 鉤子函數(shù)。但是,systemd-networkd 和其它 systemd 組件(例如用于域名解析的 resolved、NTP 的timesyncd,用于命名的 udevd)結(jié)合的非常好。隨著時(shí)間增長(zhǎng),systemd-networkd只會(huì)在 systemd 環(huán)境中扮演越來(lái)越重要的角色。

  如果你對(duì) systemd-networkd 的進(jìn)步感到高興,從 NetworkManager 切換到 systemd-networkd 是值得你考慮的一件事。如果你強(qiáng)烈反對(duì) systemd,對(duì) NetworkManager 或基礎(chǔ)網(wǎng)絡(luò)服務(wù)感到很滿意,那也很好。

  但對(duì)于那些想嘗試 systemd-networkd 的人,可以繼續(xù)看下去,在這篇指南中學(xué)會(huì)在 Linux 中怎么從 NetworkManager 切換到 systemd-networkd。

  需求

systemd 210 及其更高版本提供了 systemd-networkd。因此諸如 Debian 8 "Jessie" (systemd 215)、 Fedora 21 (systemd 217)、 Ubuntu 15.04 (systemd 219) 或更高版本的 Linux 發(fā)行版和 systemd-networkd 兼容。

  對(duì)于其它發(fā)行版,在開始下一步之前先檢查一下你的 systemd 版本。

  1. $ systemctl --version 

  從 NetworkManager 切換到 Systemd-networkd

       從 NetworkManager 切換到 systemd-networkd 其實(shí)非常簡(jiǎn)答(反過來(lái)也一樣)。

  首先,按照下面這樣先停用 NetworkManager 服務(wù),然后啟用 systemd-networkd。

  1. $ sudo systemctl disable NetworkManager 
  2. $ sudo systemctl enable systemd-networkd

  你還要啟用 systemd-resolved 服務(wù),systemd-networkd用它來(lái)進(jìn)行域名解析。該服務(wù)還實(shí)現(xiàn)了一個(gè)緩存式 DNS 服務(wù)器。

  1. $ sudo systemctl enable systemd-resolved 
  2. $ sudo systemctl start systemd-resolved

  當(dāng)啟動(dòng)后,systemd-resolved 就會(huì)在 /run/systemd 目錄下某個(gè)地方創(chuàng)建它自己的 resolv.conf。但是,把 DNS 解析信息存放在 /etc/resolv.conf 是更普遍的做法,很多應(yīng)用程序也會(huì)依賴于 /etc/resolv.conf。因此為了兼容性,按照下面的方式創(chuàng)建一個(gè)到 /etc/resolv.conf 的符號(hào)鏈接。

  1. $ sudo rm /etc/resolv.conf 
  2. $ sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

  用 systemd-networkd 配置網(wǎng)絡(luò)連接要用 systemd-networkd 配置網(wǎng)絡(luò)服務(wù),你必須指定帶.network 擴(kuò)展名的配置信息文本文件。這些網(wǎng)絡(luò)配置文件保存到 /etc/systemd/network 并從這里加載。當(dāng)有多個(gè)文件時(shí),systemd-networkd 會(huì)按照字母順序一個(gè)個(gè)加載并處理。

  首先創(chuàng)建 /etc/systemd/network 目錄。

  1. $ sudo mkdir /etc/systemd/network 

  DHCP 網(wǎng)絡(luò)

      首先來(lái)配置 DHCP 網(wǎng)絡(luò)。對(duì)于此,先要?jiǎng)?chuàng)建下面的配置文件。文件名可以任意,但記住文件是按照字母順序處理的。

  1. $ sudo vi /etc/systemd/network/20-dhcp.network 
  1. [Match] 
  2. Name=enp3*
  3.  
  4. [Network]
  5. DHCP=yes

  正如你上面看到的,每個(gè)網(wǎng)絡(luò)配置文件包括了一個(gè)或多個(gè) “sections”,每個(gè) “section”都用 [XXX] 開頭。每個(gè) section 包括了一個(gè)或多個(gè)鍵值對(duì)。[Match] 部分決定這個(gè)配置文件配置哪個(gè)(些)網(wǎng)絡(luò)設(shè)備。例如,這個(gè)文件匹配所有名稱以 ens3 開頭的網(wǎng)絡(luò)設(shè)備(例如 enp3s0、 enp3s1、 enp3s2 等等)對(duì)于匹配的接口,然后啟用 [Network] 部分指定的 DHCP 網(wǎng)絡(luò)配置。

  靜態(tài) IP網(wǎng)絡(luò)

      如果你想給網(wǎng)絡(luò)設(shè)備分配一個(gè)靜態(tài) IP 地址,那就新建下面的配置文件。

  1. $ sudo vi /etc/systemd/network/10-static-enp3s0.network 
  1. [Match] 
  2. [Network]
  3.  
  4. Address=192.168.10.50/24
  5. Gateway=192.168.10.1
  6. DNS=8.8.8.8

  正如你猜測(cè)的, enp3s0 接口地址會(huì)被指定為 192.168.10.50/24,默認(rèn)網(wǎng)關(guān)是 192.168.10.1, DNS 服務(wù)器是 8.8.8.8。這里微妙的一點(diǎn)是,接口名 enp3s0 事實(shí)上也匹配了之前 DHCP 配置中定義的模式規(guī)則。但是,根據(jù)詞匯順序,文件 "10-static-enp3s0.network" 在 "20-dhcp.network" 之前被處理,對(duì)于 enp3s0 接口靜態(tài)配置比 DHCP 配置有更高的優(yōu)先級(jí)。

  一旦你完成了創(chuàng)建配置文件,重啟 systemd-networkd 服務(wù)或者重啟機(jī)器。

  1. $ sudo systemctl restart systemd-networkd 

運(yùn)行以下命令檢查服務(wù)狀態(tài):

  1. $ systemctl status systemd-networkd 
  2. $ systemctl status systemd-resolved

 

  用 systemd-networkd 配置虛擬網(wǎng)絡(luò)設(shè)備systemd-networkd 同樣允許你配置虛擬網(wǎng)絡(luò)設(shè)備,例如網(wǎng)橋、VLAN、隧道、VXLAN、綁定等。你必須在用 .netdev 作為擴(kuò)展名的文件中配置這些虛擬設(shè)備。

  這里我展示了如何配置一個(gè)橋接接口。

  Linux 網(wǎng)橋如果你想創(chuàng)建一個(gè) Linux 網(wǎng)橋(br0) 并把物理接口(eth1) 添加到網(wǎng)橋,你可以新建下面的配置。

  1. $ sudo vi /etc/systemd/network/bridge-br0.netdev 
  1. [NetDev] 
  2. Name=br0
  3. Kind=bridge

  然后按照下面這樣用 .network 文件配置網(wǎng)橋接口 br0 和從接口 eth1。

  1. $ sudo vi /etc/systemd/network/bridge-br0-slave.network 
  1. [Match] 
  2. Name=eth1
  3.  
  4. [Network]
  5. Bridge=br0
  1. $ sudo vi /etc/systemd/network/bridge-br0.network 
  1. [Match] 
  2. Name=br0
  3.  
  4. [Network]
  5. Address=192.168.10.100/24
  6. Gateway=192.168.10.1
  7. DNS=8.8.8.8

  ***,重啟 systemd-networkd。

  1. $ sudo systemctl restart systemd-networkd 

  你可以用 brctl 工具 來(lái)驗(yàn)證是否創(chuàng)建好了網(wǎng)橋 br0。

  總結(jié)當(dāng) systemd 誓言成為 Linux 的系統(tǒng)管理器時(shí),有類似 systemd-networkd 的東西來(lái)管理網(wǎng)絡(luò)配置也就不足為奇。但是在現(xiàn)階段,systemd-networkd 看起來(lái)更適合于網(wǎng)絡(luò)配置相對(duì)穩(wěn)定的服務(wù)器環(huán)境。對(duì)于桌面/筆記本環(huán)境,它們有多種臨時(shí)有線/無(wú)線接口,NetworkManager 仍然是比較好的選擇。

  對(duì)于想進(jìn)一步了解 systemd-networkd 的人,可以參考 官方man 手冊(cè)了解完整的支持列表和關(guān)鍵點(diǎn)。

via: http://xmodulo.com/switch-from-networkmanager-to-systemd-networkd.html

作者:Dan Nanni 譯者:ictlyh 校對(duì):wxy

本文由 LCTT 原創(chuàng)編譯,Linux中國(guó) 榮譽(yù)推出

責(zé)任編輯:武曉燕 來(lái)源: 開源中文
相關(guān)推薦

2014-07-14 09:24:51

Debiansystemd

2020-02-11 15:50:51

WindowsLinux命令行

2020-04-17 14:37:19

WindowsLinux微軟

2021-12-07 12:00:12

UbuntuLinuxQt 6.2.2

2020-04-21 14:21:31

LinuxPython

2018-12-11 11:00:50

Linux字體命令

2021-10-02 10:10:47

LinuxBusyBox命令

2021-10-12 08:43:19

LinuxSambaWindows

2019-01-07 09:50:06

Linuxtarball命令

2019-11-26 16:58:51

Linuxpkgsrc

2019-11-26 09:20:47

LinuxJava

2023-01-17 07:40:59

LinuxAppImage應(yīng)用程序

2021-08-18 11:19:25

FedoraLinuxJava

2021-09-11 15:41:55

UbuntuDropbox云服務(wù)

2017-03-29 16:18:11

LinuxUbuntuRedmine

2020-04-30 13:50:11

Linux網(wǎng)卡信息

2021-07-12 14:47:16

UbuntuZlib代碼

2022-09-13 08:40:24

AndroidLinux

2017-09-18 10:05:15

WindowsLinux容器

2020-08-24 12:37:54

Linuxxargs命令
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)