[TOC]
0x00 快速入门 命令brctl主要运用于 Linux 网桥配置,Linux网关模式下将有线LAN和无线LAN共享网段实现局域网内互联;
什么是网桥? 答:网桥是一种在链路层实现中继,对帧进行转发的技术,根据MAC分区块,可隔离碰撞,将网络的多个网段在数据链路层连接起来的网络设备(类似于VLAN)。
思路其实很简单: 就是将虚拟出一个bridge口,将对应的有线LAN和无线LAN都绑定在这个虚拟bridge口上,并给这个bridge口分配一个地址,其他子网微机配置网关为bridge口的地址便可以了。当,因为是设备是网关模式,路由和nat也是必须的了。如果设备本身便是网桥模式那么路由和nat便可以省掉了
安装网桥管理工具包:bridge-utile
[TOC]
0x00 快速入门 命令brctl主要运用于 Linux 网桥配置,Linux网关模式下将有线LAN和无线LAN共享网段实现局域网内互联;
什么是网桥? 答:网桥是一种在链路层实现中继,对帧进行转发的技术,根据MAC分区块,可隔离碰撞,将网络的多个网段在数据链路层连接起来的网络设备(类似于VLAN)。
思路其实很简单: 就是将虚拟出一个bridge口,将对应的有线LAN和无线LAN都绑定在这个虚拟bridge口上,并给这个bridge口分配一个地址,其他子网微机配置网关为bridge口的地址便可以了。当,因为是设备是网关模式,路由和nat也是必须的了。如果设备本身便是网桥模式那么路由和nat便可以省掉了
安装网桥管理工具包:bridge-utile1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 yum install bridge-utils -y apt-get install bridge-utils modprobe bridge echo "1" >/proc/sys/net/ipv4/ip_forward echo "modprobe bridge" >>/etc/rc.local @cp /etc/network/interfaces /etc/network/interfaces.default (1)进入到/usr/src 目录下,下载bridge-utils-1.4.tar.gz : (2)解压缩: 进入bridge-utils-1.4目录: (3)编译安装: 生成configure文件: 编译安装完成。最后将命令brctl复制到/sbin下:
0x01 brctl 命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 Usage: brctl [commands] addbr [name] delbr [name] addif [name] [interface] show [name] 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> setbridgeprio <bridge> <prio> setfd <bridge> <time> sethello <bridge> <time> set hello time setmaxage <bridge> <time> sethashel <bridge> <int> set hash elasticity sethashmax <bridge> <int> set hash max setmclmc <bridge> <int> set multicast last member count setmcrouter <bridge> <int> set multicast router setmcsnoop <bridge> <int> set multicast snooping setmcsqc <bridge> <int> set multicast startup query count setmclmi <bridge> <time> set multicast last member interval setmcmi <bridge> <time> set multicast membership interval setmcqpi <bridge> <time> set multicast querier interval setmcqi <bridge> <time> set multicast query interval setmcqri <bridge> <time> set multicast query response interval setmcqri <bridge> <time> set multicast startup query interval setpathcost <bridge> <port> <cost> set path cost setportprio <bridge> <port> <prio> set port priority setportmcrouter <bridge> <port> <int> set port multicast router show [ <bridge> ] showmacs <bridge> showstp <bridge> show bridge stp info stp <bridge> {on|off} turn stp on/off
0x02 实际案例 示例1.添加网桥并将接口进行接入,将有线和无线都设置为10.0.0.*网段,即可通过网上邻居进行访问;1 2 3 4 5 6 7 8 9 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
示例2.有五台主机。其中一台主机装有linux 安装了网桥模块,而且有四块物理网卡,分别连接同一网段的其他主机,我们希望其成为一个网桥(192.168.1.1.),为其他四台主机(IP分别为192.168.1.2 ,192.168.1.3,192.168.1.4,192.168.1.5) 之间转发数据包
同时为了方便管理,使用网桥能一个IP就可以在192.168.1.0/24网段内的主机上telnet到网桥,及连接不同网段的主机;1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 brctl addbr 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的一个端口) ifconfig eth0 0.0.0.0 ifconfig eth1 0.0.0.0 ifconfig eth2 0.0.0.0 ifconfig eth3 0.0.0.0 ifconfig br0 192.168.1.1
示例3.设置Linux让网桥运行配置网桥;1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 brctl addbr br0 brctl stp br0 off brctl addif br0 eth0 eth1 $ifconfig eth0 down$ifconfig eth1 down$ifconfig eth0 0.0.0.0 up$ifconfig eth1 0.0.0.0 up$ifconfig br0 10.0.3.129 upbrctl delif br0 eth1 eth0; ifconfig br0 down; brctl delbr br0;
示例4.配置eth0 eth1 br0开机启动,eth0、eth1未设置IP信息,在启动br0网卡时,开启了eth0,eth1的混杂模式,并桥接了它们。
1 2 3 4 5 6 7 8 9 10 11 [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 ono pre-up echo "1" >/proc/sys/net/ipv4/ip_forward bridge_ports eth0 eth1