第四章 路由的概念与路由器的设置

目录

路由及路由的配置

动态路由器架设

ARP代理Proxy


路由及路由的配置

       路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程。路由工作在OSI参考模型第三层--网络层的数据包转发设备;当主机在不同网段之间通信的时候,必须要为其设置一个默认路由;下面通过实例来演示路由的配置:

实验环境:采用VMware Workstation搭建四台主机,其中主机B、主机C两个网卡分别连接不同的网段;IP地址如下图所示

网段:10.0.0.0,20.0.0.0,30.0.0.0

实验目标:通过在主机B和主机C上添加路由信息,使得主机A和主机D能够相互通信

主机A到主机D的通信过程:由于主机A和主机B处于直连的网段中,当主机A和主机D通信时,主机A首先将数据包发送给默认网关,当主机B收到主机A发送的数据包时,由于数据包是要发往30网段的,所以需要在主机B的eth1接口上配置一条通往30网段的路由;这时候主机B就会通过主机C的eth0接口将数据包转发到30网段;由于主机C和主机D是直连的网段,所以主机C可以顺利地将数据包发送给主机D;当主机D收到数据包时,会向主机A返回一个确认的数据包,过程与上面的相同;需要在主机C的eth0接口上配置一条通往10网段的路由

1、给主机A增加一条指向主机B的默认路由:route add default gw 10.0.0.1

2、给主机D增加一条指向主机C的默认路由:route add default gw 30.0.0.1

3、给主机B增加一条指向30网段的路由信息:route add -net 30.0.0.0/24 dev eth1 (在重启服务或者系统重启之后将失效)

通过修改配置文件让路由永久生效:vim /etc/sysconfig/network-scripts/route-eth1

重启网络服务:service network restart

在主机B上开启路由转发功能:echo 1 > /proc/sys/net/ipv4/ip_forward (命令行配置的在重启服务或者系统重启将失效)

通过编辑配置文件永久开启路由转发功能:vim /etc/sysctl.conf

使所做的改变立即生效:sysctl -p

清空防火墙:iptables -F

 

4、给主机C增加一条指向10网段的路由信息:route add -net 10.0.0.0/24 dev eth0 (在重启服务或者系统重启之后将失效)

通过修改配置文件让路由永久生效:vim /etc/sysconfig/network-scripts/route-eth0

重启网络服务:service network restart

在主机B上开启路由转发功能:echo 1 > /proc/sys/net/ipv4/ip_forward (命令行配置的在重启服务或者系统重启将失效)

通过编辑配置文件永久开启路由转发功能:vim /etc/sysctl.conf

使所做的改变立即生效:sysctl -p

清空防火墙:iptables -F

 

测试主机A到主机D的通信:ping 30.0.0.2

注意:排除两台主机无法通信的原则是:数据包有去有回,即两台主机可以成功通信

           如果两台主机无法通信,首先检查主机是否开启路由转发功能;其次检查主机的防火墙是否清空


动态路由器架设

上面通过演示配置静态路由信息实现不同网段间的通信,但是这种方法具有一定的局限性;当我们在面对一个复杂的网络,或者存在大量的不同网段时,静态配置路由信息的方式就显得十分困难;因为一方面我们需要将所有的非直连网段都配置路由信息,这样很容易遗漏出错,另一方面静态路由配置的方式工作量太大;面对这种情况,就需要用到动态配置路由信息的方法;

动态路由的原理是:两个网段的路由信息相互交换;例如上图中主机B能够识别直连的10网段和20网段,而主机C能够识别直连的20网段和30网段;这时候主机B和主机C会相互交换路由信息,主机B将30网段的路由信息添加到自己的路由表中,主机C将10网段的路由信息添加到自己的路由表中。这样就实现了动态路由的配置;动态路由配置是依据动态路由协议完成的,常用的协议有Rip协议、Ospf协议等

实验环境:采用VMware Workstation搭建四台主机,其中主机B、主机C两个网卡分别连接不同的网段;IP地址如下图所示

网段:10.0.0.0,20.0.0.0,30.0.0.0

实验目标:通过在主机B和主机C上配置动态路由,使得主机A和主机D能够相互通信

1、配置zebra控制台

在主机B和主机C上安装支持动态路由的包quagga:yum install quagga -y

切换到quagga目录,编辑zebra.conf配置文件:

注:zebra.conf配置文件是动态路由的控制台,rip、ospf等动态路由协议都是在zebra控制台上运行的

重启zebra服务:service zebra restart

设置zebra服务开机启动:chkconfig zebra on

2、配置rip动态路由协议(同样的方式在主机B和主机C上面配置rip协议)

拷贝ripd的配置文件:cp ripd.conf.sample ripd.conf

编辑拷贝的配置文件:vim ripd.conf

重启rip动态路由服务:service ripd restart

设置rip动态路由开机启动:chkconfig ripd on

查看frip协议的活跃端口:netstat -ntulp | grep :520

 

测试主机A到主机D的通信:ping 30.0.0.2


ARP代理Proxy

      在局域网中主机之间都是通过MAC地址来通信的,当源主机需要和目标主机通信的时候首先会发送一个ARP广播,处于该局域网中的每一台主机都能够收到源主机发送的ARP广播包,而当目标主机收到来自源主机的ARP广播包的时候会向源主机返回一个数据包;这样就确认了两台主机之间的通信;

实验环境:采用VMware Workstation搭建三台主机,其中主机B的网卡连接两个不同的局域网;IP地址信息如下图

实验目标:由于主机A和主机C处于两个不同的局域网,但是IP地址却处于同一网段的特殊情况;(这是由于内网的IP地址可以自行设置并并使用)当主机A和主机C通信时,由于IP地址处于同一个网段,所以主机A会发送ARP广播,但是由于该局域网中并没有主机C的IP地址,所有主机A收不到ARP的恢复;下面通过在主机B上设置ARP代理,实现主机A到主机C的通信

实验原理:当主机A在该局域网中发送到主机C的ARP广播时,让主机B作为代理,代替接收到主机C的ARP请求;然后再通过在主机B上增加到主机C的路由从而将主机A的ARP请求转发给主机C;同样的,当主机C向主机A返回ARP数据包时通过在主机B上做代理及路由,从而实现通信

1、在主机B上增加到主机C的代理:arp -i eth0 -s 10.0.0.4 00:0C:29:0E:7E:8A pub

2、 在主机B上增加到主机C的单机路由:route add -host 10.0.0.4 eth1

3、同样,在主机B上增加到主机A的代理及单机路由:arp -i eth1 -s 10.0.0.2 00:0C:29:0E:7E:94 pub

                                                                                                route add -host 10.0.0.2 eth0

 

测试主机A和主机C的通信:ping 10.0.0.4 , ping 10.0.0.2

注:把握主机之间通信的原则:数据包是否有去有回;检查防火墙是否清空


原创文章,转载请注明出处

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旷野亮光

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值