linux桥接实现交换机功能-程序员宅基地

有五台主机。其中一台主机装有linux ,安装了网桥模块,而且有四块物理网卡,分别连接同一网段的其他主机。我们希望其成为一个网桥,为其他四台主机(IP分别为192.168.1.2 ,192.168.1.3,192.168.1.4,192.168.1.5) 之间转发数据包。同时,为了方便管理,希望网桥能够有一个IP(192.168.1.1),那样管理员就可以在192.168.1.0/24网段内的主机上telnet到网桥,对其进行配置,实现远程管理。

前一节中提到,网桥在同一个逻辑网段转发数据包。针对上面的拓扑,这个逻辑网段就是192.168.1.0/24网段。我们为这个逻辑网段一个名称,br0。首先需要配置这样一个逻辑网段。

# brctl addbr br0(建立一个逻辑网段,名称为br0)

实际上,我们可以把逻辑网段192.168.1.0/24看作使一个VLAN ,而br0则是这个VLAN的名称。

建立一个逻辑网段之后,我们还需要为这个网段分配特定的端口。在Linux中,一个端口实际上就是一个物理网卡。而每个物理网卡的名称则分别为eth0,eth1,eth2,eth3。我们需要把每个网卡一一和br0这个网段联系起来,作为br0中的一个端口。

# brctl addif br0 eth0(让eth0成为br0的一个端口)

# brctl addif br0 eth1(让eth1成为br0的一个端口)

# brctl addif br0 eth0(让eth2成为br0的一个端口)

# brctl addif br0 eth3(让eth3成为br0的一个端口)

网桥的每个物理网卡作为一个端口,运行于混杂模式,而且是在链路层工作,所以就不需要IP了。

# ifconfig eth0 0.0.0.0

# ifconfig eth1 0.0.0.0

# ifconfig eth2 0.0.0.0

# ifconfig eth3 0.0.0.0

然后给br0的虚拟网卡配置IP:192.168.1.1。那样就能远程管理网桥。

# ifconfig br0 192.168.1.1

给br0配置了IP之后,网桥就能够工作了。192.168.1.0/24网段内的主机都可以telnet到网桥上对其进行配置。

以上配置的是一个逻辑网段,实际上Linux网桥也能配置成多个逻辑网段(相当于交换机中划分多个VLAN)。










本文转自 暗黑魔君 51CTO博客,原文链接:http://blog.51cto.com/clovemfong/1200941,如需转载请自行联系原作者
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33924770/article/details/89912722

智能推荐

EBS OAF 部署第三方Jar包-程序员宅基地

文章浏览阅读431次。【声明】:转载请注明出处!进行OAF开发时有时需引入第三方Jar包,并部署到服务器。步骤如下:step1: 将Jar包上传到以下路径$FND_TOP/java/3rdparty/stdalonestep2: 将Jar包绝对路径添加到下面文件中$ORA_CONFIG_HOME/10.1.3/j2ee/oacore/application-deployment..._oracle ebs oaf的第三方jar包要怎么引入系统

windows ping 端口测试_ping 80端口-程序员宅基地

文章浏览阅读1.6w次,点赞4次,收藏4次。前言 项目中存在能ping通IP地址,但是打不开web应用程序,这时需要测试端口能否ping通。解决方法 测试是否能够ping通192.168.0.1的80端口 telnet 192.168.0.1 80遇到问题 ‘telnet’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。解决方法..._ping 80端口

【Linux】糟糕,是心动的感觉——与Linux的初次相遇-程序员宅基地

文章浏览阅读1.6k次,点赞39次,收藏45次。【Linux】初识Linux——了解操作系统的发展历史以及初次体验Linux编程环境

python3字典写入excel_Python使用openpyxl操作excel表格-程序员宅基地

文章浏览阅读1k次。前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef一、openpyxl的使用pip install openpyxl第一步:..._openpyxl 把一个字典写入指定单元格

利用vscode插件C51生成C51的hex文件_vscode bin转hex-程序员宅基地

文章浏览阅读4.1k次。大四还上了一门51单片机的选修课,就当补充知识了(硬件使用第一个板子是ardunio第二个是fpga),然鹅用得编译器实在是太丑了,字体还小,这还是我修改过后的,而且没有自动补全括号和自动缩进的功能。我觉得这不是一个编译器最起码的功能吗,实在是太拉跨了。于是我把目光投向了插件丰富的vscode,搜索51后我打开了第一个插件。看样子还不错,只需要配置C51 Bin所在的目录就可以生成Bin文件点击齿轮打开Extensions Settings进行配置把User和Workspace的Bin Di._vscode bin转hex

Java框架概述_java框架是干嘛的-程序员宅基地

文章浏览阅读493次。一、框架的意义1.什么是框架?框架就是一些类和接口的集合,通过这些类和接口协调来完成一系列的程序实现。有了框架,我们就可以集中精力进行业务逻辑的开发而不用去关心它的技术实现以及一些辅助的业务逻辑。说白了,框架就是封装好方便程序员操作的类,使项目的开发更简单,维护起来也更容易。框架的本体,实际上是一些jar包和配置文件。2.为什么要使用框架?框架的优越性在于:(1)集中精力完成系统的业务逻辑设计;(2)使程序更容易扩展和维护,稳定性更强;(3)处理系统很多细节问题,比如安全性问题。二、框_java框架是干嘛的

随便推点

php常用调试工具_php常用的调试-程序员宅基地

文章浏览阅读437次。1.常用调试函数:echo:是命令,不能返回值。echo后面可以跟很多个参数,之间用分号隔开;print:可以返回一个值,只能有一个参数;print_r():显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。print_r() 将把数组的指_php常用的调试

android锁屏唤醒并解锁屏幕_macrodroid屏幕开-程序员宅基地

文章浏览阅读1.2w次。1、这个方法是实现锁屏状态下唤醒手机,亮屏并解锁屏幕: public static void wakeUpAndUnlock(Context context){ //屏锁管理器 KeyguardManager km= (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); Keygua_macrodroid屏幕开

实现线程同步之线程锁以及理解_线程锁的作用-程序员宅基地

文章浏览阅读1.1k次。线程锁的作用: 当多个线程同时进行任务时,为保证不会有多个线程对同一个数据进行操作造成不可预料的后果,加个锁,将此时的线 程变为单线程进行操作。当多个线程同时执行lock.acquire时,只有一个线程能成功地获取锁,然后继续执行代码,其他线程就继续等待直到获得 锁为止。 获得锁的线程用完后一定要释放锁,否则那些苦苦等待锁的线程将永远等待下去,成为死线程。线程锁..._线程锁的作用

文件-单位转换_从文件in162.txt中连续读入10个以磅为单位的重量值,将其转换为以千克为单位的值并-程序员宅基地

文章浏览阅读3.1k次,点赞14次,收藏16次。项目场景:文件操作问题描述:提示:这里描述项目中遇到的问题:从文件in162.txt中连续读入10个以磅为单位的重量值,将其转换为以千克为单位的值并求和,将计算所得的和sum输出到文件out162.txt中。说明:一磅等于0.454千克。原因分析:提示:这里填写问题的分析:将文件中第一行读取出来,遍历相加即可解决方案:提示:这里填写该问题的具体解决方案:fd1 = open("in162.txt", "r")sum = 0count = 0line = fd1.re_从文件in162.txt中连续读入10个以磅为单位的重量值,将其转换为以千克为单位的值并

VScode插件使用大全_vscode 比较好用的svn 插件-程序员宅基地

文章浏览阅读536次。vscode插件使用帮助地址_vscode 比较好用的svn 插件

Java之数字转换为字符串,长度不够前面补0_数字转字符串,不足位补0-程序员宅基地

文章浏览阅读7.4k次,点赞2次,收藏3次。1、 第一种字符串补0public static String addZeroForNum(String str, int strLength) { int strLen = str.length(); StringBuffer sb = null; while (strLen < strLength) { sb = new String..._数字转字符串,不足位补0