设为主页
加入收藏
联系我们
返回首页
 
   
硬件故障 系统故障 软件学习
 
   
  您现在的位置>>首页>>系统优化>> 在Linux上实现单臂路由器功能  
 
     
 

 

在Linux上实现单臂路由器功能

文章来源: linuxsir


     找一块 3COM 等的网卡 ( 支持 VLAN 的即可 ) ,在内核中打上 VLAN 的补丁,确认你需要几个网段,从而设置几个 IP 地址,同时再设置几个 MAC 地址。 (LINUX 中是可以自己改 MAC 地址的 ) 。将你的 LINUX 机器真正模拟成一台路由器,这样的效果更好,应用场合也更广。举例说明:你有 A 、 B 、 C 、 D 四台设备,其中 A 、 B 是桌面 PC , C 是一台路由器 ( 是你的内部网络的网关 ) , D 是一台上面所说的 LINUX 。你公司要求内外网隔离,在 A 、 B 上有一个内外网物理隔离切换器 ( 简单的讲,有一个开关,开是物理跟外网连通,关时跟内网连通 ) 。这种应用下, A 、 B 的网关是固定的,那我们就要求 LINUX 的 IP 跟 C 路由器的 IP 应该一一对应,同时由于 ARP 表的关系,我们还得要求 LINUX 的 MAC 地址也应该跟 C 路由器的 MAC 一一对应,否则 A 、 B 机器切换网络时会有一段时间是不通的 ( 等待 ARP 表老化 ) 。不知大家明白了没有,其实好处还有很多,下此我有空在跟大家将详细的实施步骤及原理详细写出来 :

     对一个稍大一点的网络而言,存在着多个 IP 网段,同时有的网络还要求内外网隔离。下面我将怎样在一台 LINUX 上模拟一台路由器的步骤简述如下,给有这种需求的弟兄一个参考。

     我的描述环境为: Redhat 7.2 ( 2.4.7 -10),3com 3c 509 网卡。

    1. 安装 Redhat 7.2 版本,其中的 kernel 为 linux-2.4.7-10

    2. 下载 vlan 软件包,对应 linux-2.4.7-10 的为 vlan1.3.tar.gz

    3. 在 /usr/src 目录下解开 vlan 软件包

    4.proc /usr/src/vlan 将 vlan 加入到 Linux kernel 中

    5.cd /usr/src/linux-2.4.7-10 配置 kernel 的模块 make menuconfig

    6. 进入 network configuration 选择 dot1q 支持,保存退出。

    7. 编译 kernel , make dep;make clean;make bzImage;make modules;make modules-install

    8.cp /usr/src/linux-2.4.7-10/.../boot/bzImage /boot/vmlinuz-2.4.7-10, cp /usr/src/linux-2.4.7-10/.../system /boot/system-2.4.7-10

    9. 重起 Linux, 启动时看到 dot1q support by ben greear, vlan 已经启动

    10.cd /usr/src/vlan 编译 vconfig 文件, make , 如果退出,检查一下 vconfig.c 中调用文件的位置。

    11. 将 vconfig 可执行文件拷贝到 /usr/sbin, cp /usr/src/vlan/vconfig /usr/sbin/vconfig 。

    12. 配置 vlan 设备,以 eth0 为例, vconfig eth0 2;vconfig eth0 3 ,在主端口上配置 vlan 1 的 ip 地址。

    13. 在 vlan 设备上设置 ip 地址。 Ifconfig eth0.2 ipaddress netmask mask

    14. 在 vlan 设备上设置 MAC 地址。 Ifconfig eth0.2 MACaddress(ifconfig 用法请用 ifconfig --help 来查看 ) 。

    15. 将路由器上和 Linux 相连的端口配置成 trunk, 以 cisco 3548 为例 interface fastethernet 0/48 switchport trunk encapulation dot1q

    16. 将 Redhat 默认关闭的 ip forwarding 功能打开。 echo "1">/proc/sys/net/ipv4/ip_forward

    17. 测试同 vlan 的设备和 Linux 路由器子端口互访,测试不同 vlan 中设备通过 Linux 路由器互访。以上都是我的实际操作经验,请 COPY 前打上 LINUXSIR 的标签即可。

上一篇:Linux常见故障的紧急处理方法
下一篇:Freesco实现Linux路由系统


【本站声明】本站刊载的部分内容全部来源互联网,对于此类文章本站仅提供交流平台,不为其版权负责。如涉及侵犯您的知识产权的文章,请联系我们,我们将尽快做出更正。并向您表示感谢!同时特别感谢对本站所有支持的网友。

 

 
 
综合搜索 百度 google 爱问 搜狗 中搜 雅虎 MP3 图片 flash 视频
您好!中国好用是残疾人创办站,欢迎你设为首页,你每一次的使用,就是一份爱心,对我们来说就是一份希望......