S3C2440开发板+RT3070无线网卡 基于hostapd+udhcpd+iptables实现softAP模式(路由器)
2016-06-16 21:44
603 查看
*********************************************************
主机开发环境:Centos6.5
交叉编译器:arm-linux-gcc
Linux内核版本:Linux-3.0
开发平台:FL2440开发板
作者:ZhengNice<shizhengzhu@126.com>
*********************************************************
开发说明:基于RT3070网卡实现softAP模式是在FL2440开发板已经成功移植Linux-3.0内核并且已经做好可读写ubifs文件系统的基础上,另外在进行此次开发之前开发板已经成功移植DM9000网卡和USB驱动的移植,这个可以参考的我之前的博客进行。另外感谢http://blog.csdn.net/u010944778/article/details/46969437和http://blog.csdn.net/hulu_arm/article/details/50739433两篇博客为本次开发提供的宝贵经验。
一、linux内核配置支持无线网卡softAP模式
[*] Networking support --->
Networking options --->
[*] Network packet filtering framework (Netfilter) ---> //主要的配置都在这里
[ ] Network packet filtering debugging
[*] Advanced netfilter configuration
[*] Bridged IP/ARP packets filtering
Core Netfilter Configuration ---> //出了下面列出的其他全选
< > Transparent proxying support (EXPERIMENTAL)
< > set target and match support
< > CHECKSUM target support
< > "CT" target support
< > "DSCP" and "TOS" target support
< > "NOTRACK" target support
< > "TCPOPTSTRIP" target support (EXPERIMENTAL)
< > "dscp" and "tos" match support
< > "ipvs" match support
<*> IP set support --->
(256) Maximum number of IP sets
<*> bitmap:ip set support
<*> bitmap:ip,mac set support
<*> bitmap:port set support
<*> list:set set support
<*> IP virtual server support ---> //出了下面列出的其他全选
[ ] IP virtual server debugging
[ ] SCTP load balancing support
< > FTP protocol helper
< > SIP persistence engine
IP: Netfilter Configuration ---> //全选
<*> RF switch subsystem support ---> //注意要选不然在使用hostapd命令时会出错
二、配置无线网络的软件移植
1.移植openssl
1.1下载好openssl-1.0.1p源码并解压之后,在该文件下创建新的文件夹install
mkdir install
2.2修改Makefile文件
29 INSTALLTOP=/opt/openssl-1.0.1p/install
32 OPENSSLDIR=/opt/openssl-1.0.1p/install
62 CC= /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc
69 AR= /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ar $(ARFLAGS) r
70 RANLIB= /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ranlib
1.3编译 sudo make & make install 并拷贝libcrypto.a ; libssl.a到开发板的/lib下
2.移植libnl
2.1下载好libnl-1.1源码并解压之后,在该文件下创建新的文件夹install
2.2编译&安装
./configure --prefix=/home/wwl/fl2440/3rdparty/libnl-1.1/install(指定安装路径) --host=arm-linux
# make CC= /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc
# sudo make install
2.3将/install下的lib文件夹中的libnl.so.1拷贝到开发板/lib目录下
3.移植hostapd
3.1下载好hostapd-1.0源码并解压之后
3.2复制和修改配置文件 cp defconfig .config &vim .config
修改如下:
23 CONFIG_DRIVER_NL80211=y
修改Makefile文件:
11 CFLAGS += -I/home/wwl/fl2440/3rdparty/openssl-1.0.1p/install/include/
12 CFLAGS += -I/home/wwl/fl2440/3rdparty/libnl-1.1/install/include/
14 LDFLAGS += -L/home/wwl/fl2440/3rdparty/openssl-1.0.1p/install/lib/
15 LIBS += -L /home/wwl/fl2440/3rdparty/openssl-1.0.1p/install/lib/
16 LDFLAGS += -L/home/wwl/fl2440/3rdparty/libnl-1.1/install/lib/
17 LIBS += -L/home/wwl/fl2440/3rdparty/libnl-1.1/install/lib/
3.3编译和安装
# make CC=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc
# sudo make install
3.4将生成可执行命令hostapd和配置文件hostapd.conf
hostapd主要就在于配置文件,以下是我的基本配置:
interface=wlan0 //网络接口名称
driver=nl80211 //默认使用nl80211无线驱动
ssid=Mywifi_test //热点名称
channel=3 //设定无线频道
hw_mode=g //使用80211g协议标准
ignore_broadcast_ssid=0 //
auth_algs=1 //指定OSA认证算法
wpa=3 //指定WPA/WPA2类型
wpa_passphrase=11111111//指定认证密钥
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
//启用了WPA或WPA2则需要指定wpa_pairwise或rsn_pairwise。
rsn_pairwise=CCMP
3.5在板子上直接执行hostapd -B hostapd.conf 即可;
如果编译过程出现缺少库的错误,请自行检查你hostapd所依赖的libnl库和openssl库是否成功交叉编译。
若出现读取random随机数错误,可采用符号链接的方法解决:
# mv /dev/random /dev/random.org
# ln -s /dev/urandom /dev/random
======================================================================================
Linux中的随机数可以从两个特殊的文件中产生,一个是/dev/urandom.另外一个是/dev/random。上述两种方式都可以产生随机数,dev/urandom 和dev/random都是产生用不为空的随机字符流,但区别是:/dev/random设备会封锁,直到系统产生的随机字符流已经充分够用,所以耗用时间较长。/dev/urandom设备不会封锁,数据的随机程度不高,但是一般情况已经够用。
======================================================================================
更详细的文章链接:http://www.linuxidc.com/Linux/2012-05/60476.htm
4.配置udhcpd
修改/opt/busybox-1.20.2/examples/udhcp/udhcpd.conf然后拷贝到开发板/etc目录下。
因为是实现最基础的功能,所以我们只要简单的修改地址池、默认网关以及dns即可
以下是我的配置
4 # The start and end of the IP lease block
5 start 192.168.2.100
6 end 192.168.2.254
7
8 # The interface that udhcpd will use
9 interface wlan0
64 opt dns 202.120.2.101
65 option subnet 255.255.255.0
66 opt router 192.168.2.1
67 #opt wins 192.168.10.10
68 #option dns 129.219.13.81 # appended to above DNS servers for a total of 3
69 option domain local
70 option lease 18000 # default: 5 hours
71 option msstaticroutes 10.0.0.0/8 10.127.0.1 # single static route
72 option staticroutes 10.0.0.0/8 10.127.0.1, 10.11.12.0/24 10.11.12.1
因为udhcpd和udhcpc一样都是busybox里面自带的命令。所以我直接把配置文件放到开发板上再执行命令
# udhcpd /etc/udhcpd.conf //就可以启动dhcp服务器了。
Udhcpd在执行的时候可能会提示没有一个叫做udhcpd.release的租赁文件,这个只要在相应的文件夹下创建即可。执行下面两条命令:
#mkdir -p /var/lib/misc/
#touch /var/lib/misc/udhcpd.leases
5.iptables移植
5.1iptables简介
iptables是基于内核的防火墙,功能非常强大,iptables内置了filter,nat和mangle三张表。
Filter表负责过滤数据包,包括的规则链有,input,output和forward;
Nat表则涉及到网络地址转换,包括的规则链有,prerouting,postrouting和output;
Mangle表则主要应用在修改数据包内容上,用来做流量整形的。
默认的规则链有:INPUT,OUTPUT,NAT,POSTROUTING,PREROUTING;
INPUT匹配目的IP是本机的数据包,FORWARD匹配流经本机的数据包,PREROUTING用来修改目的地址用来做DNAT,POSTROUTING用来修改源地址用来做SNAT。
5.2下载好iptables-1.4.20源码并解压之后,在该文件下创建新的文件夹install
5.3配置和安装
[pikaqiu@centos6iptables-1.4.12]$ ./configure
--host=arm-linux --enable-static --disable-shared --prefix=/home/wwl/fl2440/3rdparty/iptables-1.4.20/install --disable-ipv6 --disable-largefile
[pikaqiu@centos6iptables-1.4.12]$make CC=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc CFLAGS=--static LDFLAGS=-static
[pikaqiu@centos6 iptables-1.4.12]$sudo make install
进入install/sbin/文件夹 sudo /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-strip xtables-multi strip减轻点重量
此时将/install/lib文件夹和xtables-multi打包放到开发板/lib和/bin目录下,赋予权限后将xtables-multi改名为iptables
5.4开发板的上的配置
配置nat转发表,如下:
# /apps/wireless/softAP/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
// 将局域网内地址通过eth0接口伪装后转发出去
# /apps/wireless/softAP/iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISH -j ACCEPT
//对于已经建立连接的包以及该连接相关的包都允许通过!
# /apps/wireless/softAP/iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
// 配置数据包转发时候的接口
====================================================================================
关于iptables的nat参考:
MASQUERADE是SNAT网络地址转换的一种,SNAT的使用方法,即可以NAT成一个地址,也可以NAT成多个地址,但是,对于SNAT,不管是几个地址,必须明确的指定destination的ip.如果eth0是动态拨号获取IP,那就需要MASQUERADE来实现SNAT。而我的eth0是接到路由器VAN上的,虽然路由器是拨号上网,但是我的eth0是自己指定的IP,每次都不会变,所以应该也可以使用SNAT的方式来配置iptables。不过我觉得MASQUERADE更方便,这就当为3G动态拨号直连做预热吧。
====================================================================================
参考文档:
http://soft.zdnet.com.cn/techupdate/2008/0317/772069.shtml
http://www.cnblogs.com/argb/p/3535179.html
http://blog.chinaunix.net/uid-26495963-id-3279216.html iptables详解
所有的准备就绪后,我们一定要记得先实现eth0能上网。连上路由器如果eth0都上不了网,自然谈不上转发。eth0要上网的话我们只要再给网关和DNS就可以了。
实现开发板路由的整个流程
>: mv /dev/random /dev/random.org
>:ln -s /dev/urandom /dev/random
>:hostapd -B /apps/hostapd/hostapd.conf
Configuration file: /apps/hostapd/hostapd.conf
phy0 -> rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'.
phy0 -> rt2x00lib_request_firmware: Info - Firmware detected - version: 0.29.
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 0 - CWmin: 3, CWmax: 4, Aifs: 2, TXop: 102.
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 1 - CWmin: 4, CWmax: 5, Aifs: 2, TXop: 188.
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 2 - CWmin: 5, CWmax: 10, Aifs: 3, TXop: 0.
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 3 - CWmin: 5, CWmax: 10, Aifs: 7, TXop: 0.
Using interface wlan0 with hwaddr 48:5d:60:40:77:02 and ssid 'mywifi_tset'
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 0 - CWmin: 2, CWmax: 3, Aifs: 1, TXop: 47.
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 1 - CWmin: 3, CWmax: 4, Aifs: 1, TXop: 94.
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 2 - CWmin: 4, CWmax: 6, Aifs: 3, TXop: 0.
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 3 - CWmin: 4, CWmax: 10, Aifs: 7, TXop: 0.
>:ifconfig wlan0 192.168.2.1 netmask 255.255.255.0
>:iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
>:iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISH -j ACCEPT
>:iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
>:echo "1" >/proc/sys/net/ipv4/ip_forward
>:route add default gw 192.168.1.1
>:udhcpd -f /apps/udhcpd/udhcpd.conf
udhcpd (v1.20.2) started
udhcpd: max_leases=235 is too big, setting to 155
Sending OFFER of 192.168.2.100 //第一个用户
Sending ACK to 192.168.2.100
phy0 -> rt2800_txdone_entry_check: Warning - TX status report missed for queue 2 entry 2
phy0 -> rt2800_txdone_entry_check: Warning - TX status report missed for queue 2 entry 3
phy0 -> rt2800_txdone_entry_check: Warning - TX status report missed for queue 2 entry 5
Sending OFFER of 192.168.2.101 //第二个用户
Sending OFFER of 192.168.2.101
Sending ACK to 192.168.2.101
主机开发环境:Centos6.5
交叉编译器:arm-linux-gcc
Linux内核版本:Linux-3.0
开发平台:FL2440开发板
作者:ZhengNice<shizhengzhu@126.com>
*********************************************************
开发说明:基于RT3070网卡实现softAP模式是在FL2440开发板已经成功移植Linux-3.0内核并且已经做好可读写ubifs文件系统的基础上,另外在进行此次开发之前开发板已经成功移植DM9000网卡和USB驱动的移植,这个可以参考的我之前的博客进行。另外感谢http://blog.csdn.net/u010944778/article/details/46969437和http://blog.csdn.net/hulu_arm/article/details/50739433两篇博客为本次开发提供的宝贵经验。
一、linux内核配置支持无线网卡softAP模式
[*] Networking support --->
Networking options --->
[*] Network packet filtering framework (Netfilter) ---> //主要的配置都在这里
[ ] Network packet filtering debugging
[*] Advanced netfilter configuration
[*] Bridged IP/ARP packets filtering
Core Netfilter Configuration ---> //出了下面列出的其他全选
< > Transparent proxying support (EXPERIMENTAL)
< > set target and match support
< > CHECKSUM target support
< > "CT" target support
< > "DSCP" and "TOS" target support
< > "NOTRACK" target support
< > "TCPOPTSTRIP" target support (EXPERIMENTAL)
< > "dscp" and "tos" match support
< > "ipvs" match support
<*> IP set support --->
(256) Maximum number of IP sets
<*> bitmap:ip set support
<*> bitmap:ip,mac set support
<*> bitmap:port set support
<*> list:set set support
<*> IP virtual server support ---> //出了下面列出的其他全选
[ ] IP virtual server debugging
[ ] SCTP load balancing support
< > FTP protocol helper
< > SIP persistence engine
IP: Netfilter Configuration ---> //全选
<*> RF switch subsystem support ---> //注意要选不然在使用hostapd命令时会出错
二、配置无线网络的软件移植
1.移植openssl
1.1下载好openssl-1.0.1p源码并解压之后,在该文件下创建新的文件夹install
mkdir install
2.2修改Makefile文件
29 INSTALLTOP=/opt/openssl-1.0.1p/install
32 OPENSSLDIR=/opt/openssl-1.0.1p/install
62 CC= /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc
69 AR= /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ar $(ARFLAGS) r
70 RANLIB= /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-ranlib
1.3编译 sudo make & make install 并拷贝libcrypto.a ; libssl.a到开发板的/lib下
2.移植libnl
2.1下载好libnl-1.1源码并解压之后,在该文件下创建新的文件夹install
2.2编译&安装
./configure --prefix=/home/wwl/fl2440/3rdparty/libnl-1.1/install(指定安装路径) --host=arm-linux
# make CC= /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc
# sudo make install
2.3将/install下的lib文件夹中的libnl.so.1拷贝到开发板/lib目录下
3.移植hostapd
3.1下载好hostapd-1.0源码并解压之后
3.2复制和修改配置文件 cp defconfig .config &vim .config
修改如下:
23 CONFIG_DRIVER_NL80211=y
修改Makefile文件:
11 CFLAGS += -I/home/wwl/fl2440/3rdparty/openssl-1.0.1p/install/include/
12 CFLAGS += -I/home/wwl/fl2440/3rdparty/libnl-1.1/install/include/
14 LDFLAGS += -L/home/wwl/fl2440/3rdparty/openssl-1.0.1p/install/lib/
15 LIBS += -L /home/wwl/fl2440/3rdparty/openssl-1.0.1p/install/lib/
16 LDFLAGS += -L/home/wwl/fl2440/3rdparty/libnl-1.1/install/lib/
17 LIBS += -L/home/wwl/fl2440/3rdparty/libnl-1.1/install/lib/
3.3编译和安装
# make CC=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc
# sudo make install
3.4将生成可执行命令hostapd和配置文件hostapd.conf
hostapd主要就在于配置文件,以下是我的基本配置:
interface=wlan0 //网络接口名称
driver=nl80211 //默认使用nl80211无线驱动
ssid=Mywifi_test //热点名称
channel=3 //设定无线频道
hw_mode=g //使用80211g协议标准
ignore_broadcast_ssid=0 //
auth_algs=1 //指定OSA认证算法
wpa=3 //指定WPA/WPA2类型
wpa_passphrase=11111111//指定认证密钥
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
//启用了WPA或WPA2则需要指定wpa_pairwise或rsn_pairwise。
rsn_pairwise=CCMP
3.5在板子上直接执行hostapd -B hostapd.conf 即可;
如果编译过程出现缺少库的错误,请自行检查你hostapd所依赖的libnl库和openssl库是否成功交叉编译。
若出现读取random随机数错误,可采用符号链接的方法解决:
# mv /dev/random /dev/random.org
# ln -s /dev/urandom /dev/random
======================================================================================
Linux中的随机数可以从两个特殊的文件中产生,一个是/dev/urandom.另外一个是/dev/random。上述两种方式都可以产生随机数,dev/urandom 和dev/random都是产生用不为空的随机字符流,但区别是:/dev/random设备会封锁,直到系统产生的随机字符流已经充分够用,所以耗用时间较长。/dev/urandom设备不会封锁,数据的随机程度不高,但是一般情况已经够用。
======================================================================================
更详细的文章链接:http://www.linuxidc.com/Linux/2012-05/60476.htm
4.配置udhcpd
修改/opt/busybox-1.20.2/examples/udhcp/udhcpd.conf然后拷贝到开发板/etc目录下。
因为是实现最基础的功能,所以我们只要简单的修改地址池、默认网关以及dns即可
以下是我的配置
4 # The start and end of the IP lease block
5 start 192.168.2.100
6 end 192.168.2.254
7
8 # The interface that udhcpd will use
9 interface wlan0
64 opt dns 202.120.2.101
65 option subnet 255.255.255.0
66 opt router 192.168.2.1
67 #opt wins 192.168.10.10
68 #option dns 129.219.13.81 # appended to above DNS servers for a total of 3
69 option domain local
70 option lease 18000 # default: 5 hours
71 option msstaticroutes 10.0.0.0/8 10.127.0.1 # single static route
72 option staticroutes 10.0.0.0/8 10.127.0.1, 10.11.12.0/24 10.11.12.1
因为udhcpd和udhcpc一样都是busybox里面自带的命令。所以我直接把配置文件放到开发板上再执行命令
# udhcpd /etc/udhcpd.conf //就可以启动dhcp服务器了。
Udhcpd在执行的时候可能会提示没有一个叫做udhcpd.release的租赁文件,这个只要在相应的文件夹下创建即可。执行下面两条命令:
#mkdir -p /var/lib/misc/
#touch /var/lib/misc/udhcpd.leases
5.iptables移植
5.1iptables简介
iptables是基于内核的防火墙,功能非常强大,iptables内置了filter,nat和mangle三张表。
Filter表负责过滤数据包,包括的规则链有,input,output和forward;
Nat表则涉及到网络地址转换,包括的规则链有,prerouting,postrouting和output;
Mangle表则主要应用在修改数据包内容上,用来做流量整形的。
默认的规则链有:INPUT,OUTPUT,NAT,POSTROUTING,PREROUTING;
INPUT匹配目的IP是本机的数据包,FORWARD匹配流经本机的数据包,PREROUTING用来修改目的地址用来做DNAT,POSTROUTING用来修改源地址用来做SNAT。
5.2下载好iptables-1.4.20源码并解压之后,在该文件下创建新的文件夹install
5.3配置和安装
[pikaqiu@centos6iptables-1.4.12]$ ./configure
--host=arm-linux --enable-static --disable-shared --prefix=/home/wwl/fl2440/3rdparty/iptables-1.4.20/install --disable-ipv6 --disable-largefile
[pikaqiu@centos6iptables-1.4.12]$make CC=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc CFLAGS=--static LDFLAGS=-static
[pikaqiu@centos6 iptables-1.4.12]$sudo make install
进入install/sbin/文件夹 sudo /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-strip xtables-multi strip减轻点重量
此时将/install/lib文件夹和xtables-multi打包放到开发板/lib和/bin目录下,赋予权限后将xtables-multi改名为iptables
5.4开发板的上的配置
配置nat转发表,如下:
# /apps/wireless/softAP/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
// 将局域网内地址通过eth0接口伪装后转发出去
# /apps/wireless/softAP/iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISH -j ACCEPT
//对于已经建立连接的包以及该连接相关的包都允许通过!
# /apps/wireless/softAP/iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
// 配置数据包转发时候的接口
====================================================================================
关于iptables的nat参考:
MASQUERADE是SNAT网络地址转换的一种,SNAT的使用方法,即可以NAT成一个地址,也可以NAT成多个地址,但是,对于SNAT,不管是几个地址,必须明确的指定destination的ip.如果eth0是动态拨号获取IP,那就需要MASQUERADE来实现SNAT。而我的eth0是接到路由器VAN上的,虽然路由器是拨号上网,但是我的eth0是自己指定的IP,每次都不会变,所以应该也可以使用SNAT的方式来配置iptables。不过我觉得MASQUERADE更方便,这就当为3G动态拨号直连做预热吧。
====================================================================================
参考文档:
http://soft.zdnet.com.cn/techupdate/2008/0317/772069.shtml
http://www.cnblogs.com/argb/p/3535179.html
http://blog.chinaunix.net/uid-26495963-id-3279216.html iptables详解
所有的准备就绪后,我们一定要记得先实现eth0能上网。连上路由器如果eth0都上不了网,自然谈不上转发。eth0要上网的话我们只要再给网关和DNS就可以了。
实现开发板路由的整个流程
>: mv /dev/random /dev/random.org
>:ln -s /dev/urandom /dev/random
>:hostapd -B /apps/hostapd/hostapd.conf
Configuration file: /apps/hostapd/hostapd.conf
phy0 -> rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'.
phy0 -> rt2x00lib_request_firmware: Info - Firmware detected - version: 0.29.
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 0 - CWmin: 3, CWmax: 4, Aifs: 2, TXop: 102.
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 1 - CWmin: 4, CWmax: 5, Aifs: 2, TXop: 188.
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 2 - CWmin: 5, CWmax: 10, Aifs: 3, TXop: 0.
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 3 - CWmin: 5, CWmax: 10, Aifs: 7, TXop: 0.
Using interface wlan0 with hwaddr 48:5d:60:40:77:02 and ssid 'mywifi_tset'
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 0 - CWmin: 2, CWmax: 3, Aifs: 1, TXop: 47.
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 1 - CWmin: 3, CWmax: 4, Aifs: 1, TXop: 94.
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 2 - CWmin: 4, CWmax: 6, Aifs: 3, TXop: 0.
phy0 -> rt2x00mac_conf_tx: Info - Configured TX queue 3 - CWmin: 4, CWmax: 10, Aifs: 7, TXop: 0.
>:ifconfig wlan0 192.168.2.1 netmask 255.255.255.0
>:iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
>:iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISH -j ACCEPT
>:iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
>:echo "1" >/proc/sys/net/ipv4/ip_forward
>:route add default gw 192.168.1.1
>:udhcpd -f /apps/udhcpd/udhcpd.conf
udhcpd (v1.20.2) started
udhcpd: max_leases=235 is too big, setting to 155
Sending OFFER of 192.168.2.100 //第一个用户
Sending ACK to 192.168.2.100
phy0 -> rt2800_txdone_entry_check: Warning - TX status report missed for queue 2 entry 2
phy0 -> rt2800_txdone_entry_check: Warning - TX status report missed for queue 2 entry 3
phy0 -> rt2800_txdone_entry_check: Warning - TX status report missed for queue 2 entry 5
Sending OFFER of 192.168.2.101 //第二个用户
Sending OFFER of 192.168.2.101
Sending ACK to 192.168.2.101
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- Linux 下无损图片压缩小工具介绍