除了NetworkManager配置網絡,還有壹種networking也可以配置,但是會和NetworkManager打架,所以首先禁用NetworkManager。
配置Networking流程大致是:
systemctl stop NetworkManager.service
systemctl disable NetworkManager.service
徹底刪除avahi-daemon和avahi-autoipd。這兩個包是兼容蘋果系統的自動網絡發現服務,會幹擾傳統的dhcp運作。
比如這樣壹個interfaces文件:
interfaces文件中,以下這幾行是直接被ifup與ifdown文件使用的。
而以下幾行與Networking服務配置使用:
Networking服務在系統啟動、系統關閉和網線插拔時起作用。
因此,可以也可以不用restart networking,而是使用ifup/ifdown進行細粒度控制。
接來下的配置都是針對網口,所以需要知道有哪些網口,網口名通常為eth0或者enp0s3,如果是無線網口名可能為wlan0。
ls /sys/class/net
ip addr
網橋模式可以把兩個不同網口的子網組合在壹起,對外看上去好像是壹個子網,所以也叫透明模式。
該配置在虛擬機上測試的。
enp0s3是連接的外網。
配置bridge後:
結論:bridge連接的網口enp0s3的配置應該刪除,然後重啟電腦ifconfig才生效。
該配置在虛擬機上測試的。
enp0s3是連接的外網,enp0s8是內網。
配置bridge後:
該配置在工控機測試的。
配置bridge後,拿兩臺電腦,壹臺連enp3s0口,另壹臺連enp4s0口,兩臺電腦配置的ip地址都是40網段,比如192.168.40.10和192.168.40.11。
該配置在工控機測試的。配置完後br0沒有分配地址,這是最簡單的配置。
配置bridge後,拿兩臺電腦,壹臺連enp3s0口,另壹臺連enp4s0口,兩臺電腦配置的ip地址都是40網段,比如192.168.40.10和192.168.40.11。
設置bridge連接網口
設置bridge具體信息
若ifconfig後沒有br0信息,手動加載
通過以上多種配置和實驗,證明重啟系統生效更徹底。
那我們在完成功能開發的時候,不可能每次文件配置(interfaces)之後,要求用戶重啟系統來讓網絡配置徹底生效。
所以我的解決辦法是,通過ip命令配置立即生效(ip命令配置是臨時的,重啟系統之後會丟失,所以再配合文件配置),同時文件配置(interfaces)永久生效。
想知道ip命令如何配置請看《ip命令配置網絡和網橋》,移步 /p/26b4db8b1706 。
重啟不壹定會成功,查看報錯日誌很重要。
所謂網絡配置,可細分為三類:
分別對應如下命令查看: