igozhang

——

    网络配置文件

    ubuntu20.04,22.04配置IP,GW,DNS

    sudo bash -c '
    IP="10.10.10.11"
    GATEWAY="10.10.10.254"
    DNS="10.10.10.216"
    PREFIX="/24"   # 按实际网段修改,如 /23、/16
    
    # 自动识别默认出口网卡
    IFACE=$(ip -o -4 route show to default 2>/dev/null | awk "{print \$5; exit}")
    [ -z "$IFACE" ] && IFACE=$(ls /sys/class/net 2>/dev/null | grep -vE "^(lo|docker|veth|br-|virbr)" | head -1)
    [ -z "$IFACE" ] && { echo "无法识别网卡"; exit 1; }
    
    echo "使用网卡: $IFACE"
    mkdir -p /etc/netplan
    cp -a /etc/netplan /etc/netplan.bak.$(date +%Y%m%d%H%M%S) 2>/dev/null || true
    rm -f /etc/netplan/*.yaml /etc/netplan/*.yml 2>/dev/null || true
    
    cat > /etc/netplan/01-static.yaml <<EOF
    network:
      version: 2
      renderer: networkd
      ethernets:
        ${IFACE}:
          dhcp4: no
          dhcp6: no
          addresses:
            - ${IP}${PREFIX}
          routes:
            - to: default
              via: ${GATEWAY}
          nameservers:
            addresses:
              - ${DNS}
    EOF
    
    netplan generate && netplan apply
    ip -4 addr show dev "$IFACE"
    ip -4 route show default
    resolvectl status 2>/dev/null | sed -n "1,20p" || cat /etc/resolv.conf
    '
    

    ubuntu22.04物理机设置bond并生效

    sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.bak && sudo tee /etc/netplan/50-cloud-init.yaml > /dev/null << 'EOF'
    network:
      ethernets:
        ens9f1np1:
          dhcp4: no
        ens10f1np1:
          dhcp4: no
      bonds:
        bond0:
          interfaces: [ens9f1np1, ens10f1np1]
          dhcp4: no
          addresses: [10.145.241.152/24]
          routes:
            - to: default
              via: 10.145.241.254
          nameservers:
            addresses: [10.145.241.231]
          parameters:
            mode: active-backup
            mii-monitor-interval: 100
      version: 2
      renderer: networkd
    EOF
    sudo netplan apply
    

    回退

    cp /etc/netplan/50-cloud-init.yaml.bak /etc/netplan/50-cloud-init.yaml && sudo ip link del bond0 2>/dev/null && sudo netplan apply
    

    ubuntu网络配置,network_config

    ubuntu18及以前用/etc/network/interfaces
    ubuntu20及以后用/etc/netplan/00-installer-config.yaml
    
    u18 /etc/network/interfaces
    auto ens3
    iface ens3 inet static
      address 172.21.240.105
      netmask 255.255.255.0
      gateway 172.21.240.254
      dns-nameserver 223.5.5.5
    netplan apply
    
    u20 /etc/netplan/00-installer-config.yaml
    # This is the network config written by 'subiquity'
    network:
      version: 2
      ethernets:
        ens32:
         dhcp4: false
         addresses: [10.10.2.223/24]
         gateway4: 10.10.2.2
         nameservers:
           addresses: [114.114.114.114,223.5.5.5]
    
    u18子接口:
    auto ens3:1
    iface ens3:1 inet static
        address 172.25.240.212
        netmask 255.255.255.0
    auto ens3:2
    iface ens3:2 inet static
        address 172.25.240.212
        netmask 255.255.255.0
    
    trunk,vlan:
    auto enp4s0.240
    iface enp4s0.240 inet manual
    vlan-raw-device enp4s0
    auto br0
    iface br0 inet static
            address 172.21.240.102
            network 172.21.240.0
            netmask 255.255.255.0
            gateway 172.21.240.254
            dns-nameservers 114.114.114.114
            bridge_ports enp4s0.240
            bridge_stp off
            bridge_fd 0
            bridge_maxwait 0
    
    bond:
    auto bond0
      iface bond0 inet manual
      #bond-mode active-backup
      bond-mode 1
      bond-miimon 100
      bond-slaves enp4s0 enp130s0
    
    Vlan配置:
    interfaces:
    cat /etc/network/interfaces
    auto lo
    iface lo inet loopback
    
    auto eth0.101
    iface eth0.101 inet manual
    mtu 9000
    vlan-raw-device eth0
    
    auto eth0.201
    iface eth0.201 inet manual
    vlan-raw-device eth0
    
    auto ibr0
    iface ibr0 inet dhcp
    bridge_ports eth0.101
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0
    
    auto obr0
    iface obr0 inet dhcp
    bridge_ports eth0.201
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0
    
    完整示例ubuntu18
    # cat /etc/netplan/01-netcfg.yaml
    network:
      version: 2
      renderer: networkd
      ethernets:
       enp132s0f0:
        dhcp4: no
        dhcp6: no
        optional: true
       eno1:
        dhcp4: no
        dhcp6: no
        optional: true
      vlans:
        vlan200:
         accept-ra: no
         id: 200
         link: bond0
        vlan201:
         accept-ra: no
         id: 201
         link: bond0
        vlan202:
         accept-ra: no
         id: 202
         link: bond0
        vlan203:
         accept-ra: no
         id: 203
         link: bond0
        vlan204:
         accept-ra: no
         id: 204
         link: bond0
      bridges:
       br0:
        interfaces: [bond0]
        dhcp4: no
        addresses: [10.33.240.211/24]
        gateway4: 10.33.240.254
        nameservers:
         addresses: [223.6.6.6,223.5.5.5]
        parameters:
         stp: false
         forward-delay: 0
       br200:
        interfaces: [vlan200]
        dhcp4: no
        parameters:
         stp: false
         forward-delay: 0
       br201:
        interfaces: [vlan201]
        dhcp4: no
        parameters:
         stp: false
         forward-delay: 0
    
      bonds:
       bond0:
        dhcp4: no
        dhcp6: no
        mtu: 9000
        interfaces:
        - eno1
        - enp132s0f0
        parameters:
           mode: active-backup
           mii-monitor-interval: 100
    
    netplan apply
    

    centos网络配置

    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    #IPV6INIT=yes
    #IPV6_AUTOCONF=yes
    #IPV6_DEFROUTE=yes
    #IPV6_FAILURE_FATAL=no
    #IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=eth0
    #UUID=c180587d-598d-4299-97c3-149d08125496
    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=172.21.240.163
    NETMASK=255.255.255.0
    GATEWAY=172.21.240.254
    DNS1=223.5.5.5
    子接口:
    vim /etc/sysconfig/network-scripts/ifcfg-eth0:1
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=dhcp
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    #IPV6INIT=yes
    NAME=eth0:1
    DEVICE=eth0:1
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=172.21.240.124
    NETMASK=255.255.255.0
    
    Centos_vlan
    vlan:
    母卡:
    DEVICE=ethX
    TYPE=Ethernet
    BOOTPROTO=none
    ONBOOT=yes
    
    vlan卡:
    DEVICE=ethX.192
    BOOTPROTO=none
    ONBOOT=yes
    IPADDR=192.168.1.1
    PREFIX=24
    NETWORK=192.168.1.0
    VLAN=yes
    
    systemctl restart network
    
    cent_team
    
    nmcli connection add type team con-name team1 ifname team1 config '{"runner":{"name":"activebackup"}}'
    nmcli connection add type team-slave con-name team1-port1 ifname ens161 master team1
    nmcli connection add type team-slave con-name team1-port2 ifname ens162 master team1
    nmcli connection modify team1 ipv4.method manual ipv4.addresses 192.168.3.201/24 ipv4.gateway 192.168.3.1 ipv4.dns 223.5.5.5
    关闭两slave卡的开机启动onboot=no,否则不会自动关联到team
    nmcli connection modify ens161 autoconnect no
    nmcli connection modify ens162 autoconnect no
    
    systemctl restart network
    teamdctl team1 state
    
    cent_bond
    nmcli connection add type bond ifname bond0 mode 1
    nmcli connection add type bond-slave ifname eno1 master bond0
    nmcli connection add type bond-slave ifname eno2 master bond0
    systemctl restart network
    

    MP3