配置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
#写到配置里,重启重启系统会生效
博主原创文章,转载请务必注明出处