Ubuntu共享WiFi(AP)给Android方法【修正版】(转)

Ubuntu共享WiFi(AP)给Android方法【修正版】

Ubuntu共享WiFi(AP)给Android方法
 
 
Android是不支持Ad-hoc模式的WiFi.Windows 7软AP一个还是比较简单的.本文介绍在Ubuntu下实现软AP.(需要你的无线网卡支持AP哈)
 
使用工具hostapd,dnsmasq.我的环境是Ubuntu11.10或ubuntu12.04;手机Android 2.3.5;网卡ath5k.有线网络使用静态的IP.
 
1、首先,系统是Ubuntu 11.10或者Ubuntu 12.04,安装软件:
 
sudo apt-get install hostapd dnsmasq

 
2、配置网络端口:  sudo gedit  /etc/network/interfaces文件,内容如下:

auto eth0

iface eth0 inet static

address 172.16.54.182    # ip地址,自己修改

netmask 255.255.255.0    #  子网掩码,自己修改

gateway 172.16.54.1        #   网关,自己修改

auto lo

iface lo inet loopback

 
3、配置hostapd:  sudo gedit /etc/hostapd.conf   内容如下
 
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
 
 
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 -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

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就可以了.

猜你喜欢

转载自sdusjy.iteye.com/blog/1841353