Ubuntu 18.04 LTS 永久路由配置指导
一、方式一:
Netplan 已在在 Ubuntu 18.04 系统中用来管理网络,它是一款是一个用于配置 Linux 网络的简单工具。 通过 Netplan ,只需用一个 YAML 文件就可描述每个网络接口需要配置。 Netplan 从 /etc/netplan/*.yaml 读取配置。根据这个配置描述, Netplan 会更新相关网络配置,而无需关心底层的网络管理工具是啥。Netplan 目前支持两种 网络管理工具 :NetworkManager和Systemd-networkd。
参考: https://netplan.io/faq/#use-pre-up-post-up-etc-hook-scripts
https://netplan.io/examples#reaching-a-directly-connected-gateway
https://netplan.io/reference#routing
https://www.digitalocean.com/community/tutorials/how-to-use-iproute2-tools-to-manage-network-configuration-on-a-linux-vps#how-to-configure-network-interfaces-and-addresses
https://www.freedesktop.org/software/systemd/man/systemd-networkd.service.html
在Ubuntu 18.04中修改了IP地址配置程序, Ubuntu和Debian的删除了以前的ifup/ifdown命令和/etc/network/interfaces配置文件, 改为使用/etc/netplan/01-netcfg.yaml和sudo netplay apply命令管理IP地址。
下图是Netplan的工作原理:
Netplan 会从 /etc/netplan/*.yaml 读取网络配置,这些配置由管理员、安装人员、云映像实例化或其他操作系统部署编写。在早期启动期间,Netplan 在 /run 中生成后端特定的配置文件,以将设备的控制权移交给特定的网络守护程序。我们只需创建所需网络接口的 YAML 描述以及每个接口应配置为做什么。根据此描述,Netplan 将选择合适的渲染器(renderer)工具生成所有必要的网络配置。DHCP网络配置一般用NetworkManager renderer,因networkd 作为渲染器时不会让网络设备使用 DHCP 自动启动;每个接口都需要在 /etc/netplan 中的文件中指定,networkd 才能使用这些配置生效。
要在 Ubuntu 18.04 服务器上配置静态 IP 地址,需要修改 /etc/netplan/ 目录中的相关 netplan 网络配置文件。该目录下,会发现有一个名为 01-netcfg.yaml 或 50-cloud-init.yaml 的默认 netplan 配置文件,其中包含以下内容,指示 networkd 守护进程通过 DHCP 配置您的网络接口;必须为块的每一行保证正确的字段缩进。换句话说,每行的前缀空格数很重要。否则,可能会收到类似于以下内容的错误消息:Invalid YAML at //etc/netplan/01-netcfg.yaml line 7 column 6: did not find expected key。
ip link set 命令替代了 ifup 和 ifdown。
/etc/netplan/config.yaml/netpaln-*.yaml示例文件:
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:ethernets:eno1:addresses: [192.168.1.113/24]dhcp4: falsedhcp6: falseoptional: truegateway4: 192.168.1.1 ##默认路由的网关地址nameservers:addresses: [8.8.8.8,8.8.4.4]eno2:addresses: [100.100.100.10/24]dhcp4: falseoptional: trueeno5:addresses: []dhcp4: trueoptional: trueeno6:addresses: [10.0.0.10/24]dhcp4: falseoptional: truenameservers:addresses: [8.8.8.8,8.8.4.4]version: 2
现场截图:环境:Ubuntu 18.04 LTS 配置文件:/etc/netplan/01-netcfg.yaml
【路由配置示例】:
eth0:[...]routes:- to: default # could be 0/0 or 0.0.0.0/0 optionallyvia: 10.0.0.1metric: 100on-link: true- to: default # could be ::/0 optionallyvia: cf02:de:ad:be:ef::2
eth1:[...]routes: ##路由块定义接口的标准静态路由。至少必须指定 to 和 via。- to: default ##格式:addr/prefixlen 或 addrvia: 172.134.67.1metric: 100on-link: true ##指定路由直连到设备eth1table: 76 # Not on the main routing table, does not conflict with the eth0 default route,某些值用于特定的路由表,查看/etc/iproute2/rt_tables确认type:... ## 指定:“global”, “link”, or “host”
现场实际:
修改后:
在应用改变之前,让我们测试一下配置。执行命令:sudo netplan try(它会在应用配置之前验证其是否有效。如果成功,你就会看到配置被接受)
确认后执行应用:sudo netplan apply //应用前切记备份,实际验证应用执行后,路由表与之前手动添加的一致。
删除:ip address del \<address> dev \<interface>.语法检查:sudo netplan generate //以 /etc/netplan 配置为管理工具生成配置;调试命令:$ sudo netplan --debug applynetworkctl :可查看输出网络设备的摘要
networkctl status //查看系统上每个 IP 地址的状态
netplan apply //应用yaml中指定渲染器的所有配置,必要时重新启动它们
netplan try //应用配置并等待用户确认;如果配置使网络损坏或未给出确认,将回滚ip -s link show eth0 //查看接口统计//配置文件路径:/run/netplan/*.yaml
/etc/netplan/*.yaml
/lib/netplan/*.yaml启停网卡:
ip link set enp3s0 up
ip link set enp3s0 down重启网络配置:sudo /etc/init.d/networking restart
临时解决: 在启动文件/etc/rc.local里加入路由添加命令
二、方式2
Debian系的网卡配置跟Redhat系很不一样,Redhat是放在/etc/sysconfig/network-scripts目录下面的一大堆文件里面。而Debian系的网卡配置则是存在/etc/network/interfaces这个文件里面,而且不管你有多少块网卡,系统都把配置统统放在这个文件里。
以下是ubuntu的一个网络配置文件示例:
auto lo ##auto自动配置
iface lo inet loopback ##lo为一个本地回环(loopback)地址,分别设置了v4和v6两个 loopback;
iface lo inet6 loopback
auto eth0
iface eth0 inet staticaddress 192.168.2.1network 192.168.2.0netmask 255.255.255.0broadcast 192.168.2.255up route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.2 dev eth0 ##接口启用时,添加静态路由down route del -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.2 dev eth0 ##接口禁用时,删掉路由配置up route add -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.2.2 dev eth0down route del -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.2.2 dev eth0
iface eth0 inet6 staticaddress 2000:2::1netmask 64up route -A inet6 add 2000:3::/64 gw 2000:2::2up route -A inet6 add 2000:4::/64 gw 2000:2::2down route -A inet6 del 2000:3::/64 gw 2000:2::2down route -A inet6 del 2000:4::/64 gw 2000:2::2
auto eth1
iface eth1 inet dhcp
2)路由转发:
编辑:/etc/sysctl.conf,修改:
net.ipv4.ip_forward=1
net.ipv6.default.ip_forward=1
生效执行:sysctl -p /etc/sysctl.conf
三、附录:手动配置静态路由
添加到主机的路由# route add -host 192.168.1.123 dev eth0# route add -host 192.168.1.123 gw 192.168.1.1添加到网络的路由# route add -net 192.168.1.123 netmask 255.255.255.0 eth0# route add -net 192.168.1.123 netmask 255.255.255.0 gw 192.168.1.1# route add -net 192.168.1.123 netmask 255.255.255.0 gw 192.168.1.1 eth1# route add -net 192.168.1.0/24 eth1添加默认网关# route add default gw 192.168.1.1删除路由# route del -host 192.168.1.11 dev eth0# route del -net 192.168.1.123 netmask 255.255.255.0
四、附录2:Ubuntu 20.04添加永久路由
vim /etc/netplan/network_manager.yaml
network:version: 2renderer: NetworkManagerethernets:eth0:dhcp4: truedhcp6: trueeth1:dhcp4: truedhcp6: trueeth2:addresses:- 172.16.18.3/24gataway4: 172.16.18.254routes: - to: 10.0.100.0/24via: 172.16.18.254nameservers:addresses: []search: []
完成后执行:netplan try ,检查配置文件正确性,不要按enter键,随后执行netplan apply,如果未生效,一般是当前网络受interface影响,可删除或重命令/etc/network/interface,然后再netpaln apply
如果出现网卡ip信息未显示的情况,执行:sudo dhclient -v
当然我们也可以按照示例2:网卡配置静态地址
network:version: 2renderer: NetworkManagerethernets:ens33:dhcp4: noaddresses: [192.168.126.128/24]gateway4: 192.168.72.2nameservers:addresses: [8.8.8.8,8.8.4.4]
Ubuntu 18.04 LTS 永久路由配置指导相关推荐
- Ubuntu 18.04 LTS \n \l 配置网卡IP
一定要按照 格式来,不然各种报错, : 回车 进行第二行配置, 1,修改 配置文件 : sudo vim /etc/netplan/50-cloud-init.yaml network: versi ...
- 如何在 Ubuntu 18.04 LTS 中配置 IP 地址?
在 Ubuntu 18.04 LTS 上配置 IP 地址的方法与旧方法有很大不同,与以前的版本不同,Ubuntu 18.04 使用Netplan实用程序,它是一个新的命令行网络配置实用程序,用于配置 ...
- 无头虚拟化服务器,在 Ubuntu 18.04 LTS 上使用 KVM 配置无头虚拟化服务器
我们已经讲解了 在 Ubuntu 18.04 无头服务器上配置 Oracle VirtualBox .在本教程中,我们将讨论如何使用 KVM 去配置无头虚拟化服务器,以及如何从一个远程客户端去管理访客 ...
- ubuntu18的网关ip在哪里配_技术|如何在 Ubuntu 18.04 LTS 中配置 IP 地址
在 Ubuntu 18.04 LTS 中配置 IP 地址的方法和以往使用的配置方法有很大的不同.和旧版本的不同之处在于,Ubuntu 18.04 使用 Netplan 来配置 IP 地址,Netpla ...
- 如何在Ubuntu 18.04 LTS上安装VMware Workstation
背景: 阅读新闻 [日期:2018-11-10] 来源:Linux公社 作者:醉落红尘 [字体:大 中 小] VMware Workstation是由VMware公司开发的虚拟化软件,成立于1998年 ...
- Ubuntu 18.04 LTS (Bionic Beaver) 已经发布附官网下载链接
Ubuntu 18.04 LTS (Bionic Beaver) 即将发布,最新资讯链接. 下载并使用Ubuntu 18.04 LTS:https://www.ubuntu.com/download/ ...
- 树莓派4B+Ubuntu 18.04 LTS + 桌面desktop + ros安装@树莓派4B、Ubuntu、desktop、ros
树莓派4B+Ubuntu 18.04 LTS + 桌面desktop + ros安装@树莓派4B.Ubuntu.desktop.ros 久违的一篇博客,说实话CSDN的编辑器还是用不太习惯,记录一下树 ...
- 台式机下成功在windows10的基础上安装Ubuntu 18.04 LTS 系统(详细教程)
台式机成功在windows10的基础上安装Ubuntu 18.04 LTS 系统 1 前言 因为工作缘故经常需要使用windows和ubuntu两个不同的计算机系统,因此想把实验室的台式机安装成双系统 ...
- linux如何调整文本大小,如何在Ubuntu 18.04 LTS中更改文本大小
在使用Ubuntu系统时,如果您在阅读屏幕上的文本时遇到困难,可以根据您的视力要求通过多种方法对其进行修复. 在本文中,我们将介绍三种在Ubuntu中更改屏幕文本大小的方法. 我们已经在Ubuntu ...
最新文章
- USNews 2020美国大学排名公布:UCLA超越伯克利;计算机专业MIT第一,斯坦福跌出前四...
- leetcode算法题--二叉树中和为某一值的路径
- MooTools Class 使用、继承详解
- oracle中的mount是什么意思,oraclenomountmountopen直接的关系
- ubuntu16.4下用jexus部署asp.net core rtm
- 简易贪吃蛇c语言贴吧,熬书几个月,终于编出简易的贪吃蛇了,VS2013
- 使用Java Swing实现简单计算器
- Intellij Idea下tomcat设置自动编译
- android的子菜单是否支持嵌套,Android的两种菜单
- 微信投票python脚本_微信投票python脚本
- 监狱人员定位管理,提升智慧监狱信息化水平
- MySQL卸载不干净-MySQL Connector Net xxx文件怎么也删除不了?一招解决它
- 多啦a梦的python代码_80行代码!用Python做一个哆来A梦分身
- u盘无法格式化不在计算机中,在电脑中,为什么U盘不能格式化?
- 人脸识别中的活体检测
- 捏着鼻子也要吃? 吃蔬菜几大误区盘点
- 台式计算机密码忘了怎么办,台式机开机密码忘了怎么办
- 马云、张小龙、雷军缅怀金庸:江湖路远,侠义长存!
- 基于GNN网络的session推荐模型(知识图谱技术在推荐场景的应用)
- react二级路由配置正确不显示页面的问题解决