Ubuntu 下用hostapd创建AP热点

来源:互联网 发布:剑三五毒萝莉捏脸数据 编辑:程序博客网 时间:2024/05/19 20:20

由于手机流量很容易就用完了,而且在学校又是用的校园网,笔记本共享无线wifi是非常普遍的事,对于windows平台,除去windows自带的,各种软件简直是漫天飞,

但是到了Linux上面,软件就比较少了,而Ubuntu自带的是Ad-hoc热点,很多安卓手机并不支持,在网上挖了两天的资料,终于找出一些靠谱的方案,下面就是其中一个

方法。


我的电脑是Ubuntu13.10,网卡是atheros的,用的是兼容驱动。

首先下个软件:

sudo apt-get install hostapd dnsmasq


下面就是配置的内容了(网上的资料,我试过,有些内容不是必须的):

配置网络端口:  sudo gedit  /etc/network/interfaces文件,内容如下:(感觉这个不是必须的,我的没改也能用)
auto eth0
iface eth0 inet static
address 192.168.1.100    # ip地址,自己修改
netmask 255.255.255.0    #  子网掩码,自己修改
gateway 192.168.1.1        #   网关,自己修改
auto lo
iface lo inet loopback

配置hostapd:  sudo gedit /etc/hostapd.conf   内容如下
interface=wlan0
driver=nl80211
ssid=wbyxu                   # ssid 可以改成你喜欢的名字
hw_mode=g
channel=11  #网上的资料很多,也可以是6或者其他的
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
4、配置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地址(此处参考)(这点很重要,不然有些网站上不了,特别是校园网
5、编辑启动脚本: sudo gedit /usr/bin/myap   内容如下:
#! /bin/sh
# 为无线添加路由规则# 下面一堆iptables开头的似乎也不是必须的,有的版本就只有一个
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 #必须用-B选项,应为后面的DNS要执行到,不然上不了网,当然也可以先执行DNS的修改,然后就随意了
/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
6、修改/usr/bin/myap权限:

sudo  chmod a+x /usr/bin/myap

7、最后还要注意确保系统打开转发功能(这里只执行一次就够了
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就可以了.


还有一些要说的,我第一次配好了之后,第二天在启动就不能用了。。。又在网上找了一天,原来是瑞捷认证会关闭network-manager服务,必须先启动服务,sudo service network-manager start,然后再启动AP热点,这样才能上网,

参考资料:
基本配置:http://stayrunning.blog.163.com/blog/static/196758002201322942528217/
必须先启动Ad-Hoc:http://www.oschina.net/question/102867_71825
0 0
原创粉丝点击