Ubuntu 网络配置指导手册

一、前言

在这里插入图片描述

从Ubuntu 17.10 Artful开始,Netplan取代ifupdown成为默认的配置实用程序,网络管理改成 netplan 方式处理,不在再采用从/etc/network/interfaces 里固定 IP 的配置 ,配置写在 /etc/netplan/01-network-manager-all.yaml 或者类似名称的 yaml 文件里;Ubuntu 18.04发布后,Ubuntu和Debian又移除了以前的ifup/ifdown命令和/etc/network/interfaces配置文件,转而使用ip link set或者/etc/netplan/01-netcfg.yaml模板和sudo netplan apply命令实现网络管理。

Netplan 是抽象网络配置描述器的简称,是Ubuntu 17.10及更高版本中默认的网络配置工具。它是一个命令行工具,可以帮助用户轻松地配置网络接口,包括静态或动态IP地址、网关、DNS等,用于配置Linux网络。 它采用YAML格式的配置文件,这使得配置文件易于阅读和编辑,并且可以通过版本控制系统进行管理。此外,Netplan还支持基于渲染器的网络配置,这意味着它可以根据不同的网络配置需求,通过netplan命令,只需用一个 YAML文件描述每个网络接口所需配置,就可以应用该配置的生效网络,Netplan目前支持以下两种网络管理工具/引擎 :NetworkManager和Systemd-networkd,在YAML文件中通过renderer关键字进行描述,networkd和NetworkManager,但实际它并不关心底层管理工具是NetworkManager还是networkd。如果安装的是服务器版本,则默认使用networkd进行管理,并且不会安装NetworkManager和提供nmcli接口。如果安装的是桌面版本,则默认使用NetworkManager进行管理。

在这里插入图片描述

Netplan的一个主要优势是它可以帮助用户减少一些常见的网络配置问题,例如网络命名约定不一致、网络接口名称的变化等等。Ubuntu开发人员决定引入Netplan的主要原因是为了提高Ubuntu系统的网络配置体验和一致性,主要它提供了一个现代化的、易于阅读和编辑的YAML格式的配置文件,可以轻松地管理多个网络接口和配置参数,并支持多种配置引擎。使用Netplan,用户可以轻松地配置多个网络接口,并可以指定其默认路由,从而提高网络性能和安全性。Ubuntu系统可自动检测网络接口和硬件变化,并自动更新配置文件,避免了用户手动修改网络配置文件所带来的错误和不便。

附件:官方文档网络介绍NetplanNetplan DesignNetplan

二、网络配置

2.1 Netplan

在这里插入图片描述

netplan从/etc/netplan/文件夹中读取YAML配置文件,并按照其中的配置更新到后端网络映射文件;在系统启动阶段早期,netplan会读取配置文件,根据“network renderer”的指定,读取/{lib,etc,run}/netplan/*.yaml,所有的都会读到,在/run目录生成好配置文件并将设备控制权交给相关后台程序(网络守护进程)。/run/netplan下的yml文件会映射到/etc/netplan,其他目录下的文件会映射到/lib/netplan下。
在这里插入图片描述

配置项说明:

network: 该标签是配置文件的根标签,表示整个网络的配置。可以在该标签下定义多个网络接口的配置,以及一些全局设置。

version: 该标签用于指定 Netplan 的版本号。目前版本为 2。

renderer: 该标签用于指定网络接口的配置方式,支持 networkd 和 NetworkManager 两种渲染器。

ethernets: 该标签用于定义以太网接口的配置。

bridges: 该标签用于定义桥接接口的配置。

vlans: 该标签用于定义 VLAN 接口的配置。

bonds: 该标签用于定义网卡绑定接口的配置。

wifis: 该标签用于定义 Wi-Fi 接口的配置。

access-points: 该标签用于定义 Wi-Fi 接口的可访问点配置。

nameservers: 该标签用于定义 DNS 解析器的配置。

routes: 该标签用于定义路由表的配置。

dhcp4 和 dhcp6: 该标签用于定义 DHCP 的配置,包括是否使用 DHCP 和 DHCP 的选项。

更多参看或执行netplan helpnetplanyaml配置说明netplan-dbusnetplan-getnetplan-try

注:也可使用NM,再/etc/NetworkManager/NetworkManager.conf配置文件的managed = true,在重启NetworkManager服务:sudo service network-manager restart。

2.2 网络配置常用命令

在这里插入图片描述
1)网络基本信息查看

sudo ipconfig    #ip a s
#或lshw命令会提供对指定设备更详细的信息
sudo lshw -class network
sudo apt-get install netplan.io
sudo apt-get install net-tools

在这里插入图片描述
在这里插入图片描述

2)网络状态及配置参数查看

sudo ethtool eth4 //输出如下,该命令可查看到:自动写上,全双工,port,开机自唤起等属性

sudo ethtool eth4
Settings for eth4:
    Supported ports: [ FIBRE ]
    Supported link modes:   10000baseT/Full
    Supported pause frame use: No
    Supports auto-negotiation: No
    Supported FEC modes: Not reported
    Advertised link modes:  10000baseT/Full
    Advertised pause frame use: No
    Advertised auto-negotiation: No
    Advertised FEC modes: Not reported
    Speed: 10000Mb/s
    Duplex: Full
    Port: FIBRE
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: off
    Supports Wake-on: d
    Wake-on: d
    Current message level: 0x00000014 (20)
                   link ifdown
    Link detected: yes

3)ip地址配置

sudo ip addr add 10.1.2.5/24 dev enp0s25 #对指定网卡配置静态ip,配置后立即生效,多临时用户配置网络
ip link set dev enp0s25 up #启用网卡
ip link set dev enp0s25 down #关停网卡
ip address show dev enp0s25 #验证
sudo ip route add default via 10.1.2.1 #配置默认网关
ip route show #验证路由
ip addr flush eth0 #重置网卡配置,该命令不会清楚/etc/resolv.conf内容,
ip route add <IP段>/<掩码> via <网关> dev <网卡名> #配置静态路由,临时生效

4)网卡DHCP配置,借助于/etc/netplan/99_config.yaml配置文件来进行,如下所示,完成后sudo netplan apply生效即可。

network:
  version: 2
  renderer: networkd    #初始指定底层使用的网络管理工具,这里使用networkd
  ethernets:
    enp3s0:
      dhcp4: true

注:如果是带有无线网络的移动设备,推荐使用NetworkManager,可以通过NetworkManager切换环境网络以及修改WiFi密码;如果是非移动的设备(或无需无线网络的虚拟机),更推荐network。

5)通过/etc/netplan/99_config.yaml进行静态ip配置:注意缩进不能用tab

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      addresses:
        - 10.10.10.2/24
      routes:
        - to: default
          via: 10.10.10.1
      nameservers:
          search: [mydomain, otherdomain]
          addresses: [10.10.10.1, 1.1.1.1]

注:Ubuntu Bionic 18.04 LTS中的netplan不理解上述指定默认路由的“to:default”语法,这时可使用旧的gateway4:10.10.10.1这种方式指定,而不是整个routes:语句块。

6)无线wifi配置在这里插入图片描述

2.3 Netplan yml配置

1)针对特定网卡自定义网卡名称:使用match字段进行筛选,set-name字段进行网卡名称设定

network:
  version: 2
  renderer: networkd
  ethernets:
    eth_lan0:
      dhcp4: true
      match:
        macaddress: 00:11:22:33:44:55
      set-name: eth_lan0

2.4 NSS:Name Service Switch

系统里将主机名解析为IP地址的方法的顺序选择由名称服务交换机(NSS)配置文件/etc/nsswitch.conf控制的。/etc/nsswitch.conf示例如下:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

三、配置示例

3.1 多网卡

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ximenjianxue/article/details/131849453