在Linux上实现单臂路由器功能
作者:nancy_liu_tj | 来源:互联网 | 2017-06-19 14:11
文章标题:在Linux上实现单臂路由器功能。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类
找一块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 3c509网卡。
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的标签即可。
推荐阅读
-
本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ...
[详细]
蜡笔小新 2023-12-14 18:16:27
-
本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ...
[详细]
蜡笔小新 2023-12-14 17:13:20
-
-
本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ...
[详细]
蜡笔小新 2023-12-09 10:07:05
-
本文介绍了使用CentOS7.0 U盘刻录工具进行安装的详细步骤,包括使用USBWriter工具刻录ISO文件到USB驱动器、格式化USB磁盘、设置启动顺序等。通过本文的指导,用户可以轻松地使用U盘安装CentOS7.0操作系统。 ...
[详细]
蜡笔小新 2023-12-14 18:55:14
-
64G iPad升级到iPadOS后,发现外置存储只能在苹果自带的文件app中显示,非官方app无法直接读取外置存储的内容。用户只能先使用自带文件app将文件复制到iPad上,再用程序读取。这种限制给用户带来了不便,而且操作过程中还存在拷贝不显示进度、容易失败、不能安全弹出等问题。 ...
[详细]
蜡笔小新 2023-12-10 15:29:03
-
概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ...
[详细]
蜡笔小新 2023-10-17 19:16:37
-
POCOCLibraies属于功能广泛、轻量级别的开源框架库,它拥有媲美Boost库的功能以及较小的体积广泛应用在物联网平台、工业自动化等领域。POCOCLibrai ...
[详细]
蜡笔小新 2023-10-17 18:56:35
-
当google在搜索上很成功,并购youtube、发布gmail、进入手机、一统地图的时候,我们说google真伟大。当苹果在mp3领域一骑绝尘,iphone秒杀诺基亚,ipad打倒了电子 ...
[详细]
蜡笔小新 2023-10-17 17:09:44
-
我一直都有记录信息的习惯,不知是从什么时候开始,大约是在工作后不久。如今还真有点庆幸从那时开始记了点东西,当然是电子版的,写 ...
[详细]
蜡笔小新 2023-10-17 15:25:25
-
用了element-ui的dialog组件加上canvas来绘图,在老版本 ...
[详细]
蜡笔小新 2023-10-17 14:48:40
-
交换机配置:intg100unshintvlani1ipadd192.168.56.177qstelseuser-iv4authaaaproinsshupl3qsshuserpyt ...
[详细]
蜡笔小新 2023-10-17 13:25:45
-
1.webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用(1) ...
[详细]
蜡笔小新 2023-10-17 11:02:41
-
1、DashAPI文档Dash是一个API文档浏览器,使用户可以使用离线功能即时搜索无数API。程序员使用Dash可访问iOS,MacOS, ...
[详细]
蜡笔小新 2023-10-17 10:15:42
-
单位准备购买平板电脑(如mipad),为了进行无纸化办公, ...
[详细]
蜡笔小新 2023-10-17 09:58:40
-
与.Net大师JeffreyRichter面对面交流——TUP对话大师系列活动回顾(多图配文字)上周末很有幸参加了CSDN举行的TUP活动, ...
[详细]
蜡笔小新 2023-10-17 08:39:50
-
nancy_liu_tj
这个家伙很懒,什么也没留下!