Netplan介绍

1 介绍

1.1 简介

Netplan是一个抽象网络配置描述器。通过netplan命令,你只需用一个 YAML文件描述每个网络接口所需配置。netplan并不关系底层管理工具是NetworkManager还是networkd。

它是一个在 Linux 系统上进行网络配置的实用程序。您创建所需接口的描述并定义每个接口应该做什么。
Netplan 满足在 YAML 中跨一组多功能服务器、桌面、云或物联网安装进行简单、描述性网络配置的需求。

对于想要使用通用网络配置来控制不同后端(例如 NetworkManager 或 systemd-networkd)的 Linux 系统管理员来说,它非常有用。

Netplan 是 Ubuntu 家族的成员。这是一个开源项目。

Ubuntu 18.04开始,Ubuntu和Debian移除了以前的ifup/ifdown命令和/etc/network/interfaces配置文件,转而使用ip link set或者/etc/netplan/01-netcfg.yaml模板和sudo netplan apply命令实现网络管理。

ip link set为iproute2工具集命令,多用于临时配置,取代ifup和ifdown。
如果安装的是服务器版本,则默认使用networkd进行管理,并且不会安装NetworkManager和提供nmcli接口。
如果安装的是桌面版本,则默认使用NetworkManager进行管理。

在这里插入图片描述

Netplan 目前支持的网络管理工具:

  • NetworkManager
  • Systemd-networkd

1.2 Netplan、NetworkManager、Systemd-networkd 关系

Netplan 支持调用 NetworkManager 和 Systemd-networkd;
NetworkManager和systemd-networked可以理解为相互替代关系。
如果要禁用NetworkManager,则应启用systemd-networkd,而在systemd-networkd运行时最好禁用networkmanager。

1.3 命令

netplan 操作命令提供两个子命令:

  • netplan generate :生成后端管理工具对应的配置;(/etc/netplan)
  • netplan apply :应用配置(以便生效),必要时重启管理工具;
  • netplan try :在配置得到确认之后才应用,如果配置存在错误,则回滚,类似test;
  • netplan get:获取当前netplan配置;
  • netplan set:修改当前netplan配置。
  • netplan --debug apply 返回错误信息。

辅助命令

networkctl 可以查看网络设备的汇总信息
networkctl status 可以查看详情状态。

NetworkManager 命令

systemctl status NetworkManager 查看NetworkManager状态
systemctl start NetworkManager 开启Net
systemctl restart NetworkManager 重新启动Net(PID值会发生变化)
systemctl reload NetworkManager 重新启动Net(PID值不会发生变化)
systemctl is-enabled NetworkManager 查看Net是否开机自启动
systemctl enable NetworkManager 设置Net开机自启动

1.4 YAML 文件编写

YAML在Saltstack中使用两个空格进行缩进,一定不要使用Tab进行缩进。
YAML的冒号后边如果还要文本,需要一个空格。
列表项的写法类似Markdown,-加上空格。

2 常用的Netplan参数

  • version:指定Netplan配置文件的版本号,默认值为2。
  • renderer:指定用于渲染网络接口配置的工具,常用的值为networkd(使用systemd-networkd)和NetworkManager(使用NetworkManager)。
  • ethernets:定义要配置的以太网接口及其属性,例如IP地址、子网掩码、网关、DNS等。
  • bridges:定义要配置的网桥及其属性,例如IP地址、子网掩码、网关、DNS等。
  • vlans:定义要配置的VLAN接口及其属性,例如ID、IP地址、子网掩码、网关、DNS等。
  • bonds:定义要配置的绑定接口及其属性,例如负载平衡算法、网卡状态检测机制等。
  • nameservers:指定要使用的DNS服务器列表。
  • routes:定义静态路由表,指定路由器及其下一跳地址和子网掩码。

3 网络配置示例

Netplan支持两个网络后端:networkd和NetworkManager,一般为networkd

network:
  version: 2
  renderer: networkd

如果networkd不存在,也可以使用NetworkManager。

network:
  version: 2
  renderer: NetworkManager

以太网连接:动态IP

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: yes
    eth1:
      dhcp4: yes

以太网连接:静态IP

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      addresses:
        - 10.10.10.3/24
      nameservers:
        addresses: [202.96.128.86]
      routes:
        - to: 0.0.0.0/0
          via: 10.10.10.1
    
    eth1:
      addresses:
        - 10.10.10.2/24
      nameservers:
        addresses: [202.96.128.86]
      routes:
        - to: 0.0.0.0/0
          via: 10.10.10.1

WIFI连接:静态IP

network:
  version: 2
  renderer: networkd
  wifi:
    wlan0:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.1.200/24]
      nameservers:
        addresses: [202.96.128.86]
      access-points:
        "NETGEAR25":
            password: "ceshizhuanyong"
      routes:
        - to: 0.0.0.0/0
          via: 192.168.1.1

WIFI连接:动态IP

network:
  version: 2
  renderer: networkd
  wifi:
    wlan0:
      dhcp4: yes
      access-points:
        "NETGEAR25":
            password: "ceshizhuanyong"

4 操作流程

4.1 修改配置文件

vim /etc/netplan/*.yaml

4.2 测试配置文件

netplan try

4.3 应用配置文件

netplan apply

4.4 重启网络服务

sudo systemctl restart system-networkd
或者
sudo systemctl restart network-manager

参考

1、Netplan documentation
2、YAML configuration
3、Netplan使用(高版本Ubuntu静态/动态IP设置方法)
4、Netplan新一代网络配置工具使用详解
5、Ubuntu 18.04 LTS 通过 Netplan 配置网络教程
6、Firefly-Linux-Guide/#network-configuration

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/296031.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言编译器(C语言编程软件)完全攻略(第二十部分:Code::Blocks下载地址和安装教程(图解))

介绍常用C语言编译器的安装、配置和使用。 二十、Code::Blocks下载地址和安装教程(图解) Code::Blocks 是一款免费开源的 C/C IDE,支持 GCC、MSVC 等多种编译器,还可以导入 Dev-C 的项目。Code::Blocks 的优点是:跨…

16 Linux 内核定时器

一、Linux 时间管理和内核定时器简介 1. 内核时间管理简介 Linux 内核中有大量的函数需要时间管理,比如周期性的调度程序、延时程序、定时器等。 硬件定时器提供时钟源,时钟源的频率可以设置,设置好以后就周期性的产生定时中断,系…

一文详解动态 Schema

在数据库中,Schema 常有,而动态 Schema 不常有。 例如,SQL 数据库有预定义的 Schema,但这些 Schema 通常都不能修改,用户只有在创建时才能定义 Schema。Schema 的作用是告诉数据库使用者所希望的表结构,确保…

【读书】《白帽子讲web安全》个人笔记Ⅰ-1

目录 前言: 第1章 我的安全世界观 1.1 Web安全简史 1.1.1中国黑客简史 1.1.2黑客技术的发展历程 1.1.3web安全的兴起 1.2黑帽子,白帽子 1.3返璞归真,揭秘安全的本质 1.4破除迷信,没有银弹 1.5安全三要素 1.6如何实施安…

web期末作业数字时钟,实时更新,音乐播放

文章目录 月球动态引导页加载引导页主页面主页面html需要完整代码私信我 月球动态引导页 加载引导页 主页面 主页面html <!DOCTYPE html> <html lang"zh-CN"><head><meta http-equiv"X-UA-Compatible" content"IEedge,chrome1&…

【数据采集与预处理】流数据采集工具Flume

一、Flume简介 数据流 &#xff1a;数据流通常被视为一个随时间延续而无限增长的动态数据集合&#xff0c;是一组顺序、大量、快速、连续到达的数据序列。通过对流数据处理&#xff0c;可以进行卫星云图监测、股市走向分析、网络攻击判断、传感器实时信号分析。 &#xff08;…

使用docker安装mysql 8.0

打开命令行&#xff0c;运行 ocker pull mysql:8.0.21 下载成功后&#xff0c;可以看到 进入cmd&#xff0c;输入 docker run -d --name mysql -p 3306:3306 -v /root/mysql/data:/var/lib/mysql -v /root/mysql/config:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORDabc12345…

Vue3-36-路由-路由的元数据信息 meta

什么是 meta 简单的理解&#xff0c;meta 就是路由对象 的一个属性对象&#xff0c; 可以 通过这个 属性给 路由对象添加 一些必要的属性值&#xff0c; 在使用路由对象时可以获取到这个属性型对象&#xff0c;从而进行一些其他的逻辑判断。 meta 这个非常的简单&#xff0c;就…

最新GPT4教程,GPT语音对话使用,Midjourney绘画,ChatFile文档对话总结+DALL-E3文生图教程工具

一、前言 ChatGPT3.5、GPT4.0、GPT语音对话、Midjourney绘画&#xff0c;文档对话总结DALL-E3文生图&#xff0c;相信对大家应该不感到陌生吧&#xff1f;简单来说&#xff0c;GPT-4技术比之前的GPT-3.5相对来说更加智能&#xff0c;会根据用户的要求生成多种内容甚至也可以和…

【Filament】自定义Blinn Phong光照模型

1 前言 光照元素主要有环境光&#xff08;ambient&#xff09;、漫反射光&#xff08;diffuse&#xff09;、镜面反射光&#xff08;specular&#xff09;&#xff0c;基础的光照模型主要有兰伯特&#xff08;Lambert&#xff09;光照模型、冯氏&#xff08;Phong&#xff09;光…

解决pyuvc无法读取yuv格式的问题

问题描述 我使用pyuvc访问uvc摄像头&#xff0c;但是发现pyuvc只支持了MJPEG的格式和GRAY格式。我在linux下通过v4l2-ctl查看&#xff0c;发现摄像头本身还支持YUV的格式&#xff0c;但是pyuvc解析出的帧格式则没有。后面通过阅读pyuvc的代码&#xff0c;发现libuvc本身没有限…

代码随想录刷题第三十八天| 理论基础 ● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯

代码随想录刷题第三十八天 动态规划基础理论 斐波那契数 (LC 509) 题目思路&#xff1a; 代码实现&#xff1a; class Solution:def fib(self, n: int) -> int:if n<1: return ndp [0 for _ in range(n1)]dp[1] 1for i in range(2, n1):dp[i] dp[i-1]dp[i-2] …

DS|图(存储与遍历)

题目一&#xff1a;DS图 -- 构建邻接表 题目描述&#xff1a; 已知一有向图&#xff0c;构建该图对应的邻接表。 邻接表包含数组和单链表两种数据结构&#xff0c;其中每个数组元素也是单链表的头结点&#xff0c;数组元素包含两个属性&#xff0c;属性一是顶点编号info&…

Spark概述

Spark概述 Spark是什么 Apache Spark是一个快速的&#xff0c;多用途的集群计算系统&#xff0c;相对于Hadoop MapReduce将中间结果保存在磁盘中&#xff0c;Spark使用了内存保存中间结果&#xff0c;能在数据尚未写入硬盘时在内存中进行运算Spark只是一个计算框架&#xff0c;…

unity PDFRender Curved UI3.3

【PDF】PDFRender 链接&#xff1a;https://pan.baidu.com/s/1wSlmfiWTAHZKqEESxuMH6Q 提取码&#xff1a;csdn 【曲面ui】 Curved UI3.3 链接&#xff1a;https://pan.baidu.com/s/1uNZySJTW0-pPwi2FTE6fgA 提取码&#xff1a;csdn

Syntax Error: Error: Cannot find module ‘imagemin-optipng‘

一、背景&#xff1a; 心酸&#xff0c;很难受&#xff1b;本人主要做后端开发&#xff0c;这几天要打包前端项目 遇到了这个报错 Syntax Error: Error: Cannot find module imagemin-optipng 搞了3天时间才打包成功&#xff0c;使用了各种姿势才搞定。期间百度了各种方案都…

JVM工作原理与实战(七):类的生命周期-初始化阶段

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、类的生命周期 1.加载&#xff08;Loading&#xff09; 2.连接&#xff08;Linking&#xff09; 3.初始化&#xff08;Initialization&#xff09; 4.使用&#xff08;Using&…

噬菌体序列分析工具PhaVa的使用和使用方法

github: 25280841/PhaVa: Adapting the phasefinder approach for identifying phase variation to long reads (github.com) 挺简单的&#xff0c;这里就不翻译了&#xff0c;大家看着直接用吧。 PhaVa PhaVa is an approach for finding potentially Phase Variable invert…

linux中的系统安全

一.账号安全 将非登录用户的shell设为/sbin/nologin 系统中用户有三种&#xff1a;超级管理员 普通用户 程序用户 前两种用户可以登录系统&#xff0c;程序用户不给登录 所以称为非登录用户 命令格式&#xff1a; usermod -s /sbin/nologin&#xff08;改已有用户&#…

【动态规划】【字符串】132.分割回文串 II

作者推荐 【动态规划】【字符串】扰乱字符串 本文涉及的基础知识点 动态规划 字符串 LeetCode132. 分割回文串 II 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是回文。 返回符合要求的 最少分割次数 。 示例 1&#xff1a; 输入&#x…