8路由器 Router 设定.docx

上传人:b****7 文档编号:24022344 上传时间:2023-05-23 格式:DOCX 页数:28 大小:245.06KB
下载 相关 举报
8路由器 Router 设定.docx_第1页
第1页 / 共28页
8路由器 Router 设定.docx_第2页
第2页 / 共28页
8路由器 Router 设定.docx_第3页
第3页 / 共28页
8路由器 Router 设定.docx_第4页
第4页 / 共28页
8路由器 Router 设定.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

8路由器 Router 设定.docx

《8路由器 Router 设定.docx》由会员分享,可在线阅读,更多相关《8路由器 Router 设定.docx(28页珍藏版)》请在冰豆网上搜索。

8路由器 Router 设定.docx

8路由器Router设定

路由器Router设定2

路由2

路由表2

IPAlias的测试用途4

重复路由的问题6

路由器架设7

什么是路由器7

何时需要路由器?

8

静态路由之路由器9

LinuxRouter11

受保护的网域,以PC2为例:

12

RouterA的新增路由规则:

13

PC1直接与PC2的沟通方式:

13

动态路由之路由器设定:

zebra14

设定zebra15

设定ripd服务18

检查RIP协议的沟通结果19

ARPProxy让路由器两端在同一网域19

重点回顾23

课后练习23

路由器Router设定

我们在网络基础里面提到路由(route)是一个重要的概念,他可以控制我们的资料封包的走向!

此外,如果同一个网域里面有太多的计算机数量需要来广播的话,效能一定不会太好,所以才会有Netmask对吧!

今天我们换个角度来想一想,如果说我的网域内真的有太多的计算机数量了,那么将整个网域切割成较小的数个子网域(Subnet)会是一个比较好的作法,不过,因为网域与网域之间的封包不可以直接互通数据,所以这个时候我们就需要使用Router(路由器)来帮忙封包的传送了!

路由

我们在网络基础里面谈到过路由的相关概念,他最大的功能就是在帮我们规划网络封包的传递方式与方向。

至于路由的观察则可以使用route或者是netstat来查阅与设定。

好了,那么路由的形式有哪些?

您又该如何确认路由是否正确呢?

路由表

如同前面网络基础谈到的,每一部主机都有自己的路由表,也就是说,您必须要透过你自己的路由表来传递你主机的封包到下一个路由器上头。

若传送出去后,该封包就得要透过下一个路由器的路由表来传送了,此时与你自己主机的路由表就没有关系啦!

所以说,如果网络上面的某一部路由器设定错误,那.....封包的流向就会发生很大的问题。

我们就得要透过traceroute来尝试了解一下每个router的封包流向啰。

OK!

那你自己主机的路由表到底有哪些部分呢?

我们以底下这个路由表来说明:

[root@linux~]#route-n

KernelIProutingtable

DestinationGatewayGenmaskFlagsMetricRefUseIface

192.168.1.00.0.0.0255.255.255.0U000eth0<==1

127.0.0.00.0.0.0255.0.0.0U000lo<==2

0.0.0.0192.168.1.20.0.0.0UG000eth1<==3

首先,我们得知道在Linux系统下的路由表是由小网域排列到大网域,例如上面的路由表当中,路由是由『192.168.1.0/24-->127.0.0.0/8-->0.0.0.0/0(预设路由)』来排列的。

而当主机的网络封包需要传送时,就会查阅上述的三个路由规则来了解如何将该封包传送出去。

你会不会觉得奇怪,为什么会有这几个路由呢?

其实路由表主要有这几种情况来设计的:

*依据界面而存在的路由:

例如192.168.1.0/24这个路由的存在是由于鸟哥的这部主机上面拥有192.168.1.11这个IP的关系!

也就是说,你主机上面有几个网络接口的存在时,该网络接口就会存在一个路由才对。

所以说,万一你的主机有两个网络接口时,例如192.168.1.11,192.168.2.11时,那路由至少就会有:

[root@linux~]#route-n

KernelIProutingtable

DestinationGatewayGenmaskFlagsMetricRefUseIface

192.168.1.00.0.0.0255.255.255.0U000eth0

192.168.2.00.0.0.0255.255.255.0U000eth1

.....以下省略.....

*手动或预设路由(defaultroute):

你可以使用route这个指令手动的给予额外的路由设定,例如那个预设路由(0.0.0.0/0)就是额外的路由。

使用route这个指令时,最重要的一个概念是:

『你所规划的路由必须要是你的装置(如eth0)或IP可以直接沟通(broadcast)的情况』才行。

举例来说,以上述的环境来看,我的环境里面仅有192.168.1.11及192.168.2.11,那我如果想要连接到192.168.100.254这个路由器时,下达:

[root@linux~]#routeadd-net192.168.100.0\

>netmask255.255.255.0gw192.168.100.254

SIOCADDRT:

Networkisunreachable

看吧!

系统就会响应没有办法连接到该网域,因为我们的网络接口与192.168.100.0/24根本就没有关系嘛!

那如果192.168.100.254真的是在我们的实体网络连接上,那其实你应该是这样做:

[root@linux~]#routeadd-net192.168.100.0\

>netmask255.255.255.0deveth0

[root@linux~]#route-n

KernelIProutingtable

DestinationGatewayGenmaskFlagsMetricRefUseIface

192.168.100.00.0.0.0255.255.255.0U000eth0

192.168.1.00.0.0.0255.255.255.0U000eth0

0.0.0.0192.168.1.20.0.0.0UG000eth1

这样你的主机就会直接用eth0这个装置去尝试连接192.168.100.254了!

另外,上面路由输出的重点其实是那个『Flags的G』了!

因为那个G代表使用外部的装置作为Gateway的意思!

而那个Gateway(192.168.1.2)必须要在我们的已存在的路由环境中。

这可是很重要的概念喔!

^_^

*动态路由:

除了上面这两种可以直接使用指令的方法来增加路由规则之外,还有一种透过路由器与路由器之间的协商以达成动态路由的环境,不过,那就需要额外的软件支持了,例如:

zebra(http:

//www.zebra.org/)或CentOS上面的Quagga(这几个软件了!

事实上,在Linux的路由规则都是透过核心来达成的,所以这些路由表的规则都是在核心功能内啊!

也就是在内存当中喔!

^_^

IPAlias的测试用途

我们在Linux常用指令里面谈过eth0:

0这个装置吧?

这个装置可以在原本的eth0上面模拟出一个虚拟接口出来,以让我们原本的网络卡具有多个IP,具有多个IP的功能就被称为IPAlias了。

而这个eth0:

0的装置可以透过ifconfig或ip这两个指令来达成,关于这两个指令的用途请翻回去之前的章节阅读,这里不再浪费篇幅啊!

那你或许会问啊:

『这个IPAlias有啥用途啊?

』好问题!

这个IPAlias最大的用途就是可以让你用来『应急』!

怎么说呢?

我们就来聊一聊他的几个常见的用途好了:

*测试用:

怎么说用来测试呢?

举例来说,现在使用IP分享器的朋友很多吧,那IP分享器通常使用WWW接口来提供设定。

那这个IP分享器通常会给予一个私有IP亦即是192.168.0.1来让使用者开启WWW接口的浏览。

问题来了,那你要如何连接上这部IP分享器呢?

嘿嘿!

在不更动既有的网络环境下,你可以直接利用:

[root@linux~]#ifconfig[device][IP]netmask[netmaskip][up|down]

[root@linux~]#ifconfigeth0:

0192.168.0.100netmask255.255.255.0up

来建立一个虚拟的网络接口,这样就可以立刻连接上IP分享器了。

*在一个实体网域中含有多个IP网域:

另外,如果像是在补习班或者是学校单位的话,由于原本的主机网络设定最好不要随便修改,那如果要让同学们大家互通所有的计算机信息时,就可以让每个同学都透过IPAlias来设定同一网域的IP,如此大家就可以在同一个网段内进行各项网络服务的测试了,很不错吧!

*既有设备无法提供更多实体网卡时:

如果你的这部主机需要连接多个网域,但该设备却无法提供安装更多的网卡时,你只好勉为其难的使用IPAlias来提供不同网段的联机服务了!

不过,你需要知道的是:

所有的IPAlias都是由实体网卡仿真来的,所以当要启动eth0:

0时,eth0必须要先被启动才行。

而当eth0被关闭后,所以eth0:

n的模拟网卡将同时也被关闭。

这得先要了解才行,否则常常会搞错启动的装置啊!

在路由规则的设定当中,常常需要进行一些测试,那这个IPAlias就派的上用场了。

尤其是学校单位的练习环境当中!

^_^!

基本上,除非有特殊需求,否则建议你要有多个IP时,最好在不同的网卡上面达成,如果你真的要使用IPAlias时,那么如何在开机的时候就启动IPalias呢?

有两个简单的方法可以使用:

*透过/etc/rc.d/rc.local:

将『ifconfigeth0:

n....』的指令写入/etc/rc.d/rc.local当中,这样开机的时候就能够启动这个虚拟接口,不过这方法有个弱点,就是当使用类似『/etc/init.d/networkrestart』的指令时,该接口可能就会被取消。

*透过/etc/sysconfig/network-scripts/ifcfg-eth0:

0:

举例来说,你可以透过底下这个方法来建立一个虚拟装置的设定档案:

[root@linux~]#cd/etc/sysconfig/network-scripts

[root@linuxnetwork-scripts]#viifcfg-eth0:

0

DEVICE=eth0:

0<==相当重要!

一定要与文件名相同的装置代号!

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.0.100

NETMASK=255.255.255.0

NETWORK=192.168.0.0

BROADCAST=192.168.0.255

[root@linuxnetwork-scripts]#ifupeth0:

0

[root@linuxnetwork-scripts]#ifdowneth0:

0

关于装置的设定档案内的更多参数说明,请参考连上Internet一文的相关说明,在此不再叙述!

使用这个方法有个好处,就是当你使用『/etc/init.d/networkrestart』时,系统依旧会使用你的ifcfg-eth0:

0档案内的设定值来启动你的虚拟网卡喔!

另外,不论ifcfg-eth0:

0内的ONBOOT设定值为何,只要ifcfg-eth0这个实体网卡的设定文件中,ONBOOT为yes时,开机就会将全部的eth0:

n都启动。

透过这两个简单的方法,你就可以在开机的时候启动你的虚拟接口而取得多个IP在同一张网卡上了。

不过依旧要注意的是,如果你的eth0是使用DHCP来取得IP参数的话,那么由于ifup及/etc/init.d/network这两个script内程序代码撰写的方式,将会导致ifcfg-eth0:

0这个设定档不会被使用到喔!

所以当你使用DHCP来取得eth0的IP时,你只好使用手动方式(用ifconfig)来设定你的IPAlias了。

重复路由的问题

很多朋友可能都有一个可爱的想法,那就是:

『我可不可以利用两张网卡,利用两个相同网域的IP来增加我这部主机的网络流量』?

事实上这是一个可行的方案,不过必须要透过许多的设定来达成,若您有需求的话,可以参考网中人大哥写的这一篇:

*频宽负载平衡(http:

//www.study-area.org/tips/multipath.htm)

如果只是单纯的以为设定好两张网卡的IP在同一个网域而已,那您可就大错特错了~为什么呢?

还记得我们在路由表规则里面提过网络封包的传递主要是依据主机内的路由表规则吧!

那如果你有两张网络卡时,假设:

*eth0:

192.168.0.100

*eth1:

192.168.0.200

那你的路由规则会是如何呢?

理论上会变成这样:

[root@linux~]#route-n

KernelIProutingtable

DestinationGatewayGenmaskFlagsMetricRefUseIface

192.168.0.00.0.0.0255.255.255.0U000eth1

192.168.0.00.0.0.0255.255.255.0U000eth0

也就是说,当要传送到192.168.0.0/24的网域时,都只会透过第一条规则,也就是透过eth1来传出去,而不管是由eth0还是由eth1进来的网络封包都会透过eth1来回传,这可能会造成一些问题,尤其是一些防火墙的规则方面,很可能会发生一些严重的错误,如此一来,根本没有办法达成负载平衡,也不会有增加网络流量的效果!

更惨的是,还可能发生封包传递错误的情况吶!

所以说,同一部主机上面设定相同网域的IP时,得要特别留意你的路由规则,一般来说,不应该设定同一的网段的不同IP在同一部主机上面。

例如上面的案例就是一个不好的示范啊!

路由器架设

在同一的局域网络里面可以透过广播(broadcast)了解到MAC与IP的解析,然后透过MAC对MAC来传送数据封包,在不同的网域里头就得要透过路由器的帮忙。

那么什么是路由器?

他的主要功能是什么?

底下我们就来聊一聊!

什么是路由器

既然主机想要将数据传送到不同的网域时得透过路由器的帮忙,所以啦,路由器的主要功能就是:

『转递网络封包』啰!

也就是说,路由器会分析来源端封包的IP表头,找出目标的IP后,透过路由器本身的路由表(routingtable)将这个封包向下一个目标(nexthop)传送。

这就是路由器的功能。

那么路由器的功能可以如何达成呢?

目前有两种方法可以达成:

*硬件功能:

例如Cisco,IBM,3Com等公司都有生产硬件路由器,这些路由器内有嵌入式的操作系统,可以负责不同网域间的封包转译与转递等功能;

*软件功能:

例如Linux这个操作系统的核心就有提供封包转递的能力。

高阶的路由器可以连结不同的硬设备,并且可以转译很多不同的封包格式,通常....价格也不便宜啊!

在这个章节里面,我们并没有要探讨这么高阶的咚咚,仅讨论在以太网络里头最简单的路由器功能:

连接两个不同的网域。

嘿嘿!

这个功能Linux就可以达成了!

就如同路由表是由Linux的核心功能所提供的,这个转递封包的能力也是Linux核心所提供,那如何启动这个封包转递呢?

很简单啊,只要这样做即可:

[root@linux~]#echo"1">/proc/sys/net/ipv4/ip_forward

上面这个动作就在打开Linux核心的封包转递能力。

你可以将上述的指令写入/etc/rc.d/rc.local当中,以使Linux可以在开机的时候就启动封包转递的功能,也可以透过修改/etc/sysctl.conf来达成开机启动封包转递:

[root@linux~]#vi/etc/sysctl.conf

#将底下这个设定值修改正确即可!

net.ipv4.ip_forward=1

[root@linux~]#sysctl-p<==立刻让该设定生效

sysctl这个指令是在核心工作时用来直接修改核心参数的一个指令,更多的功能可以参考mansysctl查询。

不要怀疑!

只要这个动作,你的Linux就具有最简单的路由器功能了。

而由于Linux路由器的路由表设定方法的不同,通常路由器规划其路由的方式就有两种:

*静态路由:

直接以类似route这个指令来直接设定路由表到核心功能当中,设定值只要与网域环境相符即可。

不过,当你的网域有变化时,路由器就得要重新设定;

*动态路由:

透过类似zebra软件的功能,这些软件可以安装在Linux路由器上,而这些软件可以动态的侦测网域的变化,而直接修改Linux核心的路由表信息,你无须手动以route来修改你的路由表信息喔!

了解了路由器之后,接下来你可能需要了解到什么是NAT(NetworkAddressTranslation,网络地址转译)主机,NAT是啥?

其实IP分享器就是最简单的NAT主机啦!

嘿嘿,了解了吗?

没错,NAT可以达成IP分享的功能,而NAT本身就是一个路由器,但NAT比路由器多了一个『IP转换』的功能。

怎么说呢?

*一般来说,路由器会有两个网络接口,透过路由器本身的IP转递功能让两个网域可以互相沟通网络封包。

那如果两个接口一边是公共IP(publicIP)但一边是私有IP(privateIP)呢?

由于私有IP不能直接与公共IP沟通其路由信息,此时就得要额外的『IP转译』功能了;

*Linux的NAT主机可以透过修改封包的IP表头数据之来源或目标IP,让来自私有IP的封包可以转成NAT主机的公共IP,就可以连上Internet!

所以说,当路由器两端的网域分别是Public与PrivateIP时,才需要NAT的功能!

NAT功能我们会在防火墙时谈及,这个章节仅谈论一下路由器而已啊!

^_^

何时需要路由器?

一般来说,计算机数量小于数十部的小型企业是无须路由器的,只需要利用hub/switch串接各部计算机,然后透过单一线路连接到Internet上即可。

不过,如果是超过数百部计算机的大型企业环境,由于他们的环境通常需要考虑如下的状况,因此才需要路由器的架设:

*实体线路之布线及效能的考虑:

在一栋大楼的不同楼层要串接所有的计算机可能有点难度,那可以透过每个楼层架设一部路由器,并将每个楼层路由器相连接,就能够简单的管理各楼层的网络;此外,如果各楼层不想架设路由器,而是直接以网络线串接各楼层的hub/switch时,那由于同一网域的数据是透过广播来传递的,那当整个大楼的某一部计算机在广播时,所有的计算机将会予以响应,哇!

会造成大楼内网络效能的问题;所以架设路由器将实体线路分隔,就有助于这方面的网络效能;

*部门独立与保护数据的考虑:

在阅读过网络基础章节后,您就会晓得,只要实体线路是连接在一起的,那么当数据透过广播时,你就可以透过类似tcpdump的指令来监听封包数据,并且予以窃取~所以,如果你的部门之间的数据可能需要独立,或者是某些重要的数据必须要在公司内部也予以保护时,可以将那些重要的计算机放到一个独立的实体网域,并额外加设防火墙、路由器等连接上公司内部的网域。

路由器就只是一个设备,要如何使用端看您的网络环境的规划!

上面仅是举出一些应用案例。

底下我们先就架设一个静态路由的路由器来玩一玩吧!

静态路由之路由器

假设在贵公司的网络环境当中,除了一般职员的工作用计算机是直接连接到对外的路由器来连结Internet,在内部其实还有一个部门需要较安全的独立环境,因此这部份的网络规划可能是这样的情况:

图一、静态路由之路由器架构示意图

以上图的架构来说,这家公司主要有两个Cclass的网域,分别是192.168.0.0/24及192.168.10.0/24,其中192.168.0.0/24是用来做为一般员工连接因特网用的,至于192.168.10.0/24则是给特殊的部门用的。

PC1代表的是一般员工的计算机,PC2及PC3,PC4则是特殊部门的工作用计算机,LinuxRouter则是这个特殊部门用来连接到公司内部网域的路由器。

在这样的架构下,该特殊部门的封包就能够具有基础的保护了。

由图一你也不难发现,只要是具有路由器功能的设备(RouterA,LinuxRouter)都会具有两个以上的接口,分别用来沟通不同的网域,同时该路由器也都会具有一个预设路由啊!

^_^!

另外,你还可以加上一些防火墙的软件在LinuxRouter上,以保护PC2~PC4的内部计算机呢!

在RouterA的部分,由于他具有Public与PrivateIP,所以这部Router必须要具有NAT的功能,这个未来我们再介绍。

今日的重点就在于LinuxRouter那个玩意儿!

在该主机下,最好配备两张网卡,一张给192.168.0.100,另一张给192.168.10.254这个IP。

这部LinuxRouter的设定简单的要命喔!

你可以这样做的:

LinuxRouter

在这部主机内需要有两张网卡,鸟哥在这里将他定义为:

*eth0:

192.168.10.254

*eth1:

192.168.0.100

那如何设定呢?

这样做就对了:

1.先处理eth0

[root@linux~]#vi/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

BROADCAST=192.168.10.255

IPADDR=192.168.10.254

NETMASK=255.255.255.0

NETWORK=192.168.10.0

ONBOOT=yes

2.再先处理eth1

[root@linux~]#vi/etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

BOOTPROTO=static

BROADCAST=192.168.0.255

IPADDR=192.168.0.100

NETMASK=255.255.255.0

NETWORK=192.168.0.0

GATEWAY=192.168.0.254<==这个设定值很重要喔!

ONBOOT=yes

3.启动IP转递

[root@lin

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 起诉状

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1