转载,阅读原文:https://www.cnblogs.com/JaxYoun/p/13140095.html

一、目录及配置文件

cd /etc/netplan
vi 01-network-manager-all.yaml

二、静态ip配置方式

01-network-manager-all.yaml.static

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp4s0:
      dhcp4: false
      addresses: [192.168.100.87/24]
      gateway4: 192.168.100.3
      nameservers:
        addresses: [192.168.100.3,8.8.8.8]

三、DHCP配置方式

01-network-manager-all.yaml.dhcp

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp4s0:
      dhcp4: true

四、重启netplan

需要启用哪一种ip分配策略就拷贝文件,并去掉最后的后缀

cp 01-network-manager-all.yaml.xxxx 01-network-manager-all.yaml
netplan --debug apply
ip add
动态IP变化时,使用 netplan apply 即可刷新IP

 

其他参考 https://linux265.com/news/6376.html   https://zh.codepre.com,有点乱:

Ubuntu 17.10和更高版本使用netplan作为默认网络管理工具。以前的Ubuntu版本使用ifconfig及其配置文件/etc/network/interfaces来配置网络。

netplan配置文件以YAML语法编写,扩展名为.yaml。要使用netplan配置网络接口,需要为该接口创建YAML描述,并且netplan将为所选的渲染器工具生成所需的配置文件。

netplan支持两个渲染器:NetworkManager和Systemd-networked。NetworkManager通常在台式机上使用,而Systemd网络在没有GUI的服务器上使用。

在Ubuntu服务器上配置静态IP地址
在Ubuntu 20.04上,系统使用“可预测的网络接口名称”标识网络接口。

设置静态IP地址的第一步是识别要配置的以太网接口的名称,使用 ip link 命令打印所有可用网络接口的列表,常见的接口名称有eth0、ens3:
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens3: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:6c:13:63 brd ff:ff:ff:ff:ff:ff

netplan配置文件存储在/etc/netplan目录中,可能有一个或多个YAML文件,文件的名称可能因安装程序而异。通常,该文件名为01-netcfg.yaml、00-installer-config.yaml、50-cloud-init.yaml或NN_interfaceName.yaml,但是在不同系统中可能有所不同。

如果是Ubuntu云实例,可能配置有cloud-init,则需要将其禁用。为此,请创建以下文件:
vi /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
network: {config: disabled}

要在网络接口上配置静态IP地址,编辑YAML配置文件 /etc/netplan/01-netcfg.yaml:
network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: yes # 或设置为true

在更改配置之前,简要说明一下代码。

每个netplan Yaml文件均以具有至少两个必需元素的网络密钥开头。第一个必需元素是网络配置格式的版本,第二个是设备类型。设备类型可以是以太网,绑定,网桥或VLAN。

上面的配置还有一行显示渲染器类型的行。开箱即用,如果在服务器模式下安装Ubuntu,则渲染器配置为使用networkd作为后端。

在设备的类型(以太网)下,可以指定一个或多个网络接口。在此示例中,只有一个接口ens3,该接口被配置为从DHCP服务器dhcp4获取IP地址:是。

要将静态IP地址分配给ens3接口,编辑文件/etc/netplan/01-netcfg.yaml:
network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: no
      addresses:
        - 192.168.121.221/24
      gateway4: 192.168.121.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]

将DHCP设置为dhcp4:否。指定静态IP地址。在地址下:可以添加一个或多个将分配给网络接口的IPv4或IPv6 IP地址。指定网关。在名称服务器下,设置名称服务器的IP地址。
编辑Yaml文件时,请确保遵循YAML代码缩进标准。如果语法不正确,则更改将不会应用。
完成后,通过运行以下命令保存文件并应用更改:
netplan apply

校验修改是否生效
ip addr show dev ens3
2: ens3: mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 08:00:27:6c:13:63 brd ff:ff:ff:ff:ff:ff
    inet 192.168.121.221/24 brd 192.168.121.255 scope global dynamic ens3
        valid_lft 3575sec preferred_lft 3575sec
    inet6 fe80::5054:ff:feb0:f500/64 scope link
        valid_lft forever preferred_lft forever

示例:

1. 配置DHCP自动获取
编辑 /etc/netplan/00-installer-config.yaml_auto
# This is the network config written by 'subiquity'
network:
  ethernets:
    eth0:
      dhcp4: true
  version: 2

2. 配置静态IP
编辑 /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
      # Set IP address & subnet mask
      addresses:
      - 172.17.140.90/28
      # Set default gateway
      gateway4: 172.17.140.81
      nameservers:
        # Set DNS name servers
        addresses:
        - 223.5.5.5
        - 8.8.8.8
  version: 2

重启网络:
netplan apply

如果不需要IPv6,可以禁用:
echo “net.ipv6.conf.all.disable_ipv6 = 1” | tee -a /etc/sysctl.conf
sysctl -p 

posted on 2020-09-11 10:42  51core  阅读(13718)  评论(0编辑  收藏  举报