用Linux操作系统实现软“路由”功能
时间:2020-10-18 07:56:48 来源:达达文档网 本文已影响 人
摘要:讨论通过对Linux操作系统进行设置,来提供软件路由器的功能,并以实例加以说明。
关键词:操作系统 路由器
我们知道不同网络之间的计算机要通过路由器才能通信,路由器分为硬件路由器和软件路由器。我们可以利用硬件路由器连接不同的网络,例如Cisco路由器。或利用某种操作系统来扮演软件路由器的角色,例如Windows Server 2003可以通过“路由和远程访问”服务来提供软件路由器的功能。
作为以服务器为主LINUX操作系统,它也具有很强的路由器功能,只要经过非常少的几步设置,就会使用LINUX系统成为一台出色的路由,运用好LINUX操作系统的这一特点,对于中小型企业来说,是非常有用的。
下面以图1为例,来说明如何将图中的Server1(Red Hat Enterprise Linux 4.0)设置成路由器,将两个网段连接在一起。
1 配置前的准备工作
1.1 在要配置为路由器的计算机中(图1中的Server1)中安装RHEL4(略)。
1.2 在1.1中的计算机上安装两个网卡(需要连接几个网段就安装几个网卡),连局域网1用eth0网卡,连局域网2用eth1网卡。然后配置网卡的 ip地址和默认网关。具体配置如下:
第一种配置(手工设置):
选择屏幕左上角的【应用程序】——【系统设置】——【网络】命令,打开【网络配置】窗口,选择【新建】——【以太网连接】——点击【前进】——选择网卡(eth0还是eth1)——输入IP、掩码和网关——点击【前进】——点击【应用】——选择【激活】
第二种配置(命令方式):
方法一,右击“桌面空白位置”——选择“打开终端”,输入以下命令
# ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
# route add default gw 192.168.0.254
# ifconfig eth1 192.168.1.1 netmask 255.255.255.0 up
# route add default gw 192.168.1.254
注意:这种配置是不写入系统脚本的(可通过查看脚本文件得到 /etc/sysconfig/network-scripts/ifcfg-eth0),如果系统关机,那刚刚配置的IP和网关就会丢失。这种配置适合测试的时候使用!
方法二,用netconfig命令启用图形界面配置
#netconfig eth0
在出现的配置环境中输入IP,netmask 和default gateway。同样在输入#netconfig eth1配置第二块网卡。
注意:这种配置是写入系统脚本的,系统关机重新启动之后,配置的内容还在。这种配置适合服务器长期配置使用。
配置完之后要重新启动服务
方法三,直接修改网卡的脚本文件。第一块网卡的操作如下:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0文件,修改为如下格式:
DEVICE=eth0
ONBOOT=yes
BROADCAST=192.168.0.255
NETWORK=192.168.0.0
NETMASK=255.255.255.0
IPADDR=192.168.0.1
GATEWAY=192.168.0.254
第二块网卡的操作和第一块网卡相同,
# vi /etc/sysconfig/network-scripts/ifcfg-eth1文件,把上面加粗的0改为1即可。
1.3 配置完之后要重新启动服务
第一种启动方法:#service network restart(前提:有这个服务)。
第二种启动方法:#/etc/init.d/network(直接启动脚本,不会出问题)。
2 启动路由功能
首先查看LINUX系统的内核中是否打开了IP转发功能,可以通过下列命令来查看:
#cat /proc/sys/net/ipv4/ip_forward
如果用此命令返回的结果是0,那么就表明LINUX内核没有启用IP转发的路由器功能。通过命令来启用:
#echo1> /proc/sys/net/ipv4/ip_forward
但这种方式只能保证当次有效,如果你不小心或应某种需要重启了系统,那么又得重新输入上述这个命令一次。因此,为了保证每次系统都能自动设置,需要用VI编辑器修改配置文件
# vi /etc/sysctl.conf
将net.ipv4._ip_forward=0,改为net.ipv4._ip_forward=1保存(按Esc键后输入:wq)退出后,这样,每次重启系统都不用重新设置内核IP转发了。
3 添加静态路由
除了默认的路由(通过命令route可查看)外,可以自行添加静态路由,例如让路由器通过所添加的路径来传送数据包。可以通过以下两种方式来添加静态路由。
3.1 添加到主机的路由
到局域网1上的某台主机(假设IP为192.168.0.2)
# route add -host 192.168.0.2 dev eth1或者# route add -host 192.168.0.2 gw 192.168.0.254
到局域网2上的某台主机(假设IP为192.168.1.2)
# route add -host 192.168.1.2 dev eth1或者# route add -host 192.168.1.2 gw 192.168.1.254
3.2 添加到网络的路由
到局域网1的,下面的三条命令任选其一
# route add-net 192.168.0.0 netmask 255.255.255.0 eth0
# route add-net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.254
# route add-net 192.168.0.0/24 eth0
同理到局域网2的,下面的三条命令任选其一
# route add-net 192.168.1.0 netmask 255.255.255.0 eth1
# route add-net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.254
# route add-net 192.168.1.0/24 eth1
4 测试路由器
4.1 测试服务器自身网络是否工作正常,执行如下命令
#ping 192.168.0.1 按ctrl+c退出
#ping 192.168.1.1
如果这些地址都能ping通,则第一步通过,否则查找原因,排除错误。
4.2 测试服务器与上一级网关之间是否连通
#ping 192.168.0.254 按ctrl+c退出
#ping 192.168.1.254
如果通畅,则正常;否则查找错误原因。
4.3 两个局域网分别测试
在局域网2内测试,假设它的地址是192.168.1.2,
第一步,测试自身是否工作正常,#ping 192.168.1.2
第二步,测试与网关是否连通,#ping 192.168.1.254
第三步,测试与192.168.0.0网段是否连通,#ping 192.168.0.2如果连通了,表示路由器配置正确,否则,查找原因,并排除之。同理在局域网1内测试。
5 结束语
虽然软路由的效率无法满足网络间的高速通讯,但在价格方面,就是一台计算机的价格。而硬件路由的价格则根据性能的不同有较大的差别。如果花费昂贵的价钱购买一台路由器,仅仅用于连接局域网中的两个网段通信,这时候就最好采用软路由。
参考文献:
[1]林晓飞等.Red Hat Enterprise Linux 4.0网络服务与管理,北京:清华大学出版社,2008.
[2]骆耀祖.Linux网络服务器管理教程,北京:电子工业出版社,2007.
[3]唐华.Linux操作系统高级教程,北京:电子工业出版社,2008.