提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 硬件&操作系统
- 一、静态路由是什么?
- 二、开始配置
- 1.netplan
- 2.NetworkManager
- 1.CLI
- 2.Desktop
- 三、开始测试
- 总结
前言
最近有一个需求,一开始让我满头疼的。有一个设备C挂在A服务器下面,在A上可以访问;现在我需要在B上访问C设备,A和B是同网段,B和C不是一个网段。如果B想直接访问C,最好地办法就是配置静态路由。
硬件&操作系统
CPU:I5 6700HQ
内存:DDR4 2400
OS:Ubuntu-18.04(server&desktop)
一、静态路由是什么?
静态路由(英语:Static routing)是一种路由的方式,路由项(routing entry)由手动配置,而非动态决定。与动态路由不同,静态路由是固定的,不会改变,即使网络状况已经改变或是重新被组态。一般来说,静态路由是由网络管理员逐项加入路由表。
查看本机路由也简单:
ip route
目前没有配置静态路由,等配置好了会出现在路由表里。
二、开始配置
静态路由配置这里介绍两种经典的方法,基于server的netplan方案和基于图形界面的NetworkManager方案(Debian系),还有其他发行版的方案这里就不单独介绍了,因为我用的最多的还是Ubuntu系统。
1.netplan
#使用vim打开yaml文件,你的可能和我不一样
sudo vim /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
enp97s0f1:
addresses:
- 10.0.48.37/24 # B服务器IP
gateway4: 10.0.48.1 # 网关
nameservers:
addresses:
- 223.5.5.5
- 223.6.6.6
routes:
- to: 172.20.0.80 # C服务器IP
via: 10.0.48.31 # A 服务器IP
on-link: true
version: 2
这里就是配置B服务器通过A服务器到C设备的静态路由,指定了在B上访问C就经过A转一道。配置静态路由之前,B到C是没有直接路由的,是unreachable的。
配置完别忘了保存,另外需要先try下,要不然一旦yaml语法错了可能破坏掉服务器的网络导致断连!
#先测试,如果报错了说明yaml格式有问题,返回修改
sudo netplan try
#提交并立即生效
sudo netplan apply
2.NetworkManager
这个比netplan还人性化点,由于是图形化的,看起来也没那么生硬。这种还要分命令行式图形和Desktop方式。前者是使用CLI模拟的假图形界面
,后者是桌面版的真图形界面
,效果是一样的,只不过配置方法略有差别。接下来就两个方法分别说明。
1.CLI
方法很简单,通过命令行就可以完成所有的操作。
#打开网络配置界面
sudo nmtui
选择Edit a connection
敲回车键
找到你的网卡敲回车键(我的说是4个网卡,你找到对的那个网卡就行了)。
找到Routing
选项并选择Edit...
敲回车
弹出的页面先择Add...
并敲回车。
Metrix是优先级,值越低优先级越高,根据自己需要填。
别忘了点OK保存
2.Desktop
这个就是真图形界面了。
找到Settings->Network->Wired
找到最右边的设置小按钮并敲回车
找到IPv4并敲回车
找到Routes并填入你的静态路由
千万别忘了Apply
最后就是无论上面CLI
还是Desktop
都需要重启服务器。
三、开始测试
在服务器B
上ping设备C
就行了,前提是C没有禁ping
。只要能ping通,说明你配置的就是对的。
ping 172.20.0.80
总结
1、静态路由配置方法还是简单的
2、当然还有其它的方法,但是没这个最简单,两句话搞定