linux配置静态路由

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

最近有一个需求,一开始让我满头疼的。有一个设备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、当然还有其它的方法,但是没这个最简单,两句话搞定

猜你喜欢

转载自blog.csdn.net/jiexijihe945/article/details/134036553