为您推荐:
精华内容
最热下载
问答
  • 46KB qq_21127151 2018-10-15 17:14:12
  • 1KB fanlb2004 2017-07-11 09:51:24
  • 5星
    389KB mysee1989 2014-04-17 16:23:45
  • Linux网关模式下将有线LAN和无线LAN共享网段实现局域网内互联: 思路其实很简单:就是将虚拟出一个bridge口,将对应的有线LAN和无线LAN都绑定在这个虚拟bridge口上,并给这个bridge口分配一个地址...brctl addif bridg

    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.4.tar.gz进行安装,步骤如下:

    编译安装bridge-utils

    (1)进入到/usr/src 目录下,下载bridge-utils-1.4.tar.gz :

    #cd /usr/src

    #wget http://launchpad.net/bridgeutils/

    main/1.4/+download/bridge-utils-

    1.4.tar.gz

    (2)解压缩:

    #tar zxvf bridge-utils-1.4.tar.gz

    进入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)。

     

     

     

    另外一篇有助理解的文章:http://www.2cto.com/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 addrs

    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上执行,不清楚的看看测试场景)

    root@bridge:~> brctl addbr br0

    2.其次,我们不需要STP(生成树协议)等。因为我们只有一个路由器,是绝对不可能形成一个环的。我们可以关闭这个功能。(这样也可以减少网络环境的数据包污染):

    root@bridge:~> brctl stp br0 off

    3.经过这些准备工作后,我们终于可以做一些立竿见影的事了。我们添加两个(或更多)以太网物理接口,意思是:我们将他们附加到刚生成的逻辑(虚拟)网桥接口br0上。

    root@bridge:~> brctl addif br0 eth0

    root@bridge:~> brctl addif br0 eth1

    4.现在,原来我们的两个以太网物理接口变成了网桥上的两个逻辑端口。那两个物理接口过去存在,未来也不会消失。要不信的话,去看看好了。.现在他们成了逻辑网桥设备的一部分了,所以不再需要IP地址。下面我们将这些IP地址释放掉

    root@bridge:~> ifconfig eth0 down

    root@bridge:~> ifconfig eth1 down

    root@bridge:~> ifconfig eth0 0.0.0.0 up

    root@bridge:~> ifconfig eth1 0.0.0.0 up

     

    好了!我们现在有了一个任何IP地址都没有的box w/o了。好了,这下如果你想通过TP配置你的防火墙或路由器的话,你就只能通过本地的控制端口了。你不会告诉我你的机器上连串行端口都没有吧?

    注:上面红色部分其实是可选的,在试验中,我发现,就算不把原有的网卡地址释放掉,网桥也能工作!但是,为了更规范,或者说

     

    为了避免有什幺莫名其妙的问题,最好还是按要求做,执行这四步吧!

     

    5.最后,启用网桥root@bridge:~> ifconfig br0 up

    可选: 我们给这个新的桥接口分配一个IP地址

    root@bridge:~> ifconfig br0 10.0.3.129

    或者把最后这两步合成一步:

    root@bridge:~> ifconfig br0 10.0.3.129 up

    就是多一个up!

     

    这下我们做完了 。

     

    关闭网桥命令

     

    brctl delif ena eth1;

    brctl delif ena eth0;

    ifconfig ena down;

    brctl delbr ena;

     

     

    摘自 zjl_1026_2001的专栏

     

    什么是网桥

    网桥是一种在链路层实现中继,对帧进行转发的技术,根据MAC分区块,可隔离碰撞,将网络的多个网段在数据链路层连接起来的网络设备。

    Linux 网桥配置命令:brctl

    在Linux中配置网络一般使用 brctl 命令,使用此命令首先要安装:bridge-utils软件包。

    [inbi@debian~]#apt-get install bridge-utils

    [inbi@debian~]#modprobe bridge

    [inbi@debian~]#echo "1">/proc/sys/net/ipv4/ip_forward

    #安装bridge-utils软件包,并加载bridge模块和开启内核转发。

    [inbi@debian~]#brctl

    #直接输入brctl命令将显示帮助信息!

    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 addrs

    showstp

    <bridge>

    show bridge stp info

    stp

    <bridge> {on|off}

    turn stp on/off

     

    增加网桥

     

    [inbi@debian~]#brctl addbr br0

    #增加一个网桥

    [inbi@debian~]#ifconfig eth0 0.0.0.0 promisc

    [inbi@debian~]#ifconfig eth1 0.0.0.0 promisc

    [inbi@debian~]#brctl addif br0 eth0 eth1

    #将两块已有的网卡添加到网桥,此时这两个网卡工作于混杂模式,所以不需要IP了,因为网桥是工作在链路层的。

    [inbi@debian~]#brctl show

    #查看已有网桥

     

    你也可以为 br0 设置一个IP,已访问这台机器。

    [inbi@debian~]#ifconfig br0 10.10.1.1 netmask 255.255.0.0 up

    删除网桥

    [inbi@debian~]#brctl delif br0 eth0 eth1

    #增加网桥中的接口

    [inbi@debian~]#brctl delbr br0

    #删除网桥

    关闭生成树

     

    [inbi@debian~]#brctl stp br0 off

    #关闭生成树协议,减少数据包污染,因为我这里只有一个路由器哦!

    配置桥开机激活

     

    [inbi@debian~]#echo "modprobe bridge">>/etc/rc.local

    #开机加载 bridge 模块,或者echo "bridge">>/etc/modules

    [inbi@debian~]#cp /etc/network/interfaces /etc/network/interfaces.default

    #备份下,方便以后使用啊!

    [inbi@debian~]#vim /etc/network/interfaces

    auto lo eth0 eth1 br0

    iface lo inet loopback

    iface br0 inet static

    address 10.10.10.1

    netmask 255.255.0.0

    gateway 10.10.10.254

    pre-up ip link set eth0 promisc on

    pre-up ip link set eth1 promisc on

    pre-up echo "1">/proc/sys/net/ipv4/ip_forward

    bridge_ports eth0 eth1

    #配置eth0 eth1 br0开机启动,eth0,eth1未设置IP信息,在启动br0网卡时,开启了eth0,eth1的混杂模式,并桥接了它们。

    展开全文
    wangquan1992 2021-01-03 21:28:38
  • # brctl addif br0 eth0 (让eth0 成为br0 的一个端口) # brctl addif br0 eth1 ( 让eth1 成为br0 的一个端口) # brctl addif br0 eth0 ( 让eth2 成为br0 的一个端口) # brctl addif br0 eth3 ( 让eth3...

    桥接工作在OSI网络参考模型的第二层数据链路层,是一种以MAC地址来作为判断依据来将网络划分成两个不同物理段的技术,其被广泛应用于早期的计算机网络当中。

    我们都知道,以太网是一种共享网络传输介质的技术,在这种技术下,如果一台计算机发送数据的时候,在同一物理网络介质上的计算机都需要接收,在接收后分析目的MAC地址,如果是属于目的MAC地址和自己的MAC地址相同便进行封装提供给网络层,如果目的MAC地址不是自己的MAC地址,那么就丢弃数据包。

    桥接的工作机制是将物理网络段(也就是常说的冲突域)进行分隔,根据MAC地址来判断连接两个物理网段的计算机的数据包发送。

    下面,我们举个例子来为各位网友讲解:在下图中的网络结构中,有两台集线器分别连接多台计算机,我们分别将A集线器和B集线器定为A冲突域和B冲突域。在这样的网络环境中,如果计算机A向计算机C发送数据包时,集线器A会将数据包在整个网络中的全部计算机(包括集线器B)发送一遍,而不管这些数据包是不是需要发送到另一台区域B。

    图1

    我们再将集线器A和集线器B分别连接到网桥的两个端口上,如果计算机A再向计算机C发送数据包时会遇到什么样的情况呢?这时集线器A也是同样会将数据包在全网发送,当到达网桥后,网桥会进行数据包目的MAC地址的分析,然后对比自己学习到的MAC地址表,如果这个表中没有此MAC地址,网桥便会在两个网段上的发送数据包,同时会将计算机A的MAC地址记录在自己的表当中。

    经过多次这样的记录,网桥会将所有的MAC地址记录,并划分为两个段。这时计算机A再次发送数据包给B的时候,因为这两台计算机同处在一个物理段位上,数据包到达网桥时,网桥会将目的MAC地址和自己的表进行对比,并且判断计算机A和计算机B在同一个段位上,便不会转发到区域B当中,而如果不在同一个物理段当中,网桥便会允许数据包通过网桥。

    通过以上的例子我们了解到,网桥实际上是一种控制冲突域流量的设备。网桥现在基本上已经很少用到了,除了隔离冲突域以外,网桥还可以实现不同O类型网络的连接(令牌环网和以太网之间的连接)和网络的扩展(IEEE的5.4.3连接规则)等等功能。

    二、什么是交换

    交换同样工作在OSI网络参考模型的第二层数据链路层,也是一种以MAC地址来作为判断依据来将网络划分成两个不同段的技术,不同的是交换将物理网段划分到每一个端口当中,简单的理解就是一种多端口的网桥,它实际上是一种桥接技术的延伸。

    在前面的了解当中,我们已经知道桥接是连接两个不同的物理网段(冲突域)的技术,交换是连接多个物理网段技术,典型的交换机通常都有多个端口,每个端口实际上就是一个网桥,当连接到交换机端口的计算机要发送数据包时,所有的端口都会判断这个数据包是否是发给自己的,如果不是就将其丢弃,这样就将冲突域的概念扩展到每个交换机端口上。

    我们还是举例为大家说明,在下面的图中,我们可以看到计算机A、B分别连接到交换机的不同端口当中,当计算机A向B发送数据包时,假设这时A端口并没有学习到B端口的MAC地址,这时,A端口便会使用广播将数据包发送到除A端口以外的所有端口(广播域),当其他计算机接收到数据包后会与自己的MAC地址进行对比,然后简单的丢弃数据包;当B接收到数据包后,通过对比后接收数据包,并且记录源地址。通过反复这样的学习,交换机会构建一个基于所有端口的转发数据库,存储在交换机的内容可寻址存储器当中(CAM)。

    图1

    在交换机学习到所有端口的信息后,计算机A再次发送数据包给B时,就不再广播地址,而是直接发送到转发数据库中所对应的B端口。通过这样的学习,在交换机上实现了微分段,每个连接到交换机端口的计算机都可以独享带宽。

    三、什么是路由

    路由工作在OSI参考模型的第三层网络层当中,它是基于第三层的IP地址信息来作为判断依据来将网络划分成不同段(IP子网)的技术,与桥接和交换不同,路由划分的是独立的逻辑网段,每个所连接的网段都具有独立的网络IP地址信息,而不是以MAC地址作为判断路径的依据,这样路由便有隔离广播的能力;而交换和桥接是划分物理网段,它们仅仅是将物理传输介质进行分段处理。同时路由具备路径选择的功能,会根据不同的目的IP地址来分析到达目的地最合适的路径。

    在下图中,我们看到路由器所连接了三台交换机,这三台交换机分别被划分为三个不同的子网地址段:192.168.0.0、192.168.1.0、192.168.3.0。当计算机A向B发送数据包时,在不知道到达B的路径时,交换机A会将数据包在自己所在的段上全网广播,当到达路由器中,路由器便不会再广播这个数据包,它根据路由协议的规则来判断到达B应该选择将其转发到那个段上,这时便会将数据包转发到对应的IP地址段当中,而不广播到不需要这个数据包的C网段当中。如果路由器中没有规则定义到达目的IP地址的路径时,它会直接丢弃这个数据包。

    图3

    路由器主要有路径选择和数据转发两个基本功能,但在很多场景下,路由器一般都承担着网关的角色。在国内,我们通常都是采用PPPOE拨号或者静态路由两种方式实现局域网共享上网。这时,路由器主要的功能是实现局域网和广域网之间的协议转换,这同样也是网关的主要用途。

    四、三者之间的区别

    1、位于参考模型的层数不同

    在开放系统互联参考模型当中,网桥和交换机都是位于参考模型的第二层-数据链路层,而路由器则位于更高一层-网络层。

    2、基于的路径判断条件不同

    由于位于OSI参考模型的层数不同,所以使交换机、网关这两种设备判断路径的条件也不相同,网桥和交换机是根据端口的MAC地址来判断数据包转发,而路由器则使用IP地址来进行判断。

    3、控制广播的能力不同

    网桥和交换机(三层交换机或支持VLAN功能的除外)这两种设备是无法控制网络的广播,如果有广播数据包,就会向所有的端口转发,所以在大的网络环境当中,必须得要有路由器来控制网络广播。

    4、智能化程度不同

    在判断数据的时候,网桥只能判断是否在同一个物理网段,交换机则可以判断数据包是属于那个端口,但是这两种设备都没有选择最优路径的能力,而路由器基于IP地址判断路径,所以会根据IP地址信息来判断到达目的地的最优路径。

    五、三者的不同应用场景及未来发展

    在现实的应用环境当中,网桥已经基本上不会被使用了,在中小型的局域网当中,最常用到的组网设备便是交换机,是否选择路由器会根据网络的规模和功能来决定,在大型网络中,路由器是必须的,用来控制广播,但是由于技术的不断延伸,交换机也被集成了基于IP地址判断路径及控制广播的功能,所以,路由器现在逐步在被可路由式交换机所取代。

    前面提到,路由器在很多场景下都是被用过网关,所以,随着宽带技术的迅速发展,在最末一公里,一种新兴的设备-宽带路由器将会逐步取代传统路由器来实现网络的接入功能。

    相信通过上面的介绍,大家对于网桥、交换、路由及网关的功能有了更清晰的了解!

    三、   brctl 的使用方法

    有五台主机。其中一台主机装有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)

    # brctl delbr 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 的一个端口)

    # brctl delif br0 eth0

    网桥的每个物理网卡作为一个端口,运行于混杂模式,而且是在链路层工作,所以就不需要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

    # ip addr add 127.0.0.1/8 dev lo brd +

    (ip 是iproute2 软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具。例如:ifconfig 、route 等。这个手册将分章节介绍ip 命令及其选项。)

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

    # ifconfig br0 192.168.1.1

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

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

    四、   brctl 命令详细分析

    增加桥接过程

    展开全文
    weixin_39683241 2020-12-22 20:45:35
  • Linux网关模式下将有线LAN和无线LAN共享网段实现局域网内互联:brctl addbrbridgebrctl addifbridge eth0brctl addifbridge ath0ifconfigeth00.0.0.0ifconfigbridge 10.0.0.1 netmask 255.255.255.0 up添加iptables-t...

    Linux网关模式下将有线LAN和无线LAN共享网段实现局域网内互联:

    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.4.tar.gz进行安装,步骤如下:

    编译安装bridge-utils

    (1)进入到/usr/src 目录下,下载bridge-utils-1.4.tar.gz :

    #cd

    /usr/src

    #wget

    http://launchpad.net/bridgeutils/

    main/1.4/+download/bridge-utils-

    1.4.tar.gz

    (2)解压缩:

    #tar zxvf

    bridge-utils-1.4.tar.gz

    进入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)。

    另外一篇有助理解的文章:http://www.2cto.com/os/201202/118320.html

    =====================================================================

    [root@xenserver ~]# brctl --help

    Usage:

    brctl [commands]

    commands:

    addbr add bridge

    delbr delete bridge

    addif add interface to bridge

    delif delete interface from bridge

    setageing set ageing time

    setbridgeprio set bridge priority

    setfd set bridge forward delay

    sethello set hello time

    setmaxage set max message age

    setpathcost set path cost

    setportprio set port priority

    show show a list of bridges

    showmacs show a list of mac addrs

    showstp show bridge stp info

    stp {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上执行,不清楚的看看测试场景)

    root@bridge:~> brctl addbr br0

    2.其次,我们不需要STP(生成树协议)等。因为我们只有一个路由器,是绝对不可能形成一个环的。我们可以关闭这个功能。(这样也可以减少网络环境的数据包污染):

    root@bridge:~> brctl stp br0 off

    3.经过这些准备工作后,我们终于可以做一些立竿见影的事了。我们添加两个(或更多)以太网物理接口,意思是:我们将他们附加到刚生成的逻辑(虚拟)网桥接口br0上。

    root@bridge:~> brctl addif br0 eth0

    root@bridge:~> brctl addif br0 eth1

    4.现在,原来我们的两个以太网物理接口变成了网桥上的两个逻辑端口。那两个物理接口过去存在,未来也不会消失。要不信的话,去看看好了。.现在他们成了逻辑网桥设备的一部分了,所以不再需要IP地址。下面我们将这些IP地址释放掉

    root@bridge:~> ifconfig eth0 down

    root@bridge:~> ifconfig eth1 down

    root@bridge:~> ifconfig eth0 0.0.0.0 up

    root@bridge:~> ifconfig eth1 0.0.0.0 up

    好了!我们现在有了一个任何IP地址都没有的box

    w/o了。好了,这下如果你想通过TP配置你的防火墙或路由器的话,你就只能通过本地的控制端口了。你不会告诉我你的机器上连串行端口都没有吧?

    注:上面红色部分其实是可选的,在试验中,我发现,就算不把原有的网卡地址释放掉,网桥也能工作!但是,为了更规范,或者说

    为了避免有什幺莫名其妙的问题,最好还是按要求做,执行这四步吧!

    5.最后,启用网桥root@bridge:~> ifconfig br0 up

    可选: 我们给这个新的桥接口分配一个IP地址

    root@bridge:~> ifconfig br0 10.0.3.129

    或者把最后这两步合成一步:

    root@bridge:~> ifconfig br0 10.0.3.129 up

    就是多一个up!

    这下我们做完了

    关闭网桥命令

    brctl delif ena eth1;

    brctl delif ena eth0;

    ifconfig ena down;

    brctl delbr ena;

    摘自 zjl_1026_2001的专栏

    什么是网桥

    网桥是一种在链路层实现中继,对帧进行转发的技术,根据MAC分区块,可隔离碰撞,将网络的多个网段在数据链路层连接起来的网络设备。

    Linux网桥配置命令:brctl

    在Linux中配置网络一般使用 brctl 命令,使用此命令首先要安装:bridge-utils软件包。

    [inbi@debian~]#apt-get install bridge-utils

    [inbi@debian~]#modprobe bridge

    [inbi@debian~]#echo "1">/proc/sys/net/ipv4/ip_forward

    #安装bridge-utils软件包,并加载bridge模块和开启内核转发。

    [inbi@debian~]#brctl

    #直接输入brctl命令将显示帮助信息!

    Usage:

    brctl [commands]

    commands:

    addbr

    add

    bridge

    delbr

    delete

    bridge

    addif

    add

    interface to bridge

    delif

    delete

    interface from bridge

    setageing

    set ageing

    time

    setbridgeprio

    set bridge

    priority

    setfd

    set bridge

    forward delay

    sethello

    set hello

    time

    setmaxage

    set max

    message age

    setpathcost

    set path

    cost

    setportprio

    set port

    priority

    show

    show a list

    of bridges

    showmacs

    show a list

    of mac addrs

    showstp

    show bridge

    stp info

    stp

    {on|off}

    turn stp

    on/off

    [inbi@debian~]#brctl addbr br0

    #增加一个网桥

    [inbi@debian~]#ifconfig eth0 0.0.0.0 promisc

    [inbi@debian~]#ifconfig eth1 0.0.0.0 promisc

    [inbi@debian~]#brctl addif br0 eth0 eth1

    #将两块已有的网卡添加到网桥,此时这两个网卡工作于混杂模式,所以不需要IP了,因为网桥是工作在链路层的。

    [inbi@debian~]#brctl show

    #查看已有网桥

    你也可以为 br0 设置一个IP,已访问这台机器。

    [inbi@debian~]#ifconfig br0 10.10.1.1 netmask 255.255.0.0 up

    [inbi@debian~]#brctl delif br0 eth0 eth1

    #增加网桥中的接口

    [inbi@debian~]#brctl delbr br0

    #删除网桥

    [inbi@debian~]#brctl stp br0 off

    #关闭生成树协议,减少数据包污染,因为我这里只有一个路由器哦!

    [inbi@debian~]#echo "modprobe bridge">>/etc/rc.local

    #开机加载 bridge 模块,或者echo

    "bridge">>/etc/modules

    [inbi@debian~]#cp /etc/network/interfaces

    /etc/network/interfaces.default

    #备份下,方便以后使用啊!

    [inbi@debian~]#vim /etc/network/interfaces

    auto lo

    eth0 eth1 br0

    iface lo

    inet loopback

    iface br0

    inet static

    address

    10.10.10.1

    netmask

    255.255.0.0

    gateway

    10.10.10.254

    pre-up ip

    link set eth0 promisc on

    pre-up ip

    link set eth1 promisc on

    pre-up echo

    "1">/proc/sys/net/ipv4/ip_forward

    bridge_ports

    eth0 eth1

    #配置eth0

    eth1

    br0开机启动,eth0,eth1未设置IP信息,在启动br0网卡时,开启了eth0,eth1的混杂模式,并桥接了它们。

    展开全文
    weixin_35935279 2020-12-31 07:34:40
  • #brctl eth0 0.0.0.0 #brctl eth1 0.0.0.0 #brctl eth2 0.0.0.0 #brctl eth3 0.0.0.0 然后给br0的虚拟网卡配置IP地址:192.168.1.1,这样就能远程管理网桥 #ficonfig br0 192.168.1.1给网桥br0配置网络地址后,网桥...

    有五台主机,其中一台装有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是其名称。建立网段后,我们还要为其分配特定的端口,linux中一个端口就是一个物理网卡,每个网卡的名称分别是eth0,eht1,eth2,eth3,现在把四个网卡配置成br0网段的端口

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

    #brctl addif br0 eth1

    #brctl addif br0 eth2

    #brctl addif br0 eth3

    这样,网桥的每个物理网卡作为一个端口,运行于混杂模式,工作在连路层,就不需要IP了。

    #brctl eth0 0.0.0.0

    #brctl eth1 0.0.0.0

    #brctl eth2 0.0.0.0

    #brctl eth3 0.0.0.0

    然后给br0的虚拟网卡配置IP地址:192.168.1.1,这样就能远程管理网桥

    #ficonfig br0 192.168.1.1给网桥br0配置网络地址后,网桥就能工作了,192.168.1.0/24网段内的主机就都能telnet网桥了,进行远程配置。以上配置的是一个逻辑网段,实际上Linux网桥也能配置成多个逻辑网段(相当于交换机中划分多个VLAN)。

    展开全文
    weixin_39966020 2020-12-22 20:45:25
  • 29KB czqwust 2018-12-10 18:58:18
  • Michaelwubo 2020-11-23 18:27:52
  • weixin_44983653 2019-11-19 11:11:37
  • weixin_42408865 2021-05-08 21:34:54
  • weixin_39886612 2020-12-22 20:45:34
  • weixin_28712491 2021-05-12 05:08:42
  • u014763610 2021-12-12 10:42:41
  • hhhhhyyyyy8 2019-11-20 20:56:47
  • m0_37477061 2019-04-20 15:24:52
  • zfj521wh 2020-04-14 14:16:43
  • fy_long 2018-12-28 17:09:40
  • chao199512 2019-09-19 15:48:28
  • lsc_2019 2021-05-19 14:58:37
  • caofengtao1314 2018-08-23 10:59:34
  • tiging 2021-01-31 08:46:39
  • sinat_36050376 2020-05-06 11:08:04
  • Qevery678 2020-04-05 21:18:56
  • ever_peng 2021-03-16 09:53:43
  • catoop 2021-12-14 08:34:40
  • weixin_34240657 2016-04-20 10:33:00

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,634
精华内容 4,253
关键字:

brctl

友情链接: svn.zip