当前位置: 首页 > news >正文

netplan

文章目录

    • 前言
    • 官网
    • 配置文件
    • 默认配置
    • NetworkManager 简介
    • systemd-networkd 简介
    • NetworkManager VS systemd-networkd
    • Netplan 简介
    • 示例
    • 多个配置文件

前言

netplan 是 ubuntu 17.10 版本中引入的一种全新的命令行网络配置程序,用于在 ubuntu 系统中轻松管理和配置网络设置。
netplan 可以使用 NetworkManager(桌面系统中使用)或 Systemd-networkd(服务器系统中使用)的网络守护程序来做为内核的接口,这样就为用户把底层的网络差异透明化了。netplan 的默认配置文件在 /etc/netplan/*.yaml 里,配置文件采用 YAML 语法。

官网

https://netplan.io/

配置文件

配置文件所在路径为 /etc/netplan/

liyongjun@Box:/etc/netplan$ ls
01-network-manager-all.yaml

你可以创建一个新的 YAML 文件,或者直接编辑默认文件。如果你打算修改默认文件,建议你先做一个备份

sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak

默认配置

我使用的是 Ubuntu 20.04 桌面版,默认使用 NetworkManager 来管理所有网络接口

liyongjun@Box:/etc/netplan$ cat 01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:version: 2renderer: NetworkManager

在这里插入图片描述

NetworkManager 简介

NetworkManager 是一项后端服务(networkmanager.service),是一个用于控制 Ubuntu 操作系统上的网络接口图形化界面的工具。

systemd-networkd 简介

systemd-networkd 是 systemd 的一部分 ,负责 systemd 生态中的网络配置部分(systemd-networkd.service, systemd-resolved.service)。使用 systemd-networkd,你可以为网络设备配置基础的 DHCP/静态 IP 网络等,还可以配置虚拟网络功能,例如网桥、隧道和 VLAN 等等。systemd-networkd 与 wpa_supplicant 服务配合可以支持配置 WiFi 无线适配器。

NetworkManager VS systemd-networkd

NetworkManager 和 systemd-networked 可以理解为相互替代关系,一个是基于图形化界面的工具,另外一个是基于命令行界面的工具。因此,用户可以根据自己的需求,决定使用 networkmanager 还是 systemd-netword。 如果要禁用 NetworkManager,则应启用 systemd-networkd,而在 systemd-networkd 运行时最好禁用 networkmanager。

Netplan 简介

Netplan 是 Canonical(Ubuntu)开发的做为某些 Linux 发行版(主力为 ubuntu Linux 发行版)上默认的网络配置命令行工具。Netplan 使用 YAML 描述文件来配置网络,然后通过这些描述为任何给定的底层呈现工具(主要就是 systemd-networkd 和 networkmanager 两种工具)生成必要的配置选项。
如下图所示,我们可以看到 Netplan 读取 /etc/netplan 下的描述网络用的各个 yaml 文件,生成backend config 后端配置项。将这些后端配置项通过 yaml 文件里指定的 renderers 渲染器(systemd-networkd 或者 networkmanager)将配置下发到 Linux 内核中。
在这里插入图片描述
Netplan 目前支持的网络管理工具:

  • NetworkManager Systemd
  • networkd

netplan提供的命令

  • netplan apply:应用配置,使配置生效。
  • netplan try:试用配置,然后等待用户的确认;如果网络中断或没有给出确认,就自动回滚。
  • netplan generate:以 /etc/netplan 配置为输入为 renderer 指定的底层网络管理工具生成配置文件。

示例

默认情况下,我的 Ubuntu 系统下的以太网卡 enp0s3 拿到 IPv4 以及 IPv6 地址
在这里插入图片描述
我现在想禁用 IPv6 地址,只需要这样修改

network:version: 2renderer: NetworkManagerethernets:enp0s3:dhcp4: truedhcp6: false

修改后,执行 sudo netplan apply 生效一下
在这里插入图片描述
可以看到,地址只剩 IPv4 了,IPv6 被禁掉了。

使用 networkd 方式来管理网络

network:version: 2renderer: networkdethernets:enp0s3:dhcp4: truedhcp6: false

可以看到,Ubuntu 图形界面已经无法配置该网卡了
在这里插入图片描述

多个配置文件

在 /etc/netplan 目录下,如果有多个 yaml 文件,netplan 会根据文件名称排序,挨个生效,后面的配置会覆盖前面的配置。

相关文章:

  • Visual Studio 的调试(一)
  • 42-4 应急响应之文件痕迹排查
  • Rust面试宝典第14题:旋转数组
  • Redis教程(十三):Redis的主从复制模式搭建
  • 【论文阅读】Prompt Fuzzing for Fuzz Driver Generation
  • 设计模式-中介者模式
  • SpringBoot+Mybatis 从头搭建通用管理系统
  • Linux环境下TensorFlow安装教程
  • 简单多状态 dp 问题
  • Facebook广告如何开户以及投放费用?
  • MySQL中创建触发器时,语法与创建存储过程或函数的语法有所不同注意
  • RobotFramework测试框架(1)--官网示例
  • ACM实训冲刺第十九天
  • Vue.js组件设计模式:构建可复用组件库
  • SQL Server2019安装步骤教程(图文)_最新教程
  • [译]前端离线指南(上)
  • 30天自制操作系统-2
  • canvas 高仿 Apple Watch 表盘
  • CSS 专业技巧
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • MySQL几个简单SQL的优化
  • python学习笔记 - ThreadLocal
  • WebSocket使用
  • 后端_MYSQL
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 使用 Xcode 的 Target 区分开发和生产环境
  •  一套莫尔斯电报听写、翻译系统
  • 以太坊客户端Geth命令参数详解
  • 用Visual Studio开发以太坊智能合约
  • 湖北分布式智能数据采集方法有哪些?
  • ​ssh免密码登录设置及问题总结
  • #if等命令的学习
  • #stm32整理(一)flash读写
  • (27)4.8 习题课
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (八)Flask之app.route装饰器函数的参数
  • (二)hibernate配置管理
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (四)事件系统
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • (算法)大数的进制转换
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)母版页和相对路径
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET Framework .NET Core与 .NET 的区别
  • .net 托管代码与非托管代码
  • @Value读取properties中文乱码解决方案
  • [ Socket学习 ] 第一章:网络基础知识
  • [《百万宝贝》观后]To be or not to be?
  • [383] 赎金信 js