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示例文件:

      network: ethernets: eno1: addresses: [192.168.1.113/24] dhcp4: false dhcp6: false optional: true gateway4: 192.168.1.1  nameservers: addresses: [8.8.8.8,8.8.4.4] eno2: addresses: [100.100.100.10/24] dhcp4: false optional: true eno5: addresses: [] dhcp4: true optional: true eno6: addresses: [10.0.0.10/24] dhcp4: false optional: true nameservers: addresses: [8.8.8.8,8.8.4.4] version: 2 

现场截图:环境:Ubuntu 18.04 LTS 配置文件:/etc/netplan/01-netcfg.yaml
在这里插入图片描述
【路由配置示例】:

eth0: [...] routes: - to: default  via: 10.0.0.1 metric: 100 on-link: true - to: default  via: cf02:de:ad:be:ef::2 eth1: [...] routes:  - to: default  via: 172.134.67.1 metric: 100 on-link: true  table: 76  type:...  

现场实际:
在这里插入图片描述
在这里插入图片描述
修改后:
在这里插入图片描述
在应用改变之前,让我们测试一下配置。执行命令:sudo netplan try(它会在应用配置之前验证其是否有效。如果成功,你就会看到配置被接受)

确认后执行应用:sudo netplan apply //应用前切记备份,实际验证应用执行后,路由表与之前手动添加的一致。
在这里插入图片描述

删除:ip address del \<address> dev \<interface>. 语法检查:sudo netplan generate //以 /etc/netplan 配置为管理工具生成配置; 调试命令:$ sudo netplan --debug apply networkctl :可查看输出网络设备的摘要 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  iface lo inet loopback  iface lo inet6 loopback auto eth0 iface eth0 inet static address 192.168.2.1 network 192.168.2.0 netmask 255.255.255.0 broadcast 192.168.2.255 up 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 eth0 down route del -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.2.2 dev eth0 iface eth0 inet6 static address 2000:2::1 netmask 64 up route -A inet6 add 2000:3::/64 gw 2000:2::2 up route -A inet6 add 2000:4::/64 gw 2000:2::2 down route -A inet6 del 2000:3::/64 gw 2000:2::2 down 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

三、附录:手动配置静态路由

添加到主机的路由   添加到网络的路由     添加默认网关  删除路由   

四、附录2:Ubuntu 20.04添加永久路由

vim /etc/netplan/network_manager.yaml

network: version: 2 renderer: NetworkManager ethernets: eth0: dhcp4: true dhcp6: true eth1: dhcp4: true dhcp6: true eth2: addresses: - 172.16.18.3/24 gataway4: 172.16.18.254 routes: - to: 10.0.100.0/24 via: 172.16.18.254 nameservers: addresses: [] search: [] 

完成后执行:netplan try ,检查配置文件正确性,不要按enter键,随后执行netplan apply,如果未生效,一般是当前网络受interface影响,可删除或重命令/etc/network/interface,然后再netpaln apply
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

如果出现网卡ip信息未显示的情况,执行:sudo dhclient -v

当然我们也可以按照示例2:网卡配置静态地址

network: version: 2 renderer: NetworkManager ethernets: ens33: dhcp4: no addresses: [192.168.126.128/24] gateway4: 192.168.72.2 nameservers: addresses: [8.8.8.8,8.8.4.4] 

原文链接:https://blog.csdn.net/ximenjianxue/article/details/120335069

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享