红联Linux门户
Linux帮助

ubuntu笔记本DSL联网无线网卡用作AP供安卓使用

发布时间:2013-02-09 01:07:05来源:红联作者:陈超
[i=s] 本帖最后由 陈超 于 2013-2-10 11:57 编辑 [/i]

在此感谢各位热心发贴的网友,我只是把他们的成果综合了一下而已,谢谢!
一直想用ubuntu把笔记本的无线网卡作成AP供手机wifi上网,但图形界面设置的Ad-hoc模式安卓是不支持的。在网上搜了好多教程,好不容易搜到一个但只能把eth0的转成wifi,不能把DSL转换成无线,综合了几个帖子的教程,终于搞定 了,拿出来和大家分享。
要把无线网卡当AP用首先要你的无线网卡支持,是这样看的:
$sudo apt-get install iw
$iw list
如果出现AP的字样(如下)则说明你的网卡支持AP 模式。

Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* WDS
* monitor
* mesh point
* P2P-client
* P2P-GO
software interface modes (can always be added):
* AP/VLAN
* monitor
interface combinations are not supported
Supported commands:
如果没有那就遗憾了,如果有就继续(我估计只要机器不是老爷机都会有的,goodluck!),
第一步:安装所需软件(两个小软件);
$sudo apt-get install hostapd dnsmasq
第二步:配置hostapd: $sudo gedit /etc/hostapd.comf 内容如下:(注意:#以及其后的内容不能出现在文件中,此处仅方便注释。)

interface=wlan0
driver=nl80211
ssid=wbyxu # ssid 可以改成你喜欢的名字
hw_mode=g
channel=11
dtim_period=1
rts_threshold=2347
fragm_threshold=2346
macaddr_acl=0
auth_algs=3
ieee80211n=0
wpa=3
wpa_passphrase=12345678 #自行设置密码,最好密码后要留空格
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

第三步:配置dns: $sudo gedit /etc/dnsmasq.conf 内容如下:(注意:#以及其后的内容不能出现在文件中,此处仅方便注释。)
interface=wlan0
bind-interfaces #这个是只监听wlan0,没有之会检测所有卡
except-interface=lo
dhcp-range=10.0.0.10,10.0.0.110,6h #设置dhcp地址范围,即租借时间6小时
address=/#/10.0.0.1 #这个会把#(代表所有网址)的dns到10.1.1.1这个地址
dhcp-option=3,10.0.0.1 #为手机配置网关 (此处参考)
dhcp-option=6,202.114.128.2#为手机配置dns,请自己修改为外网的dns地址(此处参考)

第四步:编辑启动脚本: sudo gedit /usr/bin/myap 内容如下:
#! /bin/sh
# 为无线添加路由规则
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE
iptables -A FORWARD -s 10.0.0.0/8 -o eth0 -j ACCEPT
iptables -A FORWARD -d 10.0.0.0/8 -m conntrack --ctstate ESTABLISHED,RELATED -i eth0 -j ACCEPT
#dnsmasq与named一般情况下bind的named会占了53端口,
# 然后dnsmasq会启动不了,所以我用killall named来杀了named再启动dnsmasq。
killall named
killall hostapd
ifconfig wlan0 10.0.0.1
#“-B”后台运行,之后的hostapd.conf需要指名路径.
hostapd -B /etc/hostapd.conf
/etc/init.d/dnsmasq restart
# dnsmasq启动后会出现电脑突然上不了网,
# 因为dnsmasq更改了/etc/resolv.conf的原因。可以在/etc/resolv.conf加一行
# nameserver x.x.x.x
#填入DNS服务器地址,根据自己的情况修改。
echo "nameserver 202.114.128.2" >> /etc/resolv.conf
#用nat 方式使wifi信号通过ppp0跟外网连接如果你用路由器把ppp0改为eth0
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

第五步:修改/usr/bin/myap权限:
$sudo chmod a+x /usr/bin/myap

第六步:最后还要注意确保系统打开转发功能(我怀疑这是多余的一步,不过没有试过没有会怎么样)
$sudo su
#echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
#echo 1 >/proc/sys/net/ipv4/ip_forward
#exit

8. 想共享wifi时,请保证电脑能上网,然后运行

$sudo myap

至此,电脑上的设置完成,最好重启一下.
手机上设置WiFi不使用静态IP就可以了.
PS:启动之后图形界面是不会显示该网络的,但你$ifconfig之后就会看见不同了,我的是这样的:

eth0 Link encap:以太网 硬件地址 xx:xx:xx:xx:xx:xx
inet6 地址: fe80::67d:7bff:fef0:1f7e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:6642 错误:0 丢弃:1 过载:0 帧数:0
发送数据包:6760 错误:0 丢弃:0 过载:0 载波:1
碰撞:0 发送队列长度:1000
接收字节:1276319 (1.2 MB) 发送字节:510926 (510.9 KB)
中断:47

lo Link encap:本地环回
inet 地址:127.0.0.1 掩码:255.0.0.0
inet6 地址: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 跃点数:1
接收数据包:315 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:315 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:0
接收字节:47886 (47.8 KB) 发送字节:47886 (47.8 KB)

mon.wlan0 Link encap:未指定 硬件地址 xx:xx:xx:xx:xx:xx-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:32 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:0 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:2778 (2.7 KB) 发送字节:0 (0.0 B)

ppp0 Link encap:点对点协议
inet 地址:200.221.48.46 点对点:200.221.48.1 掩码:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 跃点数:1
接收数据包:6360 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:6454 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:3
接收字节:1119419 (1.1 MB) 发送字节:348607 (348.6 KB)

wlan0 Link encap:以太网 硬件地址 xx:xx:xx:xx:xx:xx
inet 地址:10.0.0.1 广播:10.255.255.255 掩码:255.0.0.0
inet6 地址: fe80::26ec:99ff:fe01:ccb9/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 跃点数:1
接收数据包:692 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:870 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:70482 (70.4 KB) 发送字节:540033 (540.0 KB)
文章评论

共有 17 条评论

  1. longLinux08 于 2015-04-08 11:47:15发表:

  2. 463748260 于 2014-02-19 14:53:23发表:

    学习学习

  3. xingfu_168 于 2013-09-29 20:46:19发表:

    win7里也有看到 命令有点小同

  4. qq_3377 于 2013-08-22 21:24:23发表:

    强文,真心支持

  5. 跌了个跟头 于 2013-06-03 14:28:14发表:

    飘过......

  6. d.x 于 2013-03-29 21:13:00发表:

    学习了

  7. 棒球小宝 于 2013-03-28 13:22:24发表:

    dingdingdingding

  8. doomlsn 于 2013-03-26 02:44:39发表:

    学习了!

  9. dong3936533 于 2013-03-11 10:07:19发表:

    支持!

  10. nbawei 于 2013-03-09 08:19:32发表:

    受用了

  11. study007 于 2013-03-08 10:48:56发表:

  12. huihui7899 于 2013-03-02 17:48:56发表:

  13. 肖飞 于 2013-03-02 11:30:53发表:

  14. omaybrua 于 2013-02-10 09:57:23发表:

    受教了

  15. ymygy 于 2013-02-10 00:13:30发表:

    路过学习一下

  16. Growth兆 于 2013-02-09 09:31:16发表:

    感谢陈超的分享,本贴加入到论坛的Linux应用贴中

  17. PiOsnoae 于 2013-02-09 09:11:07发表:

    强文