首页 | Linux 基础 | 资讯动态 | Linux 应用 | Linux 服务器 | Linux 开发 | Linux 安全 | 专题 | 联盟论坛
  当前位置:主页>Linux 应用>文章内容
用Linux系统实现Internet冗余连接讲解(上)
来源:http://www.unix5.com 作者:riechelr_hl(收集) 发布时间:2007-07-17  

随着ISP开始向用户提供高速的Internet连接,普通小型企业及计算机用户要建立自己的Web服务器、FTP服务器或者Mail服务器,就变得非常的容易。但是,如果ISP出现错误的话,我们把怎么办呢?一个最常用的解决方法就是进行另外一个ISP的冗余连接。本文把介绍使用一个Linux主机来完成Internet冗余连接,主要有以下内容:

1.配置主机,使其可以处理多个ISP的流入信息。

2.网络流出连接的负载平衡。

3.配置各种服务以实现冗余。

4.使用ipchains或者iptables配置防火墙。

图1描述了小型企业或家庭计算机网络的结构。在图中,Linux是作为Internet和内部lan/Index.html'>局域网两个部分之间的防火墙。在本例中,网卡eth1使用的DSL,网卡eht2使用的是线缆modem。Linux主机通过和两个ISP的连接实现负载平衡,这种方法不仅仅适用于高速网络连接。同样的技术也可以用于在两个拨号连接间实现负载平衡。

 

 

图1 实现Internet冗余连接的Linux主机

在图1中测试用的主机使用的是CPU为Intel Celeron 533MHz的计算机,操作系统使用的是Red Hat 6.2,内核为2.2.18。本文所述方法在内核为 2.4.13的Red Hat 7.2中也测试通过。不过,读者在实际应用中,不一定非得使用533MHz的CPU,事实上,在本例中,用一台老的配置有32M内存的Pentium 100机器作为防火墙也完全可以。此外,本文中一些例子虽然是针对Red Hat的,不过,只需稍加修改,就可用于其它Linux发行版。

在本文中,我没有提供网卡配置、Linux内核编译以及DNS配置等内容。因为这方面的信息在网上或者书店里都有大量的资料。此外,读者也可以到http://www.linuxdoc.org去查找一些相关的资料。

配置内核

Linux内核2.2以及更高版本支持高级路由技术,它可以在一个Linux主机中实现负载平衡和多个缺省的路由。为了支持多个Internet连接,在编译时必需加入下面几个内核网络选项:

 

CONFIG_IP_ADVANCED_ROUTER=y 
CONFIG_IP_MULTIPLE_TABLES=y 
CONFIG_IP_ROUTE_MULTIPATH=y

如果要想使用新内核中的高级路由功能,那么就必需要安装ip路由工具包(在Red Hat 7.1以上版本中均带有该工具包),如果没有该工具包,可以从以下地址下载:
ftp://ftp.inr.ac.ru/ip-routing/

ip路由工具包提供了两个专门的命令:ip和tc用于实现高级的路由功能,有关ip命令的文文件可查看以下地址:
http://snafu.freedom.org/linux2.2/docs/ip-cref/ip-cref.html

源IP路由

缺省情况下,TCP/IP数据包是通过检测目的IP地址,然后在路由表中查找一个到达目的地的路径。路由表可以通过netstat –r command命令来查看。如果发现了一个路径,数据包就会被送到网卡,否则,数据包就会被送到缺省的网关。对于大多数直接连入Internet的主机来说,缺省网关一般是某一个ISP。在本例中,这就意味着所有向外的Internet连接都通过DSL接口。这不是一个冗余Internet连接所希望发生的。很显然,当你在系统中加入一个线缆Modem后,你并不希望由DSL连接来响应你的线缆Modem连接。

要解决这个问题,我们使用ip命令建立一个多路由表。而路由表的选择是基于流出数据包的IP地址的。这可以通过以下的命令来实现:

 

# Setup source IP routing rules for DSL 
ip rule add from 63.89.102.157 lookup 1 
ip route add 10.0.0.0/24 via 10.0.0.1 table 1 
ip route add 0/0 via 63.89.102.1 table 1 


# Setup source IP routing rules for cable modem 
ip rule add from 65.3.17.133 lookup 2 
ip route add 10.0.0.0/24 via 10.0.0.1 table 2 
ip route add 0/0 via 65.3.17.1 table 2

如果一个流出的数据包的源IP地址为63.89.102.157 (DSL),那么就在路由表1中选择,它有两条路径:

 

> ip route list table 1 
10.0.0.0/24 via 10.0.0.1 dev eth0 
default via 63.89.102.1 dev eth1

共3页: 上一页 1 [2] [3] 下一页
 
如果您对本文有任何疑问或者建议,请到论坛讨论区发表您的意见: >> 论坛入口
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
  热点文章
·Linux系统调用列表(详解)
·MBR如果被覆盖了怎麽办?
·Linux系统下用户和用户组所有权
·Linux操作系统下配置IPTables方
·linux应用技巧集囊(新手遍)
·Linux操作系统配置基础祥解:GRU
·Linux循序渐进 进程管理及作业控
·Linux操作系统Gaim玩转QQ与MSN--
·Linux内存映射技术
·UNIX系统操作入门篇
·linux系统管理--从头开始对ubunt
·UNIX系统应急响应工具上(初级)
  相关文章
·用Linux系统实现Internet冗余连
·用Linux操作系统构建的路由器--
·Linux操作系统下设置NFS共享讲解
·如何找回删除Linux后的Windows启
·Linux操作系统下配置IPTables方
·制作软盘上运行的FreeBSD系统
·Linux系统下用户和用户组所有权
·讲解关于Linux系统下内核抢占补
·Linux操作系统的内存使用机制研
·提高Linux系统性能,加速网络应用
·Linux操作系统中内部进程通信的
·Linux操作系统下IP隧道深入研究

本站信息源至:互联网络,均为学习,交流所用,如有版权问题,请联系我们.
站长QQ:397422079 E_mail:riechelr_hl@unix5.com
转载本站内容请注明原作者名.谢谢!