Ubuntu 18.04 LTS 永久路由配置指导 |
您所在的位置:网站首页 › ubuntu18配置ip › 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的工作原理: 要在 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 现场实际: 确认后执行应用:sudo netplan apply //应用前切记备份,实际验证应用执行后,路由表与之前手动添加的一致。 临时解决: 在启动文件/etc/rc.local里加入路由添加命令 二、方式2Debian系的网卡配置跟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 dhcp2)路由转发: 编辑:/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 |