分类: LINUX
2008-10-08 09:39:49
不久前,我校通过光纤专用线路,以局域网方式接入了Internet。由于没有采用路由器,因此内部网络用户对Internet和教育城域网的所有 访问均通过代理服务器完成,采用完全代理方式。在代理服务器上安装了三块网卡,两块网卡采用公网IP地址,接入Internet和城域网;另一块网卡则采 用私有IP地址,通过代理服务器实现内部校园网与Internet、教育城域网的连接。
网络基本情况
我校根据不同的使用需要,将不同部门、不同机房划分为若干子网,使用不同网段的私有IP地址。因此,网络中存在不同网段的信息包经过代理服务器的路由问题。
其中代理服务器对校园内部网卡的IP是192.168.4.9,连接城域网的网卡IP是10.99.2.2,连接Internet的网卡IP是 211.167.148.150。另外机房也使用了代理,两块网卡的IP分别是192.168.4.96和192.168.0.1。
问题一
192.168.4.0这一网段的子网能正常访问外部网络,网段为192.168.0.0的机房能访问校园网,却不能连接外部网络。通过ping命 令检查,能ping通192.168.4.1等主机,但是在ping代理服务器(192.168.4.9)时,得到“Request timed out”的反应,看来是192.168.4.9这台主机的回应包未能被正确地路由到192.168.0.0网段。
首先将对内网卡设置默认网关192.168.4.96,这样设置以后,虽然机房的计算机能访问外部网络,但是速度很慢。同时,以前能正常访问外部网络的192.168.4.0网段,访问速度也变得出奇的慢。教师们也开始埋怨,这是什么宽带,比家里拨号的速度还要慢!
看来这种方法是不可行的。通过Route print命令,观察代理服务器的路由,有这么一条:
Network Destination Netmask Gateway 0.0.0.0 0.0.0.0 192.168.4.96 Interface Metric 192.168.4.96 |
通过分析我们可以知道,关键是上面那条路由有问题,它的目标地址是0.0.0.0,所以所有的回应包被送到了网关192.168.4.96。而我们 的要求是192.168.0.0网段的回应包发到192.168.4.96,其他的就直接发到对应的主机。这时笔者想到,如果将上面路由中的目标地址改为 192.168.0.0,是不是可以实现这一目的呢?
路由配置方法
通过查找相关资料,笔者发现只要把机房与当前代理服务器所在的网关地址做一下路由即可。当前的校园网划分了两个VLAN,服务器所在VLAN的网关是192.168.4.9,机房网关接入校园网网卡IP是192.168.4.96。需要运行的命令是:
route -p delete 0.0.0.0 mask 0.0.0.0 192.168.4.96 route -p add 192.168.0.0 mask 255.255.255.0 192.168.4.96 |
经过调试,将机房内部网卡的网关设置为192.168.0.1,至此,以前出现的网速慢的问题得到解决。
问题二
后来想想,其实这个问题也是一直存在的,只不过由于以前一直被网速慢的问题困扰,所以没有注意到。网络总是出现停顿,而QQ的使用却很正常。
我比较了使用两块网卡和三块网卡工作时的路由情况,发现其实这个问题和上面的问题是类似的,都是因为网关的设置造成数据包路由信息发生混乱,通过禁用城域网网卡虽然解决了经常断网的问题,但是不能访问城域网,所以决定修改路由:
route -p delete 0.0.0.0 mask 0.0.0.0 10.99.2.1
经过这次实践,发现内部网卡的网络属性不能设置网关和DNS服务器,不然会造成数据包路由信息发生混乱。通过修改路由,采用三网卡代理时出现的网络问题得到解决。用Route命令手工修改路由简单实用,希望能够对大家有所启示。