OpenWrt无线Wifi客户端模式
前言
前一篇 讲到了OpenWrt的网络结构,这一篇讲讲OpenWrt的Wifi客户端模式,这主要是满足那些懒得接网线的人:)。
Wifi一般用的是AP(Access Point)模式:无线路由器作为一个Wifi热点为其他的Wifi客户端提供连接服务。
这里要用到的是Wifi的STA(Station)模式:作为客户端连接AP模式下的Wifi,这个一般笔记本的无线网卡都是这种模式( 详细的Linux下支持的Wifi模式看这里 ),网络结构图:
上图中左边STA客户端模式下的无线网卡作为WAN把192.168.2.0/24划为内网,用NAT方式连接外网的Wifi AP节点(192.168.1.1)。这个很像经典的OpenWrt WAN和LAN网络结构,只不过把WAN的以太网接口换成了Wifi。
OpenWrt设置
在OpenWrt下主要是设置/etc/config/network、/etc/config/wireless这两个文件,其他的都与默认的LAN和WAN模式相同。
/etc/config/network下,关闭VLAN(enable_valn=0),lan接口设置成静态并 去掉网桥 (默认为'option type bridge',Wifi通常自动桥接到lan接口),wan去掉'option ifname '选项(无线Wifi接口会自动加入wan作为ifname)。
-
config switch eth1
-
option reset 0
-
option enable_vlan 0
-
-
config interface loopback
-
option ifname lo
-
option proto static
-
option ipaddr 127.0.0.1
-
option netmask 255.0.0.0
-
-
config interface lan
-
option ifname eth1
-
option proto static
-
option ipaddr 192.168.2.1
-
option netmask 255.255.255.0
-
-
config interface wan
-
option proto dhcp
配置以后所有交换机上的接口都变为内部LAN,而无线Wifi作为WAN连接外网。LAN和WAN之间用NAT方式进行地址转换(具体在 firewall 的WAN设置masq=1,默认已经设置好了),firewall的NAT选项叫Masquerade(伪装),就是WAN接口把内网的数据包源地址伪装成自己的,很形象:)。
我一开始连接失败用Tcpdump查看wlan0,发现数据包还没有NAT伪装,最后发现是firewall没启动,所以确保firewall开机启动:
/etc/init.d/firewall enable
查看firewall是否启动:
/etc/init.d/firewall enabled && echo on
/etc/config/wireless下,设置Wifi参数:
-
config wifi-device radio0
-
option type mac80211
-
option channel 0
-
option hwmode 11g
-
option txpower 0
-
-
config wifi-iface
-
option device radio0
-
option network wan
-
option mode sta
-
option ssid yourAPssid
-
option encryption psk2
-
option key yourkey
主要是设置mode为sta,network选择要自动加入wan,填上要连接Wifi AP的ssid、加密方式encryption和密钥key,全部完成后重启网络,Wifi连接成功后WLAN LED灯会亮起。
/etc/init.d/network restart
把你的台式电脑网线随便插入LAN口,这样你就成为了一台有无线网卡的台式机了,省去了用网线想方设法连接其他房间路由器的烦恼:)。
参考
http://wiki.openwrt.org/doc/howto/clientmode
http://wiki.openwrt.org/doc/recipes/routedclient#using.masquerade
文章来源: blog.csdn.net,作者:悟空胆好小,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/xushx_bigbear/article/details/46608465
- 点赞
- 收藏
- 关注作者
评论(0)