Ubuntu 18.04 LTS 永久路由配置指导

您所在的位置:网站首页 ubuntu18配置ip Ubuntu 18.04 LTS 永久路由配置指导

Ubuntu 18.04 LTS 永久路由配置指导

#Ubuntu 18.04 LTS 永久路由配置指导| 来源: 网络整理| 查看: 265

一、方式一:

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: 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 # could be 0/0 or 0.0.0.0/0 optionally via: 10.0.0.1 metric: 100 on-link: true - to: default # could be ::/0 optionally via: cf02:de:ad:be:ef::2 eth1: [...] routes: ##路由块定义接口的标准静态路由。至少必须指定 to 和 via。 - to: default ##格式:addr/prefixlen 或 addr via: 172.134.67.1 metric: 100 on-link: true ##指定路由直连到设备eth1 table: 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 \ dev \. 语法检查: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 ##auto自动配置 iface lo inet loopback ##lo为一个本地回环(loopback)地址,分别设置了v4和v6两个 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

三、附录:手动配置静态路由 添加到主机的路由 # 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: 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]


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3