配置Linux实现静态路由
配置Linux实现静态路由
- 背景和原理
路由器的功能是实现一个网段到另一个网段之间的通信,路由分为静态路由、动态路由、
默认路由和直连路由。静态路由是手工指定的,使用静态路由的好处是网络安全保密性高。动态路由因为需要路由器之间频繁地交换各自的路由表,而对路由表的分析可以揭示网络的拓扑结构和网络地址等信息。因此,网络出于安全方面的考虑也可以采用静态路由。不占用网络带宽,因为静态路由不会产生更新流量。
- 网络规划模拟
模拟使用四台Linux机器,分别命名为Linux1、Linux2(router1)、Linux3(router)
和Linux4,其中Linux2和Linux3当做路由器来配置静态路由功能,每两台机器之间的通信使用不同的网段和网络模式

- 环境模拟
克隆四台Linux机器并命名,分别按照网络规划图配置每台机器的网卡,只使用静态ip和子网掩码,克隆的机器需要执行命令>/etc/udev/rules.d/70-persistent-net.rules清空网卡相关信息文件,配置完后查看ip并检验同网段设备之间的通信
Linux1

Linux2

Linux3

Linux4

- 配置静态路由
4.1 添加静态路由:
常用参数:
add 增加路由
del 删除路由
-net 设置到某个网段的路由
-host 设置到某台主机的路由
gw 出口网关 IP地址
dev 出口网关 物理设备名
第1步
Linux1:route add –net 192.168.1.0/24 gw 10.0.0.129 (从1到3)
Linux3:route add –net 10.0.0.0/24 gw 192.168.1.129 (从3到1)
此时,Linux1和Linux3可以相互ping通
第2步
Linux4:route add –net 192.168.1.0/24 gw 192.168.2.130 (从4到2)
Linux2:route add –net 192.168.2.0/24 gw 192.168.1.130 (从2到4)
此时,Linux2和Linux4可以相互ping通
第3步:
Linux1:route add –net 192.168.2.0/24 gw 10.0.0.129 (从1到4)
Linux4:route add –net 10.0.0.0/24 gw 192.168.2.130 (从4到1)
至此,Linux1、Linux2、Linux3、Linux4之间可以互相通信

4.2 在配置时如有涉及Linux2和Linux3这两台机器则需要开启内核转发功能
方法一:echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf(临时开启)
方法二:vi /etc/sysctl.conf --> net.ipv4.ip_forward=1 (永久开启)
sysctl –p 载入 sysctl 配置文件
- 检验静态路由
5.1 查看各自机器的路由表




5.2 在Linux1机器上执行ping命令,进行两两通信

5.3 在其他机器上使用tcpdump抓取每两两通信之间的icmp报文包进行检验
ping 10.0.0.129 –c3

ping 192.168.1.130 –c3


ping 192.168.2.131 –c3



- 上述配置若在重启网络服务或者重启系统时都会失效。若想实现永久生效,有以下几种
方法
以Linux1为例
方法一:利用route-eth0文件
vi /etc/sysconfig/network-scripts/route-eth0 #默认不存在此文件,需要手动创建
加入如下内容
192.168.1.0/24 via 10.0.0.129
192.168.2.0/24 via 10.0.0.129
#有两块网卡时,配置该条路由的原则是网卡所在网段为该路由出口
#写到配置里,重启网络服务和重启系统都会生效
方法二:利用static-route文件
vi /etc/sysconfig/static-routes #默认不存在此文件,需要手动创建
加入如下内容
any net 192.168.1.0/24 gw 10.0.0.129
any net 192.168.2.0/24 gw 10.0.0.129
#写到配置里,重启网络服务和重启系统都会生效
方法三:利用rc.local文件
vi /etc/rc.local
加入如下内容
route add –net 192.168.1.0/24 gw 10.0.0.129
route add –net 192.168.2.0/24 gw 10.0.0.129
#写到配置里,重启重启系统会生效
博主原创文章,转载请务必注明出处
配置Linux实现静态路由的更多相关文章
- linux 添加静态路由
Linux下静态路由修改命令方法一:添加路由route add -net 192.168.0.0/24 gw 192.168.0.1route add -host 192.168.1.1 dev 19 ...
- Linux服务器静态路由配置
转载自:点击打开链接 静态路由是在路由器中设置的固定的路由表.除非网络管理员干预,否则静态路由不会发生变化.由于静态路由不能对网络的改变作出反映,一般用于网络规模不大.拓扑结构固定的网络中.静态路由的 ...
- linux添加静态路由
1.使用route命令,查看本机路由直接输入route回车即可.route 命令参数: add 增加路由 del 删除路由 -net 设置到某个网段的路由 -host 设置到 ...
- 路由器基本配置实验,静态路由和动态RIP路由
实验涉及命令以及知识补充 连线 PC和交换机FastEtherNet接口 交换机和路由器FastEtherNet接口 路由器和路由器Serial接口 serial是串行口,一般用于连接设备,不能连接电 ...
- 路由器静态IP的配置及其备份静态路由缺省路由
静态路由时管理员手动配置并维护的路由.静态路由配置简单,被广泛应用于网络中.静态路由还可以实现负载均衡和路由备份.学习掌握好静态路由的配置是很重要的. 如下图, 首先进入路由器的命令视图,(sys) ...
- 路由与交换,cisco路由器配置,浮动静态路由
设置浮动静态路由的目的就是为了防止因为一条线路故障而引起网络故障.言外之意就是说浮动静态路由实际上是主干路由的备份.例如下图: 假如我们设路由器之间的串口(seria)为浮动静态路由(管理距离为100 ...
- ubuntu配置网络和静态路由(界面配置形式)
目录 网卡配置 静态ip配置 静态路由 外网ip配置(动态获取DHCP) 内网ip和静态路由配置 本文主要针对ubuntu18.0系统进行界面形式配置网络.并配置静态路由. 网卡配置 静态ip配置 打 ...
- 《Linux系统静态路由和火墙路由》
本篇主要写的是关于静态路由表的添加,和如何让你不能上网的主机通过火墙路由表实现上网的功能. 静态路由表: 要是你的主机是2块网卡,并且做了网卡的绑定,依照我下面的方法是成功不了的,你可以去编辑: # ...
- Linux 实现静态路由实验
环境: 四台主机: A主机:eth0 NAT模式 R1主机:eth0 NAT模式,eth1 仅主机模式 R2主机:eth0 桥接模式,eth1仅主机模式 B主机:eth0 桥接模式 手动修改IP地址 ...
随机推荐
- BZOJ1233 [Usaco2009Open]干草堆tower 【单调队列优化dp】
题目链接 BZOJ1233 题解 有一个贪心策略:同样的干草集合,底长小的一定不比底长大的矮 设\(f[i]\)表示\(i...N\)形成的干草堆的最小底长,同时用\(g[i]\)记录此时的高度 那么 ...
- 基于RRT的机器人自主探索建图
一.方法讲解: 本项目分为三个部分:机器人周围一定范围内基于RRT的全局检测, 根据上一步检测的未知区域点执行sklearn.cluster.MeanShift聚类,获取聚类中心: 根据聚类中心计算各 ...
- confluence6.3安装、破解
confluence是一个专业的企业知识管理与协同软件,可以用于构建企业wiki.通过它可以实现团队成员之间的协作和知识共享.现在大多数公司都会部署一套confluence,用作内部wiki.现在co ...
- 【Cocos2D研究院之游戏开发】
http://www.xuanyusong.com/archives/category/ios/cocos2d_game 分类目录归档:[Cocos2D研究院之游戏开发] 201211-19 Co ...
- Linux系统调用--getrlimit()与setrlimit()函数详解【转】
转自:http://www.cnblogs.com/niocai/archive/2012/04/01/2428128.html 功能描述:获取或设定资源使用限制.每种资源都有相关的软硬限制,软限制是 ...
- linux反汇编
使用objdump参数可以: -a, --archive-headers 显示压缩头信息 -f, --file-headers 显示目录头总览 -p, --private-h ...
- Object和Thread自带的原生方法
Object类: 1) clone():创建并返回此对象的一个副本. 2) equals(obj):指示其对象是否与此对象“相等”. 3) finalize():当垃圾回收器确定不存在对该对象的更多引 ...
- 你不一定知道的、并没有什么卵用的一些python库
1. delorean,用来处理时间的库 import datetime import pytz # 一般情况下,我们想表示时间的话 est = pytz.timezone("Asia/Sh ...
- java的unity单元测试
import org.junit.After; import org.junit.Before; import org.junit.Test; public class TestUnit { publ ...
- sql 事物 锁 快照(转发的,写的非常好)
隔离级别定义事务处理数据读取操作的隔离程度,在SQL Server中,隔离级别只会影响读操作申请的共享锁(Shared Lock),而不会影响写操作申请的互斥锁(Exclusive Lock),隔离级 ...