Linux之网络管理(3)静态路由小案例

在日常网络中,总有有这么一种情况,在只有很少的路由器、交换机链接起来的网络会产生很多不同的网段,但是各个接口又不是都指向同一个,至少在一个线路而已,类似于各个公司部门的网段不同,但连在一起,因此产生了各个主机的网段不同。为了解决这种问题,可以对某些连在中间的主机模拟成路由器,来实现不同网段ip主机通信。

模拟测试:

这里模拟3个主机设备来进程跨网点组网

准备工作:

1、使用vm虚拟机模拟3个主机的linux系统环境,这里我准备了3个主机,这里标记3个主机分别为lab1、lab2、lab4

2、规划好一些私有网络、ip来使用

3、3个主机的网卡连接模式必须相同,这里因为物理主机只有2块网卡,且只有2个网关,因此要使用多网关这里我设置3个虚拟LAN区域:xx、yy、zz

4、规划网络ip

5、测试主机的网卡设备是否能正常使用

LAN区域网段介绍:

xx网段:10.0.0.0/8     网段

yy网段:172.0.0.0/16   网段

zz网段:192.168.0.0/24 网段

主机网卡网段分配:

LAN  主机   使用网卡  IP地址

xx : lab1    eth0     10.0.0.10

lab2    eth1     10.0.0.20

yy : lab2    eth2     172.0.0.10

lab4    eth0     172.0.0.20

zz : lab4    eth1     192.168.0.10

试验阶段:

查看各个网卡ip

Lab1  eth0

Lab2  eth1

Lab2  eth2

Lab4  eth0

Lab4  eth1

规法网关路由:

因为只有3个LAN区域,所以网段为固定,这里可以直接给lab1 设置一条默认路由

设置lab1主机的eth0网卡:

1、测试同一网络:

lab1 访问 lab2  在xx网络的接口   10.0.0.10  -->  10.0.0.20

2、设置lab1网关

1、使用ip命令添加默认网关:

ip  roue  add  default  via  10.0.0.20  dev  eth0

解析:其中default表示默认,也就是0.0.0.0网络,via表示下一条的地址,dev指明为哪个网卡设备配置,因为lab1在xx网络,只有一个eth0网卡,而lab2其中的eth1网卡也在xx网络并在同一网段,因此,两种直接可以ping通,但是想要访问lab2其中的eth2网卡,也就是yy网络,就需要将数据给lab2的eth1网卡,然后由lab2来转发数据。

2、查看lab1主机的route表

ip  route  show

解析:这里最后一行显示了刚才添加的默认路由条目

3、下面测试lab1的eth0接口能不能通过lab2的eth1去访问eth2(172.0.0.10)

解析:能ping通表示已经可以访问了

设置lab2主机的网卡:

1、测试网络

#下面重启lab2网络进程测试

说明:这里启动失败,是因为此网络服务的进程与NetworkManager服务进程发送冲突,这里我们查看NetworkManager是否正在运行:

#下面查看lab2NM服务进程

service NetworkManager status

#这样已经发现NM服务真的已经启动了,下面关闭此服务:

service  NetworkManager  stop

#lab2再次开启network 服务

解析:这里显示eth1和eth2重新获取了ip地址,当然还是刚才的配置下面测试ping

#ping名称测试通信(lab2测试)

1、Lab2 去访问 lab1 的eth0网卡

2、Lab2去访问lab4 的eth0网卡

3 、Lab2去访问lab4 的eth1网卡

解析:这里为什么ping不同,因为lab2没有设置通往192.168.0.0的网络,也就是zz网络,而能访问lab4的eth0,是因为lalb2的eth1和其在同一个网络(yy)网络172.0.0.0网段,所以这里要进行对lab2的eth2设置一个网关。

2、设置网关

#给lab2的eth2添加一个能访问192.168.0.0网段的route条目

ip  route  add  192.168.0.0/24  via  172.0.0.20   dev  eth2

解析:这里同样和添加lab1的默认路由类似,而lab1需要将数据传给通网段的lab2的eth1接口,所以,lab2要想访问lab4 的192.168.0.0网段,就要将数据给与lab4网络接口相连的接口,也就是lab2 的eth2接口,而 172.0.0.20是 lab4的eth0接口,然后建立访问。

#查看lab2的路由表,确认添加成功

ip route show

说明:第二行以及显示了新增加的路由,下面测试访问lab4的eth1接口

3、再次访问测试

lab2测试

#lab2访问192.168.0.0网段

解析:同样也能ping通,那么我们下面想一下,lab1是不是可以访问lab2而去间接访问lab4呢,下面测试一下:

lab1测试

#lab1访问 lab4  eth0   172.0.0.20

解析:看来不能通过此来访问,这里网关虽然设置好,但是linux内核内部默认是不会讲lab1的数据包通过lab2的eth2接口转发给lab4的。

4、设置开启转发功能

1、查看和开启lab2的ip转发功能

cat   /proc/sys/net/ipv4/ip_forward   #为0关闭,为1开启

解析: /proc为系统内核模块的系统进程产生的文件,是无法直接修改的,因此可以使用重定向,注意,这里只接收一个参数。

解析:想一想lab2接收lab1传来的数据,想经过 eth1,然后转发到eth2,但是lab4并不识别,因此需要再开启lab4的转发来接收数据

设置lab4的网卡:

1、设置lab4路由和转发

#开启lab4的转发功能

echo   1   >  /proc/sys/net/ipv4/ip_forward

#lab1 再次访问 lab4  的 172.0.0.20

发现仍然失败,这是因为lab4并没有同向10.0.0.0网段的路由表,下面对lab4添加xx网段的路由

#给lab4添加访问10.0.0.0 网段的路由条目

ip  route   add   10.0.0.0/8   via   172.0.0.10   dev  eth0

#再次使用lab1 访问 lab4 的172.0.0.20

#再次使用lab1 访问 lab4 的192.0.0.10

解析:也是能访问的,因为根据路由条目linux内核的转发功能以及可以随意转发数据了

2、测试lab4访问lab1

#那么同时lab4也能访问10.0.0.0网段的地址了

进行优化

当我们添加路由都是临时生效,重启主机或网络服务都会失效,因此可以将路由配置写入配置文件

lab1设置:

1、设置路由配置

cd    /etc/sysconfig/network-scripts/   #切换到网络脚步目录
vim   route-eth0                          #创建并编辑文件

2、再次启动服务,测试是否读取配置文件的数据来设置

解析:这里显示0.0.0.0表示所有网段,这里了表示读取配置以及成功。

lab2设置:

1、设置路由配置

2、设置ip转发永久生效 

当然还有修改的linux系统内核参数,这里要到/etc/sysctl.conf文件去修改

#将 ip_forward = 这里的值设置为1表示开启,默认为0表示关闭

vim /etc/sysctl.conf

#再修改保存后,并不能直接生效,需要使用命令来重读系统参数配置文件

sysctl   -p

lab4配置:

1、lab4路由配置

注意:设置后当然也去修改其系统下的/etc/sysctl.conf文件中的ip_forward的value,这里过程和lab2配置一样,可以参考lab2配置系统内核参数过程。

额外说明:这里我默认都关闭了防火墙功能,默认如果防火墙中有条目,如果再启动ip_forward 转发任然不能ping同,可以使用关闭服务或者清空防火墙,使用方法:

iptables  -F         #清空防火墙
service  iptables stop  #关闭防火墙服务
时间: 2024-10-11 22:34:14

Linux之网络管理(3)静态路由小案例的相关文章

linux下永久添加静态路由

在linux下永久添加静态路由有两种方法: 添加路由的命令: 1,route add route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0#添加一条静态路由 route add default gw 192.168.0.1#添加默认路由 route del -net 192.168.1.0/24 gw 192.168.0.1#删除一条路由 route -n#查看路由表 2,ip ro add ip ro add 192.56.76.0

CentOS6 Linux系统添加永久静态路由的方法

一.使用route命令添加route 命令 设置和查看路由表都可以用 route 命令,设置内核路由表的命令格式是: # route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If] 其中: add : 添加一条路由规则 del : 删除一条路由规则 -net : 目的地址是一个网络 -host : 目的地址是一个主机 target : 目的网络或主机 netmask : 目的地址的网络掩码 gw : 路由数据包通过的网关

静态路由小特性配置

实验拓扑图: 经配置,各网段相互能ping通.此时在R3上分别ping 12.12.12.1和12.12.12.2 显然ping不通,有R3的路由表可得知,只有2个直连网段的路由表. 路由器在收到一个数据包时: <1>路由器是3层设备,能够解包看到3层封装的IP报头信息,自然可以得知 源IP地址.目的IP地址: <2>读到packe的DEST IP address,查询自己的路由表,决策出自己能否到达该目的地址,能则转发,反之丢弃: <3>如果有多条达到DEST的路由,

Cisco路由交换CCNP中级课程-实验5:静态路由综合案例

实验环境介绍: 52LAB自主设计制作的实验操作环境以及实验要求,方便CCNP学习者系统性的学习和实验操作,提高学习效率,降低学习成本. 实验要求: 1.按照拓扑图上显示信息给每台路由器配置主机名和IP地址: 2.全网路由器都配置使用静态路由协议: 3.52LAB-1去往52LAB-5路由优先选择52LAB-2,52LAB-2出现故障时自动选择52LAB-4去往52LAB-5: 4.52LAB-5配置静态默认路由: 5.测试:关闭52LAB-2 E0/0接口,确定52LAB-1是否还能ping通

Linux 更改静态路由

一:使用 route 命令添加  使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:  //添加到主机的路由  # route add –host 192.168.1.11 dev eth0  # route add –host 192.168.1.12 gw 192.168.1.1  //添加到网络的路由  # route add –net 192.168.1.11  netmask 255.255.255.0 eth0  # route add –net 192.16

操作系统里静态路由和直连路由的优先级-转

原文:https://blog.csdn.net/centerpoint/article/details/37601477 引言 在操作系统上, 同网段IP是通过二层方式直接通信,  不经过网关,成为了一个根深蒂固的观念,  就算在有直连路由的同时也配置同网段的静态路由, 也不会有人怀疑直连路由的优先级,  认为还是会优先二层通信, 特别是玩过路由器的人, 都知道相同网段的情况下直连路由比静态路由的优先级高.  然而事实并非如此.: Linux系统下的静态路由与直连路由优先级对比: eth0配置

解决CentOS添加新网卡后找不到网卡配置文件,配置多网卡并设置静态路由

参考文章 https://blog.csdn.net/qq_36512792/article/details/79787649 使用VMware Workstation虚拟机安装好CentOS7虚拟机后,添加网卡后CentOS 7无网卡配置文件的问题,添加第二块网卡以后,进入CentOS 7系统后,看不到网卡配置文件. 进入CentOS7系统后,使用ip addr 查看状态如下: 发现ens33和ens77均有IP地址,且可正常使用,ens33使用的是手动配置IP,ens37使用的是dhcp自动

默认/静态路由小小实践

默认/静态路由小实践: R1 至 R2 的直连网段是 12.12.12.0/24, R1 是 12.12.12.1 , R2 是 12.12.12.2: R1 至 R3 就是 13.13.13.0/24,, R2 至 R3 就是 23.23.23.0/24,依此类推: R1/2/3/4 的 loopback 接口 分别是 1.1.1.1/24. 2.2.2.2/24. 3.3.3.3/24. 4.4.4.4/24 拓扑如下.. 按要求配置好各个地址.然后配置静态路由. 静态路由配制规则:ip r

Linux之网络管理(6)ip及路由相关命令

Linux之网络管理(6)ip及路由相关命令 linux中提供了很多强大的网络管理工具,而且每更新一些版本后都会有新功能.新工具的出现,对于ip和route设置最常用的,就是ifconfig.route等命令了. IP及设备相关的命令使用: ifconfig 命令 查看接口设备信息 ifconfig                 #查看所有启用(up状态)的接口信息 ifconfig  ifcfg-x        #查看指定的网络接口信息 ifconfig  -a             #