已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8 路由概念与路由器8.1.2一个网卡绑多个IP:IP Alias的测试用途装置可以在原本的eth0上面模拟出一个虚拟介面出来,以让我们原本的网路卡具有多个IP,具有多个IP的功能就被称为IP Alias了。而这个eth0:0的装置可以透过ifconfig或ip这两个指令来达成,关于这两个指令的用途请翻回去之前的章节阅读,这里不再浪费篇幅啊!那你或许会问啊:这个IP Alias有啥用途啊?好问题!这个IP Alias最大的用途就是可以让你用来应急!怎么说呢?我们就来聊一聊他的几个常见的用途好了:测试用:在不更动既有的网路环境下,你可以直接利用:rootwww#ifconfigdeviceIPnetmasknetmask ipup|downrootwww#ifconfig eth0:0 00 netmask up来建立一个虚拟的网路介面,这样就可以立刻连接上IP分享器了,也不会更动到你原本的网路参数设定值哩!在一个实体网域中含有多个IP网域:另外,如果像是在补习班或者是学校单位的话,由于原本的主机网路设定最好不要随便修改,那如果要让同学们大家互通所有的电脑资讯时,就可以让每个同学都透过IP Alias来设定同一网域的IP,如此大家就可以在同一个网段内进行各项网路服务的测试了,很不错吧!既有设备无法提供更多实体网卡时:如果你的这部主机需要连接多个网域,但该设备却无法提供安装更多的网卡时,你只好勉为其难的使用IP Alias来提供不同网段的连线服务了!不过,你需要知道的是:所有的IP Alias都是由实体网卡模拟来的,所以当要启动eth0:0时,eth0必须要先被启动才行。而当eth0被关闭后,所以eth0:n的模拟网卡将同时也被关闭。这得先要瞭解才行,否则常常会搞错启动的装置啊!在路由规则的设定当中,常常需要进行一些测试,那这个IP Alias就派的上用场了。尤其是学校单位的练习环境当中!基本上,除非有特殊需求,否则建议你要有多个IP时,最好在不同的网卡上面达成,如果你真的要使用IP Alias时,那么如何在开机的时候就启动IP alias呢?方法有很多啦!包括将上面用ifconfig启动的指令写入/etc/rc.d/rc.local档案中(但使用/etc/init.d/network restart时,该IP alias无法被重新启动),但鸟哥个人比较建议使用如下的方式来处理:透过建立/etc/sysconfig/network-scripts/ifcfg-eth0:0设定档举例来说,你可以透过底下这个方法来建立一个虚拟装置的设定档案:rootwww#cd/etc/sysconfig/network-scriptsrootwww network-scripts#vim ifcfg-eth0:0 DEVICE=eth0:0=相当重要!一定要与档名相同的装置代号!ONBOOT=yes BOOTPROTO=static IPADDR=00 NETMASK= NETWORK= BROADCAST=55rootwww network-scripts#ifup eth0:0rootwww network-scripts#ifdown eth0:0rootwww network-scripts#/etc/init.d/network restart关于装置的设定档案内的更多参数说明,请参考第四章手动设定IP参数一文的相关说明,在此不再叙述!使用这个方法有个好处,就是当你使用/etc/init.d/network restart时,系统依旧会使用你的ifcfg-eth0:0档案内的设定值来启动你的虚拟网卡喔!另外,不论ifcfg-eth0:0内的ONBOOT设定值为何,只要ifcfg-eth0这个实体网卡的设定档中,ONBOOT为yes时,开机就会将全部的eth0:n都启动。透过这个简单的方法,你就可以在开机的时候启动你的虚拟介面而取得多个IP在同一张网卡上了。不过需要注意的是,如果你的这张网卡分别透过DHCP以及手动的方式来设定你的IP参数,那么dhcp的取得务必使用实体网卡,亦即是eth0之类的网卡代号,而手动的就以eth0:0之类的代号来设定较佳。8.1.3重复路由的问题很多朋友可能都有一个可爱的想法,那就是:我可不可以利用两张网卡,利用两个相同网域的IP来增加我这部主机的网路流量?事实上这是一个可行的方案,不过必须要透过许多的设定来达成,若你有需求的话.如果只是单纯的以为设定好两张网卡的IP在同一个网域就能够增加你主机的两倍流量,那可就大错特错了为什么呢?还记得我们在路由表规则里面提过网路封包的传递主要是依据主机内的路由表规则吧!那如果你有两张网路卡时,假设:eth0:00 eth1:00那你的路由规则会是如何呢?理论上会变成这样:rootwww#route-n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface U0 00 eth1 U0 00 eth0也就是说,(1)当要主动发送封包到/24的网域时,都只会透过第一条规则,也就是透过eth1来传出去!(2)在回应封包方面,不管是由eth0还是由eth1进来的网路封包,都会透过eth1来回传!这可能会造成一些问题,尤其是一些防火墙的规则方面,很可能会发生一些严重的错误,如此一来,根本没有办法达成负载平衡,也不会有增加网路流量的效果!更惨的是,还可能发生封包传递错误的情况吶!所以说,同一部主机上面设定相同网域的IP时,得要特别留意你的路由规则,一般来说,不应该设定同一的网段的不同IP在同一部主机上面。例如上面的案例就是一个不好的示范啊!8.2路由器架设8.2.1什么是路由器与IP分享器既然主机想要将资料传送到不同的网域时得透过路由器的帮忙,所以啦,路由器的主要功能就是:转递网路封包啰!也就是说,路由器会分析来源端封包的IP表头,在表头内找出要送达的目标IP后,透过路由器本身的路由表(routing table)来将这个封包向下一个目标(next hop)传送。这就是路由器的功能。那么路由器的功能可以如何达成呢?目前有两种方法可以达成:硬体功能:例如Cisco,TP-Link,D-Link(注2)等公司都有生产硬体路由器,这些路由器内有嵌入式的作业系统,可以负责不同网域间的封包转译与转递等功能;软体功能:例如Linux这个作业系统的核心就有提供封包转递的能力。打开核心的封包转递(IP forward)功能rootwww#cat/proc/sys/net/ipv4/ip_forward 0=0代表没有启动,1代表启动了要让该档案的内容变成启动值1最简单的方是就是使用:echo 1/proc/sys/net/ipv4/ip_forward即可。不过,这个设定结果在下次重新开机后就会失效。因此,鸟哥建议您直接修改系统设定档的内容,那就是/etc/sysctl.conf来达成开机启动封包转递的功能喔。rootwww#vim/etc/sysctl.conf#将底下这个设定值修改正确即可!(本来值为0,将它改为1即可)net.ipv4.ip_forward=1rootwww#sysctl-p=立刻让该设定生效sysctl这个指令是在核心工作时用来直接修改核心参数的一个指令,更多的功能可以参考man sysctl查询。不要怀疑!只要这个动作,你的Linux就具有最简单的路由器功能了。而由于Linux路由器的路由表设定方法的不同,通常路由器规划其路由的方式就有两种:静态路由:直接以类似route这个指令来直接设定路由表到核心功能当中,设定值只要与网域环境相符即可。不过,当你的网域有变化时,路由器就得要重新设定;动态路由:透过类似Quagga或zebra软体的功能,这些软体可以安装在Linux路由器上,而这些软体可以动态的侦测网域的变化,并直接修改Linux核心的路由表资讯,你无须手动以route来修改你的路由表资讯喔!接下来你可能需要瞭解到什么是NAT(Network Address Translation,网路位址转译)伺服器,NAT是啥?一般来说,路由器会有两个网路介面,透过路由器本身的IP转递功能让两个网域可以互相沟通网路封包。那如果两个介面一边是公共IP(public IP)但一边是私有IP(private IP)呢?由于私有IP不能直接与公共IP沟通其路由资讯,此时就得要额外的IP转译功能了;Linux的NAT伺服器可以透过修改封包的IP表头资料之来源或目标IP,让来自私有IP的封包可以转成NAT伺服器的公共IP,就可以连上Internet!所以说,当路由器两端的网域分别是Public与Private IP时,才需要NAT的功能!8.2.3静态路由之路由器假设在贵公司的网路环境当中,除了一般职员的工作用电脑是直接连接到对外的路由器来连结网际网路,在内部其实还有一个部门需要较安全的独立环境,因此这部份的网路规划可能是这样的情况:图8.2-1、静态路由之路由器架构示意图以上图的架构来说,这家公司主要有两个class C的网段,分别是:一般区网(/24):包括Router A,PC1以及Linux Router三部主机所构成;保护内网(/24):包括Linux Router,PC2,PC3,PC4等主机所构成。其中/24是用来做为一般员工连接网际网路用的,至于/24则是给特殊的部门用的。PC1代表的是一般员工的电脑,PC2及PC3,PC4则是特殊部门的工作用电脑,Linux Router则是这个特殊部门用来连接到公司内部网域的路由器。在这样的架构下,该特殊部门的封包就能够与公司其他部门作实体的分隔了。由上图你也不难发现,只要是具有路由器功能的设备(Router A,Linux Router)都会具有两个以上的介面,分别用来沟通不同的网域,同时该路由器也都会具有一个预设路由啊!_!另外,你还可以加上一些防火墙的软体在Linux Router上,以保护PC2PC4的内部电脑呢!那我们先来探讨一下连线的机制好了,先从PC2这部电脑谈起。如果PC2想要连上Internet,那么他的连线情况会是如何?发起连线需求:PC2-Linux Router-Router A-Internet回应连线需求:Internet-Router A-Linux Router-PC2观察一下两部Router的设定,要达到上述功能,则Router A必须要有两个介面,一个是对外的Public IP一个则是对内的Private IP,因为IP的类别不同,因此Router A还需要额外增加NAT这个机制才行,这个机制我们在后续章节会继续谈到。除此之外,Router A并不需要什么额外的设定。至于Linux Router就更简单了!什么事都不用作,将两个网路介面卡设定两个IP,并且启动核心的封包转递功能,立刻就架设完毕了!非常简单!我们就来谈一谈这几个机器的设定吧!Linux Router在这部主机内需要有两张网卡,鸟哥在这里将他定义为:eth0:00/24eth1:54/24#1.先处理eth0rootwww#vim/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static IPADDR=00 NETMASK= GATEWAY=54=最重要的设定啊!透过这部主机连出去的!ONBOOT=yes#2.再先处理eth1rootwww#vim/etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=none ONBOOT=yes IPADDR=54 NETMASK=#3.启动IP转递rootwww#vim/etc/sysctl.conf net.ipv4.ip_forward=1#找到上述的设定值,将预设值0改为上述的1即可!储存后离开去!rootwww#sysctl-prootwww#cat/proc/sys/net/ipv4/ip_forward 1=这就是重点!要是1才可以呦!#4.重新启动网路,并且观察路由与ping Router Arootwww#/etc/init.d/network restartrootwww#route-n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface U0 00 eth0 U0 00 eth1 U0 00 eth1 54 UG 00 0eth0#上面的重点在于最后面那个路由器的设定是否正确呦!rootwww#ping-c 254 PING 54(54)56(84)bytes of data.64 bytes from 54:icmp_seq=1 ttl=64 time=0.294 ms 64 bytes from 54:icmp_seq=2 ttl=64 time=0.119 ms=有回应即可有够简单吧!而且透过最后的ping我们也知道Linux Router可以连上Router A啰!这样你的Linux Router就OK了吶!接下来则是要设定PC2这个被保护的内部主机网路啰。受保护的网域,以PC2为例不论你的PC2是哪一种作业系统,你的环境都应该是这样的:IP:0 netmask: gateway:54以Linux作业系统为例,并且PC2仅有eth0一张网卡时,他的设定是这样的:rootwww#vim/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static IPADDR=0 NETMASK= GATEWAY=54=这个设定最重要啦!ONBOOT=yesrootwww#/etc/init.d/network restartrootwww#route-n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface U0 00 eth0 U0 00 eth0 54 UG 00 0eth0rootwww#ping-c 254最后一个动作有问题呦!怎么会连ping都没有办法ping到Router A的IP呢?如果连ping都没有办法给予回应的话,那么表示我们的连线是有问题的!再从刚刚的回应连线需求流程来看一下吧!发起连线:PC2-Linux Router(OK)-Router A(OK)回应连线:Router A(此时router A要回应的目标是0),Router A仅有public与/24的路由,因此封包传到Router A后,这个封包就回不来了.发现了吗?网路是双向的,此时封包出的去,但是非常可怜的,封包回不来那怎办呢?只好告知Router A当路由规则碰到/24时,要将该封包传00就是了!所以你要这样进行。特别的路由规则:Router A所需路由假设我的Router A对外的网卡为eth1,而内部的54则是设定在eth0上头。那怎么在Router A增加一条路由规则呢?很简单啊!直接使用route add去增加即可!如下所示的情况:rootwww#route add-net netmask gw 00不过这个规则并不会写入到设定档,因此下次重新开机这个规则就不见了!所以,你应该要建立一个路由设定档。由于这个路由是依附在eth0网卡上的,所以设定档的档名应该要是route-eth0喔!这个设定档的内容当中,我们要设定/24这个网域的gateway是00,且是透过eth0,那么写法就会变成:rootwww#vim/etc/sysconfig/network-scripts/route-eth0 /24 via 00 dev eth0目标网域透过的gateway装置rootwww#route-n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 92 U0 00 eth1 U0 00 eth0 00 UG 00 0eth0 U0 00 eth1 54 UG 00 0eth1上述观察的重点在于有没有出现那行路由!如果有的话,请ping 0看看能不能有回应?然后再到PC2上面去ping 54看看有没有回应,你就知道设定成功啰!好了,既然内部保护网路已经可以连上Internet了,那么是否代表PC2可以直接与一般员工的网域,例如PC1进行连线呢?我们依旧透过路由规则来探讨一下,当PC2要直接连线到PC1时,他的连线方向是这样的:连线发起:PC2-Linux Router(OK)-PC1(OK)回应连线:PC1(连线目标为0,因为并没有该路由规则,因此连线丢给default gateway,亦即是Router A)-Router A(OK)-Linux Router(OK)-PC2有没有发现一个很可爱的传输流程?连线发起是没有问题啦,不过呢,回应连线竟然会偷偷透过Router A来帮忙呦!这是因为PC1与当初的Router A一样,并不知道/24在00里面啦!不过,反正Router A已经知道了该网域在Linux Router内,所以,该封包还是可以顺利的回到PC2就是了。让PC1与PC2不透过Router A的沟通方式如果你不想要让PC1得要透过Router A才能够连线到PC2的话,那么就得要与Router A相同,增加那一条路由规则啰!如果是Linux的系统,那么如同Router A一样的设定如下:rootwww#vim/etc/sysconfig/network-scripts/route-eth0 /24 via 00 dev eth0rootwww#/etc/init.d/network restartrootwww#route-n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface U0 00 eth0 00 UG 00 0eth0 U0 00 eth0 54 UG 00 0eth0最后只要PC2使用ping可以连到PC1,同样的,PC1也可以ping到PC2的话,就表示你的设定是OK的啦!搞定!而透过这样的设定方式,你也可以发现到一件事,那就是:路由是双向的,你必须要瞭解出去的路由与回来时的规则。举例来说,在预设的情况下(Router A与PC1都没有额外的路由设定时),其实封包是可以由PC2连线到PC1的,但是PC1却没有相关的路由可以回应到PC2所以上头才会要你在Router A或者是PC1上面设定额外的路由规则啊!这样说,瞭了吧?_用Linux作一个静态路由的Router很简单吧!以上面的案例来说,你在Linux Router上面几乎没有作什么额外的工作,只要将网路IP与网路介面对应好启动,然后加上IP Forward的功能,让你的Linux核心支援封包转递,然后其他的工作咱们的Linux kernel就主动帮你搞定了!真是好简单!不过这里必须要提醒的是,如果你的Linux Router有设定防火墙的话,而且还有设定类似NAT主机的IP伪装技术,那可得特别留意,因为还可能会造成路由误判的问题上述的Linux Router当中并没有使用到任何NAT的功能喔!特别给他留意到!8.3动态路由器架设:quagga(zebra+ripd)在一般的静态路由器上面,我们可以透过修改路由设定档(route-ethN)来设定好既定的路由规则,让你的路由器运作顺利。不过,这样的方法总是觉得很讨厌!如果某天因为组织的再造导致需要重新规划子网路网段,如此一来,你就得要在图8.2-1的Router A与Linux Router再次的处理与检查路由规则,真是有够麻烦的那能不能让路由器自己学习新的路由,来达成自动增加该笔路由的资讯呢?上述的功能就是所谓的动态路由。动态路由通常是用在路由器与路由器之间的沟通,所以要让你的路由器具有动态路由的功能,你必须要瞭解到对方路由器上面所提供的动态路由协定才行,这样两部路由器才能够透过该协定来沟通彼此的路由规则。目前常见的动态路由协定有:RIPv1,RIPv2,OSPF,BGP等。想要在CentOS上面搞定这些动态路由的相关机制,那就得要使用quagga这个软体啦!这个软体是zebra计画的延伸,相关的官网说明可以参考文后的参考资料(注3)。既然要玩quagga,自然就得要先安装他啰!赶紧处理吧!rootwww#yum install quaggarootwww#ls-l/etc/quagga-rw-r-r-1 root root 410 10月21 2010 ripd.conf.sample-rw-r-1 quagga quagga 29 5月23 16:14 zebra.conf-rw-r-r-1 root root 373 10月21 2010 zebra.conf.sample.(其他省略).这个软体所提供的各项动态路由协定都放置到/etc/quagga/目录内,底下我们以较为简单的RIPv2协定来处理动态路由,不过你得要注意的是,不论你要启动什么动态路由协定,那个zebra都必须要先启动才行!这是因为:zebra这个daemon的功能在更新核心的路由规则;RIP这个daemon则是在向附近的其他Router沟通协调路由规则的传送与否。而各个路由服务的设定档都必须要以/etc/quagga/*.conf的档名来储存才行,如上表我们可以发现zebra这个服务是有设定好了,不过ripd的档名却不是.conf结尾。所以我们必须要额外作些设定才行。为了练习一下我们的quagga,当然得要设计一下可能的网路连线啰假设网路连线的图示如下,共有三个区网的网段,其中最大的是/24这个外部区网,另有两个内部区网分别是/24及/24。图8.3-1、练习动态路由所设定的网路连线示意图上图的两部Linux Router分别负责不同的网域,且可以透过/24这个网域来沟通。在没有设定额外路由规则的情况下,那个PC1与PC2是无法沟通的!另外,quagga必须要同时安装在两部Linux Router上头才行,而且我们只要设定好这两部主机的网路介面(eth0,eth1)后,不需要手动输入额外的路由设定喔!可以透过RIP这个路由协定来搞定的!设定zebra:我们先设定图8.3-1右手边那一部Router Z1,关于zebra.conf你可以这样设定的:#1.先设定会影响动态路由服务的zebra并且启动zebrarootwww#vim/etc/quagga/zebra.conf hostname linux.router.z1=给予这个路由器一个主机名称,随便取!password linuxz1=给予一个密码!enable password linuxz1=将这个密码生效!log file/var/log/quagga/zebra.log=将所有zebra产生的资讯存到登录档中rootwww#/etc/init.d/zebra startrootwww#netstat-tunlp|grep zebra Active Internet connections(only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 00 :2601 :*LISTEN 3203/zebra仔细看,由于zebra这个服务的任务主要是在修改Linux系统核心内的路由,所以他仅监听本机介面而已,并不会监听外部的介面才对!另外,在zebra.conf这个档案当中,我们所设定的那个密码是有作用的喔!可以让我们登入zebra这套软体呢!好了,我们来查一查这个2601的port是否正确的启动的呢?rootwww#telnet localhost 2601 Trying .Connected to localhost.localdomain().Escape character is.Hello,this is Quagga(version 0.98.6).Copyright 1996-2005 Kunihiro Ishiguro,et al.User Access Verification Password:=在这里输入刚刚你设定的密码啊!linux.router.z1?=在这边输入?就能够知道有多少指令可使用echo Echo amessage back to the vty enable Turn on privileged mode command exit Exit current mode and down to previous mode help Description of the interactive help system list Print command list quit Exit current mode and down to previous mode show Show running system information terminal Set terminal line parameters who Display who is on vty linux.router.z1 list=列出所有可用指令echo.MESSAGE.(中间省略).show debugging zebra show history show interfaceIFNAME.(中间省略).show ip protocol show ip route.(其他省略).linux.router.z1 show ip route Codes:K-kernel route,C-connected,S-static,R-RIP,O-OSPF,I-ISIS,B-BGP,-selected route,*-FIB route K*/0 via 54,eth0=核心直接设定的C*/8 is directly connected,lo=介面产生的路由K*/16 is directly connected,eth1=核心直接设定的C*/24 is directly connected,eth0=介面产生的路由C*/24 is directly connected,eth1=介面产生的路由linux.router.z1 exit Connection closed by foreign host.仔细看到,我们登入这个zebra的服务之后,可以输入help或问号?,zebra就会显示出你能够执行的指令有哪些,比较常用的当然是查询路由规则啰!以show ip route来查阅,结果可以发现目前的介面与预设路由都被显示出来了,显示的结果当中:K:代表以类似route指令加入核心的路由规则,包括route-ethN所产生的规则;C:代表由你的网路介面所设定的IP而产生的相关的路由规则S:以zebra功能所设定的静态路由资讯;R:就是透过RIP协定所增加的路由规则啰!事实上,如果你还想要增加额外的静态路由的话,也可以透过zebra而不必使用route指令呢!例如想要增加/24给eth0来处理的话,可以这样做:rootwww#vim/etc/quagga/zebra.conf#新增底下这一行喔!ip route /24 eth0rootwww#/etc/init.d/zebra restartrootwww#telnet localhost 2601 Password:=这里输入密码linux.router.z1 show ip route K*/0 via 54,eth0 S*/241/0is directly connected,eth0 C*/8 is directly connected,lo K*/16 is directly connected,eth1 C*/24 is directly connected,eth0 C*/24 is directly connected,eth1嘿嘿!立刻就会多出一笔路由的规则,而且最右边会显示S,亦即是静态路由(Static route)的意思。如此一来,我们系统管理员可就轻松多了!设定完右边Router Z1的zebra之后,不要忘记设定你的Router Z2呦!同样的设定再来一遍啦!只是主机名称与密码应该给予不同才是呦!接下来我们可以开始看看ripd这个服务啰!设定ripd服务:ripd这个服务可以在两部Router之间进行路由规则的交换与沟通,当然啦,如果你的环境里面有类似Cisco或者是其他有提供RIP协定的路由器的话,那么你当然也是可以透过这个RIP让你的Linux Router与其他硬体路由器互相沟通的吶!只不过CentOS 5.x的quagga所提供的ripd服务使用的是RIPv2版本,这个版本预设就要求得要进行身份验证的动作,但是我们是个小型网路,并不想要加入这个身份验证的功能,因此就得要增加某些设定值才能够顺利的启动ripd呦!先来设定Router Z1吧!在Router Z1当中,我们主要是透过eth0发送所有的网域路由资讯,同时,我们管理的网域有/24,/24。再加上取消身份验证的设定值后,我们的ripd就会变成这样:rootwww#vim/etc/quagga/ripd.conf hostname linux.router.z1=这里是设定Router的主机名称而已password linuxz1=设定好你自己的密码喔!debug rip events=可以记录较多的错误讯息!debug rip packet=鸟哥透过这个讯息解决很多问题router rip=启动Router的rip功能version 2=启动的是RIPv2的服务(预设值)network /24=这两个就是我们管理的介面啰!network /24 interface eth0=针对外部的那个介面,要略过身份验证的方式no ip rip authentication mode=就是这个项目!不要验证身份!log file/var/log/quagga/zebra.log=登录档设定与zebra相同即可rootwww#/etc/init.d/ripd startrootwww#netstat-tulnp|grep ripd Active Internet connections(only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 00 :2602 :*LISTEN 6193/ripd udp 00 :520 :*6193/ripd#新版的quagga启动的2602仅在,是透过port 520来传递资讯!基本上,这样就设定完成一部路由器的RIP动态路由协定了!在上头ripd.conf的设定当中,他会主动以eth0及/24这个网域的功能来进行搜索,如此一来,未来你进行任何路由规则的变动,或者是整个网域的主机IP进行更动,你将不需要重新到每部Router上更动!因为这些路由器会自动的更新他们自己的规则喔!嘿嘿!接下来,同样的动作请你到图8.3-1左边那部Router Z2上面设定一下!因为整个设定的流程都一样,所以这里鸟哥就省略啦!检查RIP协定的沟通结果:在两部Linux Router都设定妥当之后,你可以登入zebra去看这两部主机的路由更新结果喔!举例来说,鸟哥登入图8.3-1右边那部Router Z1后,并且登入zebra,观察路由会是这样的情况:rootwww#route-n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 00 UG 20 0eth0 U0 00 eth0 U0 00 eth0 U0 00 eth1 U0 00 eth1 54 UG 00 0eth0#其实看路由就知道啦!第一条就是新增的路由规则!很清楚!rootwww#telnet localhost 2601 Password:=不要忘记了密码啊!linux.router.z1 show ip route Codes:K-kernel route,C-connected,S-static,R-RIP,O-OSPF,I-ISIS,B-BGP,-selected route,*-FIB route K*/0 via 54,eth0 S*/241/0is directly connected,eth0 C*/8 is directly connected,lo K*/16 is directly connected,eth1 C*/24 is directly connected,eth0 R*/24120/2via 00,eth0,00:03:40 C*/24 is directly connected,eth1如果你有看到上述的字体,嘿嘿!那就是成功啦!那个最左边的R代表的是透过RIP通讯协定所设定的路由规则啦!如此一来,咱们的路由器设定就搞定啰如果一切都没有问题,你也想要启动zebra,ripd,那么还得要这样:rootwww#chkconfig zebra onrootwww#chkconfig ripd on透过这个quagga以及RIPv2的路由协定的辅助,我们可以轻松的就将路由规则分享到附近区网的其他路由器上头,比起单纯使用route去修改Linux的核心路由表,这个动作当然要快速很多!不过,如果是很小型的网路环境,那么不要使用这个quagga啊!因为有点多此一举的感觉。如果你的企业环境真的有够大,那么玩一玩这个quagga配合一些动态路由协定,嘿嘿!也是可行的啦!Tips:鸟哥差一点被这一版的ripd.conf设定内容搞死因为CentOS 5.x预设的RIPv2会去进行身份验证,所以原先在CentOS 4.x的设定是不能用的,偏偏登录档又看不出个所以然.后来查到可以透过ripd.conf内的debug参数去设定除错登录,才发现RIPv2的认证问题!最终google一下才解决问题好累啊!8.4特殊状况:路由器两边界面是同一个IP网段:ARP Proxy如果你一开始设计的网路环境就是同一个Class C的网域,例如/24,后来因为某些因素必须要将某些主机搬到比较内部的环境中,例如图8.2-1的PC2PC4。然后又因为某些因素,所以你不能变更PC2PC4的IP,此时你的同一网域就会横跨在一个路由器的左右两边了!举例来说,连线图示有点像底下这样:图8.4-1、在路由器两个介面两边的IP是在同一个网域的设定情况初次见面看到眼睛快要掉下来哩!怎么路由器的两边的主机IP设定都在同一个网域内?而且还被规定不能够更改原先的IP设定,.真是一个头两个大啊如此一来,在Linux Router两边要如何制作路由啊?好问题!真是好问题因为OSI第三层网路层的路由是一条一条去设定比对的,所以如果两块网卡上面都是同一个网域的IP时,就会发生错误。那如何处理啊?我们先从两方面来说,第一个,当从正确的网段(PC1)要连线到PC2PC4时,他应该是要透过Linux Router那部主机的对外IP(00)才行!而且Linux Router还必须要让该封包透过内部IP(00)连线到PC2PC4。此时,封包传递的图示有点像这样:图8.4-2、正常的网段想要传送到内部电脑去的封包流向在这个阶段,我们可以设定PC2PC4的IP所对应的网卡卡号(MAC)都设定在router的对外网卡上,因此,router的对外介面可以将给PC2PC4的封包给骗过来。接下来,就简单的透过路由设定,让封包转个介面发送出去即可。这样PC1-PC2的问题解决了,但是PC2怎么传送到PC1呢?我们可以透过底下的图示来想像一下:图8.4-3、内部电脑想要传送到正常网域时的封包流向当PC2要传送的封包是给PC3,PC4的,那么这个封包得要能够直接传递。但是如果需要传送到正常网域的封包,就得要透过router的对内网卡,再透过路由规则来将该封包导向外部介面来传递才行!这个时候就变成内部的介面欺骗PC2说,PC1与Router A的IP是在内部这张介面上就是了,然后再透过路由判断将该封包透过外部介面来对外传递出去即可。假设Linux router的对外介面为eth0而对内为eth1时,我们可以这样说:当Linux Router的eth0那个网域主机想要连接到PC2PC4的主机时,由Linux Router负责接收;当Linux Router要传送资料到PC2PC4时,务必要由eth1来传送;当内部电脑想要连接到PC1或Router A时,由Linux router的eth1负责接收;当Linux Router要传送的资料为/24,但并非PC2PC4时,需由eth0传送。上列的步骤与图示内的线条上的顺序相符合呦!得要对照著看看。其中的(1)与(3)就是透过ARP Proxy(代理)的功能啦!那啥是ARP Proxy呢?简单的说,就是让我的某张介面卡的MAC代理其他主机的IP对应,让想要连接到这个IP的MAC封包由我帮他接下来的意思。举我们图8.4-1的例子来说,就
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025重庆渝中区人民政府两路口街道办事处招聘公益岗笔试考试参考试题及答案解析
- 2026大唐西藏能源开发有限公司本部及所属企业高校毕业生招聘考试笔试备考题库及答案解析
- 2025安徽池州青阳县机关事业单位招聘驾驶员4人笔试考试备考试题及答案解析
- 2025浦发银行广州分行招聘10人笔试考试参考试题附答案解析
- 2026北京城市排水集团有限责任公司校园招聘50人考试笔试备考试题及答案解析
- 2025广东河源和平县事业单位招聘工作人员52人考试笔试备考试题及答案解析
- 2025年新课标一卷历史真题及答案安徽
- 2025浙江嘉兴市博思睿人力招聘专职消防员1人考试笔试参考题库附答案解析
- 通威太阳能(合肥)有限公司-企业报告(供应商版)
- 2025重庆市江北区事业单位面向服务期满且考核合格“三支一扶”人员招聘4人笔试考试参考题库及答案解析
- 全国大学生职业规划大赛《智能物流技术》专业生涯发展展示【高职(专科)】
- 【MOOC】《创业团队建设与管理》(首都经济贸易大学)章节期末慕课答案
- 2023年南通市公务员考试行测试卷历年真题及一套完整答案详解
- 2025年河北沧州银行招聘笔试考试备考题库及答案解析
- 河道治理钢板桩支护施工方案
- (2025年)食品安全知识竞赛题库及答案
- 江苏省南通市如皋市2026届高三上学期10月考试 语文试卷
- 2025版痛风性关节炎症状分析及护理方案
- 魅力赣州课件
- GB/T 18590-2025金属和合金的腐蚀点蚀评价指南
- 叉车理论知识培训课件
评论
0/150
提交评论