• 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧
  • 欢迎加博主微信:jiang_shaobo

Openwrt Wan桥接Lan

嵌入式 admin 5年前 (2015-01-24) 1156次浏览 已收录 扫描二维码

发现

  • 看起来一种桥接的技术做的就是这样的活儿

这意味着

  • 可以本地和lan不同地址?

不幸的发现

  • brctl 看起来真的可以配置这玩意[1]

见识

OpenWrt路由器的部分简单设置  NAT和桥接_致虚极and守静笃_新浪博客 沿途见识[1]

现在的路由器很多都是linux操作系统,最流行的一个发行版是OpenWrt。
本人实习ing,部门老大让我熟悉一下linux NAT和桥接配置,不试不知道,一试吓一跳。果然问题多多。
在设置这些东西之前,你首先得让linux具有转发功能--》
1、echo 1>/proc/sys/net/ipv4/ip_forward  #/proc下的文件都在内存中,所以这个设置是临时的,重启就没了
2、vi /etc/sysctl.conf 如果没有就添加 net.ipv4.ip_forward=1,因为修改的是配置文件,所以需要重启系统,并且是永久生效的
具有了转发功能,linux就可以成为路由器了
NAT  用的iptables

  1. iptables -F
  2. iptables -t nat -F                                 内网                                                外网IP
  3. iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT –to 192.168.0.115

这样就搞定了
作为专为路由器等嵌入式设备设计的操作系统,NAT默认就配置好的

桥接配置
配置前应该先删除已经存在的网桥,防止出现Device or resource busy
brctl delbr br-lan
NEXT:
ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0
brctl addbr br
brctl addif eth0
brctl addif eth1

  1. ifconfig eth0 down
  2. ifconfig eth1 down        #可能需要

ifconfig br up                   #启用网桥
如果不行,可能需要关掉防火墙 /etc/init.d/firewall stop

Linux 网桥配置命令:brctl – – ITeye技术网站 沿途见识[2]

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 Network Interfaces – OpenWrt Wiki 沿途见识[3]

brctl Linux Ethernet bridge administration
bridge show / manipulate bridge addresses and devices; bridge uses facilities added in Linux 3.0. Although the forwarding table is maintained on a per-bridge device basis the bridge device is not part of the syntax. This is a limitation of the underlying netlink neighbour message protocol. When displaying the forwarding table, entries for all bridges are displayed. Add/delete/modify commands determine the underlying bridge device based on the bridge to which the corresponding ethernet device is attached.

Bridged AP – OpenWrt Wiki 沿途见识[4]

Bridged AP is to extend your existing wired host router to have wireless capabilities. Clients connecting to OpenWRT will get an IP address from the wired host router.

WR703N 配置文件集锦-qiushui_007-ChinaUnix博客 沿途见识[5]

br-lan=lan网桥, 将WLAN和LAN(交换机)绑定为一个虚拟接口

541G+刷openwrt,做AP中继很不错 – OPENWRT专版 – 恩山WIFI论坛 – Powered by Discuz! 沿途见识[6]

手上有两台541G+,刷过dd,ubnt,openwrt,买了ttl线,所以从来不怕刷成砖头,刷dd最省事,但不太稳定,有些莫名其妙的问题,用的好好的有时候就突然罢工,关键时刻掉链子,所以研究了一下openwrt,用最新的trunk源码编译的固件很给力,驱动从madwifi换成了ath5k,信号质量和稳定性都大大提高,很满意。
atheros的芯片能同时做ap和客户端,所以很适合做ap中继,我用两种方式成功实现了无线中继,一种是client + ap,另一种是client bridge + ap,前者把无线客户端绑定成wan口,后者就相当于无线交换机了,和被中继的网络网段相同。
第一种中继方式比较简单
/etc/config/wireless 
config wifi-device  wifi0
        option        type     mac80211 #若是backfire版,请改成 atheros ,驱动不一样
        option        channel  13
        option         macaddr 00-00-00-12-12-12 #改成你自己的mac地址
config wifi-iface
        option device        wifi0
        option network        wan  #绑定成wan口,此时设定的qos脚本有效
        option mode         sta
        option ssid              Google   #被中继的AP
        option encryption psk2
        option key              secret-key       
config wifi-iface
        option device        wifi0
        option mode         ap
        option ssid         iGoogle  #给自己用的ap
        option network        lan
        option encryption        psk2
        option key         secret-key
/etc/config/network 要注意的地方
config ’interface’ ’wan’
    option ’ifname’ ’wlan0’ #若是backfire,请改成ath0
    option ’proto’ ’dhcp’      # 若不是被中继网络没打开dhcp,自己设定一下固定ip,若是蹭网,用netdiscover 可以探测到网段以及mac
第二种方式,openwrt官方有教程,http://wiki.openwrt.org/doc/recipes/relayclient,
要注意的地方:
/etc/config/network
        config ’interface’ ’wwan’      
                 option ’proto’ ’dhcp’
       
         config ’interface’ ’stabridge’       
                  option ’proto’      ’relay’       
                  option ’network’    ’lan wwan’
/etc/config/wireless 
         config wifi-iface
             option device           wifi0
             option network        wwan  #此时设定的qos脚本无效
             option mode            sta
             option ssid              Google   #被中继的AP
             option encryption    psk2
             option key              secret-key 
/etc/config/dhcp    需要关闭dhcp
          config ’dhcp’ ’lan’
              option ’interface’     ’lan’        
              option ’start’         ’100’        
              option ’limit’         ’150’        
              option ’leasetime’     ’12h’        
              option ’ignore’        ’1’
/etc/config/firewall      修改规则,允许lan wwan之间转发
          config ’zone’        
              option ’name’ ’lan’        
              option ’input’ ’ACCEPT’        
              option ’output’ ’ACCEPT’        
              option ’forward’ ’ACCEPT’        
              option ’network’ ’lan wwan’

引用信息

以下是[Openwrt Wan桥接Lan]所有用到的引用信息,向这些伟大的家伙致敬:
  1. 跳转至:1.0 1.1 OpenWrt路由器的部分简单设置  NAT和桥接_致虚极and守静笃_新浪博客, 见识于2013-8-15 10:25
  2. 跳转^ Linux 网桥配置命令:brctl – – ITeye技术网站, 见识于2013-8-14 22:49
  3. 跳转^ Linux Network Interfaces – OpenWrt Wiki, 见识于2013-8-14 22:48
  4. 跳转^ Bridged AP – OpenWrt Wiki, 见识于2013-8-14 22:34
  5. 跳转^ WR703N 配置文件集锦-qiushui_007-ChinaUnix博客, 见识于2013-7-11 11:59
  6. 跳转^ [分享541G+刷openwrt,做AP中继很不错 – OPENWRT专版 – 恩山WIFI论坛 – Powered by Discuz!], 见识于2013-7-11 12:1
喜欢 (0)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。