配置桥接设备br0

简介:

[root@master ~]# rpm -q bridge-utils    //查看桥接软件是否安装 
bridge-utils-1.2-9.el6.x86_64 
[root@master ~]# brctl  show 
bridge name    bridge id    STP enabled    interfaces 
[root@master ~]#

此时无任何桥接设备,我们可以手动添加也可以在 文件中进行添加生效。
(1) 手动添加
[root@master ~]# brctl  addbr br0 
[root@master ~]# brctl  show 
bridge name    bridge id    STP enabled    interfaces 
br0            8000.000000000000        no 
[root@master ~]# brctl  addif br0 eth0 
[root@master ~]# brctl  show 
bridge name  bridge id        STP enabled  interfaces 
br0        8000.000000000000        no        eth0

删除eth0上面的ip地址,将br0上面添加上固定ip地址
[root@master ~]# ip addr del dev eth0 192.168.3.176/24        //删除eth0上的IP地址 
[root@master ~]# ifconfig  br0 192.168.3.176/24 up              //配置br0的IP地址并启动设备 
[root@master ~]# route add default gw 192.168.3.1              //重新加入默认网关

 

查看配置是否生效
[root@master ~]# route      //查看默认网关 
Kernel IP routing table 
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface 
192.168.3.0    *              255.255.255.0  U    0      0        0 br0 
default        192.168.3.1    0.0.0.0        UG    0      0        0 br0 
[root@master ~]# ip addr show    //查看eth0跟br0的IP信息 

 

 

[root@master ~]# ping 192.168.3.1 -w2        //测试同一网段连接是否成功,判断网卡IP是否绑定正确 
PING 192.168.3.1 (192.168.3.1) 56(84) bytes of data. 
64 bytes from 192.168.3.1: icmp_seq=1 ttl=255 time=3.45 ms 
64 bytes from 192.168.3.1: icmp_seq=2 ttl=255 time=4.20 ms 
--- 192.168.3.1 ping statistics --- 
2 packets transmitted, 2 received, 0% packet loss, time 2000ms 
rtt min/avg/max/mdev = 3.457/3.832/4.208/0.380 ms 
[root@master ~]# ping 192.168.1.1 -w2  //测试不同网段连接是否成功,判断网关是否添加成功 
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. 
64 bytes from 192.168.1.1: icmp_seq=1 ttl=255 time=2.38 ms 
64 bytes from 192.168.1.1: icmp_seq=2 ttl=255 time=7.64 ms 
--- 192.168.1.1 ping statistics --- 
2 packets transmitted, 2 received, 0% packet loss, time 2000ms 
rtt min/avg/max/mdev = 2.381/5.011/7.642/2.631 ms

上面是通过命令进行的手动配置方法,但是大家都清楚,这些命令配置的结果在服务器重启之后就不能生效了,要想使得所有配置永久生效,我们还是需要通过配置文件进行配置,然后重启网卡设备,让系统帮我们配置,然后重启之后也是生效的。

 

 

 

 

 

 

[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的混杂模式,并桥接了它们。










本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1536533,如需转载请自行联系原作者
目录
相关文章
|
传感器 运维 物联网
IT知识百科:什么是蜂窝小区?
【2月更文挑战第24天】
1617 5
IT知识百科:什么是蜂窝小区?
|
机器学习/深度学习 人工智能 自然语言处理
提升软件测试效率与质量:AI驱动的自动化测试策略
【2月更文挑战第19天】 在快速迭代的软件发展环境中,传统的手动测试方法已无法满足高效率和高质量的要求。本文探讨了人工智能(AI)技术如何革新现有的软件测试流程,通过引入AI驱动的自动化测试策略,旨在提高测试覆盖率,减少人为错误,优化资源分配,并缩短产品上市时间。我们将分析AI在识别潜在缺陷、生成测试用例、执行测试以及结果分析中的应用,并讨论实施这些策略时可能遇到的挑战和限制。
1233 3
|
Kubernetes Linux 网络安全
CentOS7搭建Kubernetes环境
CentOS7搭建Kubernetes环境
393 0
CentOS7搭建Kubernetes环境
|
安全 开发者
精通Angular路由管理:从基础设置到高级配置,打造复杂SPA导航系统的全方位指南
【8月更文挑战第31天】在单页应用(SPA)中,路由管理至关重要。Angular通过其强大的路由模块提供灵活高效的解决方案。本文通过代码示例详细介绍如何在Angular中设置和管理路由,包括基础路由配置、懒加载、路由保护及高级配置,帮助开发者构建高效安全的导航系统,满足复杂SPA需求。随着Angular的发展,路由管理将更加完善,值得持续关注。
269 0
|
缓存 安全 开发工具
记 Kylin 麒麟系统安全中心拦截导致 dotnet sdk 找不到 OpenSsl 构建失败
【10月更文挑战第28天】当Kylin麒麟系统安全中心导致.NET SDK找不到OpenSsl并构建失败时,可从检查安全中心拦截规则、确认OpenSsl安装和配置、验证.NET SDK配置及重新构建项目四个方面入手解决。包括查看拦截记录、调整拦截策略、检查OpenSsl安装与库文件路径、配置.NET SDK依赖及环境变量等步骤。
560 0
|
存储 监控 物联网
蜂窝网络基础架构详解:从基站到核心网
蜂窝网络基础架构详解:从基站到核心网
3425 9
|
机器学习/深度学习 存储 缓存
2024机器遗忘(Machine Unlearning)技术分类-思维导图
本文通过思维导图的形式,详细介绍了机器遗忘技术的分类、优缺点、面临的威胁和攻击以及防御机制,并探讨了评估机器遗忘系统有效性的方法,包括精确遗忘和近似遗忘技术,以及在数据隐私保护和法律遵从方面的应用。
1339 5
|
应用服务中间件 nginx Shell
Certbot免费https证书
Certbot免费https证书
16276 0
|
域名解析 存储 块存储
ceph集群的搭建
ceph集群的搭建
832 1
|
人工智能 自然语言处理 数据挖掘
使用LlamaIndex构建自己的PandasAI
了解如何利用 LlamaIndex 和 GPT-3.5-Turbo 轻松为 Pandas 添加自然语言功能,以进行直观的数据分析和对话
854 0

热门文章

最新文章