Linux网关模式下将有线LAN和无线LAN共享网段实现局域网内互联:
思路其实很简单:就是将虚拟出一个bridge口,将对应的有线LAN和无线LAN都绑定在这个虚拟bridge口上,并给这个bridge口分配一个地址,其他子网微机配置网关为bridge口的地址便可以了。当然,因为是设备是网关模式,路由和nat也是必须的了。如果设备本身便是网桥模式,那么路由和nat便可以省掉了。
brctl addbr bridge
brctl addif bridge eth0
brctl addif bridge ath0
ifconfig eth0 0.0.0.0
ifconfig bridge 10.0.0.1 netmask 255.255.255.0 up
添加iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to 192.168.2.173
将有线和无线都设置为10.0.0.*网段,即可通过网上邻居进行访问
当然了,要是Linux可以工作在网桥模式,必须安装网桥工具bridge-utils,运行命令:
yum install bridge-utils
或者下载bridge-utils-1.进行安装,步骤如下:
编译安ridge-utils
(1)进入到/usr/src 目录下,下载bridge-utils-1. :
#cd /usr/src
#wget launchpad/bridgeutils/
main/1.4/+download/bridge-utils-
1.
(2)解压缩:
#tar zxvf bridge-utils-1.
进入bridge-utils-1.4目录:
#cd bridge-utils-1.4
(3)编译安装:
#autoconf
生成configure文件:
#./configure
#make
#make install
编译安装完成。最后将命令brctl复制到/sbin下:
#cp/usr/local/sbin/brctl/sbin
=========================================================================
下面是参考的一片文章:
有五台主机。其中一台主机装有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)。
另外一篇有助理解的文章:www.2cto/os/201202/118320.html
=====================================================================
[root@xenserver ~]# brctl --help
Usage: brctl [commands]
commands:
addbr <bridge> add bridge
delbr <bridge> delete bridge
addif <bridge> <device> add interface to bridge
delif <bridge> <device> delete interface from bridge
setageing <bridge> <time> set ageing time
setbridgeprio <bridge> <prio> set bridge priority
setfd <bridge> <time> set bridge forward delay
sethello <bridge> <time> set hello time
setmaxage <bridge> <time> set max message age
setpathcost <bridge> <port> <cost> set path cost
setportprio <bridge> <port> <prio> set port priority
show show a list of bridges
showmacs <bridge> show a list of mac addrslinux没有vim命令
showstp <bridge> show bridge stp info
stp <bridge> {on|off} turn stp on/off
====================================================================
addbr bridge的名称 #添加bridge;
delbr bridge的名称 #删除bridge;
addif bridge的名称device的名称#添加接口到bridge;
delif bridge的名称device的名称#从bridge中删除接口
setageing bridge的名称时间 #设置老化时间,即生存周期
setbridgeprio bridge的名称 优先级#设置bridge的优先级
setfd bridge的名称时间 #设置bridge转发延迟时间
sethello bridge的名称时间 #设置hello时间
setmaxage bridge的名称时间 #设置消息的最大生命周期
setpathcost bridge的名称 端口 权重#设置路径的权值
setportprio bridge的名称 端口 优先级#设置端口的优先级
show #显示bridge列表
showmacs bridge的名称 #显示MAC地址
showstp bridge的名称 #显示bridge的stp信息
stp bridge的名称{on|off} #开/关stp
设置linux让网桥运行 配置网桥
1.我们需要让linux知道网桥,首先告诉它,我们想要一个虚拟的以太网桥接口:(这将在主机bridge上执行,不清楚的看看测试场景)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论