Ubuntu20.04靜態ip和dhcp配置


轉載,閱讀原文: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 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM