天天看點

Ubuntu20.04網絡配置 和 網卡綁定

作者:愛學習de小烏龜

前言

Ubuntu在桌面辦公、伺服器方面有着不俗的表現,總能夠将最新的應用特性囊括其中。

20.04 LTS新功能:

  • 由Canonical提供5年的支援至2025年,ESM擴充支援至2030年。
  • 可在主流平台上運作——x86-64,ARM v7,ARM64,POWER8,POWER9,IBM s390x(LinuxONE),且将引入對RISC-V的基礎支援。
  • 為AWS和Azure所定制的雲鏡像——Ubuntu Pro,包含了安全加強,認證,核心熱更新檔(Kernel livepatch)以及其他功能。
  • Ubuntu Server Live安裝助手現在在聯網的情況下自動更新到最新版本并擷取最新安全漏洞更新檔。提供自動安裝的基礎支援。
  • SSH支援2次身份認證(2FA)
  • WireGuard®——具有現代加密技術且簡單易用的創新VPN技術
  • AppArmor3使系統更安全
  • 更為靈活的bootloader,可容許故障磁盤啟動。
  • 在Microsoft Azure上對IPv6的支援更好
  • 支援Amazon Web Services (AWS)最新的Instance Metadata Service(IMDSv2)
  • 長期支援的Linux 5.4核心支援最新的硬體,且包含最新的安全更新。
  • 軟體版本更新:QEMU(v4.2), libvirt(v6.0), PHP(v7.4),Ruby(v2.7),GCC(V9.3),Python(v3.8),MySQL(v8.0),NGINX(v1.17)

1.Ubuntu 20.04網絡配置

官方文檔:https://netplan.io/           

Ubuntu從17.04開始,已經放棄在/etc/network/interfaces 裡固定IP的配置,而是改成netplan方式,配置檔案是:/etc/netplan/00-installer-config.yaml

1.1 Ubuntu 17.04及之前的靜态IP配置方式

~# cat /etc/network/interfaces
root@magedu:~# cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth0 #⽹卡⾃啟動,寫⾃⼰要配置IP的實際⽹卡名稱
iface eth0 inet static #配置靜态IP,寫⾃⼰要配置IP的實際⽹卡名稱
address 172.18.3.12 #IP位址
netmask 255.255.0.0 #掩碼
gateway 172.18.0.1 #⽹關
dns-nameservers 223.6.6.6 #DNS
dns-nameservers 223.5.5.5
#重新開機⽹絡服務
~# /etc/init.d/networking restart
~# systemctl restart networking.service           

1.2 單網卡靜态IP位址

# ubuntu 20.04配置靜态IP位址
           
root@node70:~# vim /etc/netplan/00-installer-config.yaml
network:
  version: 2
  ethernets:
    ens33:
      addresses:
      - 10.0.0.70/8
      gateway4: 10.0.0.254
      nameservers:
        addresses:
        - 223.5.5.5
        search:
        - www.chsblogs.com
           
root@node70:~# netplan apply           
set paste #取消vim自動縮進功能
           

1.3 配置多網卡靜态IP

# ubuntu 20.04配置多網卡靜态IP位址以及靜态路由
           
root@node70:~# vim /etc/netplan/00-installer-config.yaml
network:
  version: 2
  ethernets:
    ens33:
      addresses:
      - 10.0.0.70/8
      gateway4: 10.0.0.254
      nameservers:
        addresses:
        - 223.5.5.5
        search:
        - www.chs.com
    ens38:
      addresses:
      - 172.16.0.70/8
      nameservers:
        addresses:
        - 223.5.5.5
      routes:
        - to: 172.0.0.0/8
          via: 172.0.0.1
        - to: 10.0.0.0/8
          via: 10.0.0.254           
root@node70:~# netplan apply           

1.4單網卡橋接

# ubuntu 20.04配置單網卡橋接
           
root@node70:~# vim /etc/netplan/00-installer-config.yaml
network:
  version: 2
  ethernets:
    ens33:
      dhcp4: no
      dhcp6: no
  bridges:
    br0:
      dhcp4: no
      dhcp6: no
      addresses: [10.0.0.70/8]
      gateway4: 10.0.0.254
      nameservers:
        addresses: [223.5.5.5]
      interfaces:
        - ens33
           

1.5 多網卡橋接

# ubuntu 20.04配置單網卡橋接,将br0和br1分别橋接到ens33和ens38
           
root@node70:~# vim /etc/netplan/00-installer-config.yaml
network:
  version: 2
  ethernets:
    ens33:
      dhcp4: no
      dhcp6: no
    ens38:
      dhcp4: no
      dhcp6: no
  bridges:
    br0:
      dhcp4: no
      dhcp6: no
      addresses: [10.0.0.70/8]
      gateway4: 10.0.0.254
      nameservers:
        addresses: [223.5.5.5]
      interfaces:
        - ens33
    br1:
      dhcp4: no
      dhcp6: no
      addresses: [172.0.0.70/8]
      routes:
        - to: 172.0.0.0/8
          via: 172.0.0.1
        - to: 10.0.0.0/8
          via: 10.0.0.254
      interfaces:
        - ens38
           

1.6 雙網卡綁定

# 七種bond模式說明:
           
第⼀種模式:mod=0,即:(balance-rr) Round-robin policy(平衡掄循環政策)
特點:傳輸資料包順序是依次傳輸(即:第1個包⾛eth0,下⼀個包就⾛eth1….⼀直循環下去,直到最後⼀個傳輸完畢),此模式提供負載平衡和容錯能⼒。

第⼆種模式:mod=1,即: (active-backup) Active-backup policy(主-備份政策)
特點:隻有⼀個裝置處于活動狀态,當⼀個宕掉另⼀個⻢上由備份轉換為主裝置。mac位址是外部可⻅得,從外⾯看來,bond的MAC位址是唯⼀的,以避免switch(交換機)發⽣混亂。此模式隻提供了容錯能⼒;由此可⻅此算法的優點是可以提供⾼⽹絡連接配接的可⽤性,但是它的資源利⽤率較低,隻有⼀個接⼝處于⼯作狀态,在有 N 個⽹絡接⼝的情況下,資源利⽤率為1/N。

第三種模式:mod=2,即:(balance-xor) XOR policy(平衡政策)
特點:基于指定的傳輸HASH政策傳輸資料包。預設的政策是:(源MAC位址 XOR ⽬标MAC位址) % slave數量。其他的傳輸政策可以通過xmit_hash_policy選項指定,此模式提供負載平衡和容錯能⼒。

第四種模式:mod=3,即:broadcast(⼴播政策)
特點:在每個slave接⼝上傳輸每個資料包,此模式提供了容錯能⼒。

第五種模式:mod=4,即:(802.3ad) IEEE 802.3adDynamic link aggregation(IEEE 802.3ad 動态連結
聚合)
特點:建立⼀個聚合組,它們共享同樣的速率和雙⼯設定。根據802.3ad規範将多個slave⼯作在同⼀個激活的聚合體下。
必要條件:
條件1:ethtool⽀持擷取每個slave的速率和雙⼯設定。
條件2:switch(交換機)⽀持IEEE 802.3ad Dynamic link aggregation。
條件3:⼤多數switch(交換機)需要經過特定配置才能⽀持802.3ad模式。

第六種模式:mod=5,即:(balance-tlb) Adaptive transmit load balancing(擴充卡傳輸負載均衡)
特點:不需要任何特别的switch(交換機)⽀持的通道bonding。在每個slave上根據目前的負載(根據速度計算)配置設定外出流量。如果正在接受資料的slave出故障了,另⼀個slave接管失敗的slave的MAC位址。該模式的必要條件:ethtool⽀持擷取每個slave的速率

第七種模式:mod=6,即:(balance-alb) Adaptive load balancing(擴充卡适應性負載均衡)
特點:該模式包含了balance-tlb模式,同時加上針對IPV4流量的接收負載均衡(receive load balance,
rlb),⽽且不需要任何switch(交換機)的⽀持。
           
# ubuntu 20.04雙網卡綁定配置
           
root@node70:~# vim /etc/netplan/00-installer-config.yaml
network:
  version: 2
  ethernets:
    ens33:
      dhcp4: no
      dhcp6: no
    ens38:
      dhcp4: no
      dhcp6: no
  bonds:
    bond0:
      interfaces:
        - ens33
        - ens38
      addresses: [10.0.0.70/8]
      gateway4: 10.0.0.254
      nameservers:
        addresses: [223.5.5.5]
      parameters:
        mode: active-backup
        mii-monitor-interval: 100           

1.7 雙網卡綁定 & 橋接

# 網卡綁定用于提供網卡接口備援以及高可用和端口聚合功能,橋接網卡再給需要橋接裝置的服務使用。
           
root@node70:~# vim /etc/netplan/00-installer-config.yaml
network:
  version: 2
  ethernets:
    ens33:
      dhcp4: no
      dhcp6: no
    ens38:
      dhcp4: no
      dhcp6: no
  bonds:
    bond0:
      interfaces:
        - ens33
        - ens38
      #addresses: [10.0.0.70/8]
      #gateway4: 10.0.0.254
      #nameservers:
      #  addresses: [223.5.5.5]
      parameters:
        mode: active-backup
        mii-monitor-interval: 100
  bridges:
    br0:
      dhcp4: no
      dhcp6: no
      addresses: [10.0.0.70/8]
      gateway4: 10.0.0.254
      nameservers:
        addresses: [223.5.5.5]
      interfaces:
        - bond0
           

1.8 内外多網卡綁定

多網卡情況下實作網卡綁定

root@node70:~# vim /etc/netplan/00-installer-config.yaml
network:
  version: 2
  ethernets:
    ens33:
      dhcp4: no
      dhcp6: no
    ens38:
      dhcp4: no
      dhcp6: no
    ens39:
      dhcp4: no
      dhcp6: no
    ens40:
      dhcp4: no
      dhcp6: no
  bonds:
    bond0:
      interfaces:
        - ens33
        - ens38
      addresses: [10.0.0.70/8]
      gateway4: 10.0.0.254
      nameservers:
        addresses: [223.5.5.5]
      parameters:
        mode: active-backup
        mii-monitor-interval: 100
    bond1:
      interfaces:
        - ens39
        - ens40
      addresses: [172.0.0.70/8]
      gateway4: 172.0.0.1
      nameservers:
        addresses: [223.5.5.5]
      parameters:
        mode: active-backup
        mii-monitor-interval: 100
      routes:
        - to: 10.0.0.0/8
          via: 10.0.0.254
        - to: 172.0.0.0/8
          via: 172.0.0.1           

1.9 内網多網卡綁定 & 橋接

root@node70:~# vim /etc/netplan/00-installer-config.yaml
network:
  version: 2
  ethernets:
    ens33:
      dhcp4: no
      dhcp6: no
    ens38:
      dhcp4: no
      dhcp6: no
    ens39:
      dhcp4: no
      dhcp6: no
    ens40:
      dhcp4: no
      dhcp6: no
  bonds:
    bond0:
      interfaces:
        - ens33
        - ens38
      parameters:
        mode: active-backup
        mii-monitor-interval: 100
    bond1:
      interfaces:
        - ens39
        - ens40
      parameters:
        mode: active-backup
        mii-monitor-interval: 100
  bridges:
    br0:
      dhcp4: no
      dhcp6: no
      addresses: [10.0.0.70/8]
      gateway4: 10.0.0.254
      nameservers:
        addresses: [223.5.5.5]
      interfaces:
        - bond0
    br1:
      dhcp4: no
      dhcp6: no
      addresses: [172.0.0.70/8]
      gateway4: 172.0.0.1
      nameservers:
        addresses: [223.5.5.5]
      interfaces:
        - bond1
      routes:
        - to: 10.0.0.0/8
          via: 10.0.0.254
        - to: 172.0.0.0/8
          via: 172.0.0.1           

1人點贊

運維工作

作者:付宏洲

連結:https://www.jianshu.com/p/fe3cfadd61f6

來源:簡書

著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。