静态路由(英语:Static routing)是一种路由的方式,路由项(routing entry)由手动配置,而非动态决定。 与动态路由不同,静态路由是固定的,不会改变,即使网络状况已经改变或是重新被组态。 一般来说,静态路由是由网络管理员逐项加入路由表。
此处介绍如何配置Atlas 200I DK A2开发者套件的路由。开发者套件具有3个自带的网络设备(2个千兆以太网口和一个Type-C虚拟网口),在以下情况下,需要配置静态路由:
默认设置情况下,如果使用eth0可以连接路由器,由路由器给eth0网口分配IP和路由信息。
(base) root@davinci-mini:~# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.137.1 0.0.0.0 UG 0 0 0 eth1
当将开发者套件放置到某个局域网下的时候,就需要给开发者套件配置静态IP和静态路由,例如将小藤放置到90.0.0.0/8网段下,将开发者套件的eth0接入该局域网。分配给开发者套件的静态IP、网段的网关信息需要咨询该网络的管理员获取,此处以分配IP90.90.128.2为例,子网掩码是23位,路由网段是90.0.0.0/8,通往该路由网段的网关是90.90.128.1。
network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no addresses: [90.90.128.2/23] routes: - to: 90.0.0.0/8 via: 90.90.128.1 nameservers: addresses: [8.8.8.8] addresses: [114.114.14.114] eth1: dhcp4: no addresses: [192.168.137.100/24] routes: - to: default via: 192.168.137.1 nameservers: addresses: [8.8.8.8] addresses: [114.114.114.114] usb0: dhcp4: no addresses: [192.168.0.2/24] routes: - to: 192.168.0.0/24 via: 192.168.0.1 nameservers: addresses: [8.8.8.8] addresses: [114.114.114.114]
routes: - to: default via: x.x.x.x
x.x.x.x 为默认路由的网关的IP地址。
上述/etc/netplan/01-netcfg.yaml配置文件,eth0接入90.90.128.0/23局域网,eth1接入192.168.137.0/24局域网,usb0接入192.168.0.0/24局域网,每个网口都配置了静态IP和静态路由,默认路由通过eth1接入局域网的网关192.168.137.1。
其中eth0配置的IP为90.90.128.2/23,路由为:
routes: - to: 90.0.0.0/8 via: 90.90.128.1
参数解释:
执行netplan apply配置生效后,小藤将生成如下的路由信息:
(base) root@davinci-mini:~# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 90.0.0.0 90.90.128.1 255.0.0.0 UG 0 0 0 eth0
上述/etc/netplan/01-netcfg.yaml配置文件,eth0接入90.90.128.0/23局域网,eth1接入192.168.137.0/24局域网,usb0接入192.168.0.0/24局域网,每个网口都配置了静态IP和静态路由,默认路由通过eth1接入局域网的网关192.168.137.1。其中eth0配置的IP为90.90.128.2/23,路由为90.90.128.1。
TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes NAME=eth0 DEVICE=eth0 ONBOOT=yes IPADDR=192.168.0.2 NETMASK=255.255.254.0 GATEWAY=90.90.128.1
在键盘按Esc键退出编辑状态,输入:wq!保存配置。执行nmcli con reload重加载配置文件,再执行nmcli con up ifcfg-eth1命令激活配置。生成路由如下:
-sh-5.1# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 90.0.0.0 90.90.128.1 255.0.0.0 UG 0 0 0 eth0
配置正确的路由后,开发者套件就可以与90.90.128.0/23网段外的设备进行通信了,比如与90.254.79.88/32主机进行通信。如果没有正确配置路由信息,将无法与90.90.128.0/23网段外的主机进行通信,这种情况下,开发者套件只能与本局域网内的其他设备进行通信,比如与IP信息为90.90.128.100/23的主机进行通信。当发现开发者套件在局域网内,无法访问外部网络(局域网外的网络)时,请检查IP、掩码、路由信息是否配置正确。必要情况下,请与您的网络管理员确认您的网络配置信息是否正确。