更新: 2012-03-03 
 
 
Android是不支持Ad-hoc模式的WiFi.Windows 7软AP一个还是比较简单的.本文介绍在Ubuntu下实现软AP.(需要你的无线网卡支持AP哈) 
 
使用工具hostapd,dnsmasq.我的环境时Ubuntu10.10;手机Android 2.1;网卡ath5k.有线网络使用静态的IP. 
 
首先,系统是Ubuntu 11.10,安装软件: 
 
sudo apt-get install hostapd dnsmasq 
 
为无线添加路由规则 
sudo iptables -F 
sudo iptables -X 
sudo iptables -t nat -F 
sudo iptables -t nat -X 
sudo iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth0 -j MASQUERADE 
sudo iptables -A FORWARD -s 10.1.1.0/24 -o eth0 -j ACCEPT 
sudo iptables -A FORWARD -d 10.1.1.0/24 -m conntrack --ctstate ESTABLISHED,RELATED -i eth0 -j ACCEPT 
 
10.1.1.0/24是我设置的地址段,可以自己改。 
 
若要记录下路由的情况可以加如下语句: 
 
sudo iptables -A INPUT -m conntrack --ctstate NEW -p tcp --dport 80 -j LOG --log-prefix "NEW_HTTP_CONN: " 
 
其中NEW_HTTP_CONN是日记中的标识。 
 
然后把现在iptables的规则写进/etc/iptables.rules 
 
sudo sh -c "iptables-save > /etc/iptables.rules" 
 
配置/etc/network/interfaces文件,使每次eth0启动时自动写规则 
 
auto eth0 
pre-up iptables-restore > /etc/iptables.rules
post-down iptables-save > /etc/iptables.rulse 
 
配置/etc/network/hostapd.conf 
 
interface=wlan0 
#bridge=br0 #方法二中有用到 
driver=nl80211 
ssid=wbyxu 
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=* #设置密码 
wpa_key_mgmt=WPA-PSK 
wpa_pairwise=TKIP 
rsn_pairwise=CCMP 
 
详细hostapd.conf配置请看http://linuxwireless.org/en/users/Documentation/hostapd. 
 
配置/etc/network/dnsmasq.conf 
 
interface=wlan0 
bind-interfaces #这个是只监听wlan0,没有之会检测所有卡 
except-interface=lo 
dhcp-range=10.1.1.10,10.1.1.110,6h #设置dhcp地址范 
#address=/#/10.1.1.1 #这个会把#(代表所有网址)的dns到10.1.1.1这个地址 
 
dnsmasq与named 
 
一般情况下bind的named会占了53端口,然后dnsmasq会启动不了,所以我用killall named来杀了named再启动dnsmasq。 
 
启动脚本 
 
#! /bin/sh 
        killall named 
        killall hostapd 
        ifconfig wlan0 10.1.1.1 
        hostapd -B /etc/network/hostapd.conf 
        /etc/init.d/dnsmasq restart 
 
“-B”后台运行,之后的hostapd.conf需要指名路径. 
 
电脑上完成. 
 
手机上设置WiFi不使用静态IP就可以了.

Ubuntu共享WiFi(AP)给Android方法的更多相关文章

  1. ubuntu 共享WIFI并分享主机的代理服务

    背景是这样的: 公司内的主机访问外网需要通过一个HTTP代理服务器,主机ubuntu共享wifi给手机使用的时候需要在手机上配置一个代理才能访问互联网. 我觉得这样比较麻烦,所以想在主机上直接把共享w ...

  2. ubuntu创建wifi热点(android可识别)亲测可用

    转自http://jingyan.baidu.com/article/ea24bc39b03fc6da62b331f0.html 如何在ubuntu系统下创建android可识别热点?一般环境下创建的 ...

  3. Ubuntu 14.04 x64配置Android 4.4 kitkat编译环境的方法

    Ubuntu 14.04 x64配置Android 4.4 kitkat编译环境的方法跟Ubuntu 12.04 - 13.10 以及jellybean编译环境配置没多大区别, 顺便记录下而已: Ub ...

  4. 笔记本win8系统共享wifi上网方法

    华硕笔记本电脑,安装了win8系统,使用wifi上网,由于连接无线路由的机器太多,超过路由连接数上限,因此转为使用笔记本共享wifi方式给手机上网. 最终上网方式为: 笔记本网卡接入无线路由器上网,笔 ...

  5. android wifi state and wifi ap state

    /** * Wi-Fi is currently being disabled. The state will change to {@link #WIFI_STATE_DISABLED} if * ...

  6. Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程

    Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程   在新的Ubuntu 64位系统下去编译早期的安卓源码是会出现很多问题的,因为64位系统在安装完成后,很多32位的兼容 ...

  7. win7系统用笔记本共享wifi热点 让手机免费上网

    之前一直在用这个方法把自己的笔记本变成一个wifi热点,让手机也可以直接连wifi上网,节省网费和路由器购买费. 其实就是开启了windows 7的隐藏功能:虚拟WiFi和SoftAP(即虚拟无线AP ...

  8. 超简单让ubuntu开启wifi热点(亲测16.04与14.04可用)

    今天教大家一个简单方法让ubuntu发散wifi热点给手机或者其他设备使用. 首先,创建一个普通的热点,点击右上角的网络,然后选择下拉菜单中的编辑连接,然后出现以下界面. 然后点击增加,连接类型选接W ...

  9. Kubuntu(14.04)共享wifi(热点)

    笔记本(kubuntu14.04)通过有线上网,共享本机无线给手机.平板及其他通过wifi上网的设备. 曾经在网上找过各种方法.下载了非常多软件都不能在本机上实现wifi共享,以下这样的方法眼下相对简 ...

随机推荐

  1. 数据校验DWZ与validator

    在做系统时经常会用到数据校验,数据校验可以自己写,也可以用现在成的,现在记录下两种类库使用方法, validato <!DOCTYPE HTML PUBLIC "-//W3C//DTD ...

  2. MyEclipse项目如何导入到Eclipse

    1.请首先确保你的eclipse是javaee版本的,或者已经安装看wtp插件 2.然后修改eclipse工程下的.project文件: 3.在<natures></natures& ...

  3. mac下使用brew安装java等应用

    可以使用brew安装很多应用,比如java,idea,iterms,sublime brew tap caskroom/versions 将会安装新的brew仓库源brew cask install ...

  4. 【HDOJ】【1964】Pipes

    插头DP 做完Formula 1以后这就是傻逼题了……直接将“数路径方案数”改为“计算路径长度取最小值”即可,没多大难度 都不用判当前格子是否能够到达的……不过!外边的一圈“墙”还是要加的!不然会有冗 ...

  5. OpenCV学习(37) 人脸识别(2)

          在前面一篇教程中,我们学习了OpenCV中基于特征脸的人脸识别的代码实现,我们通过代码 Ptr<FaceRecognizer> model = createEigenFaceR ...

  6. LeetCode 84. Largest Rectangle in Histogram 单调栈应用

    LeetCode 84. Largest Rectangle in Histogram 单调栈应用 leetcode+ 循环数组,求右边第一个大的数字 求一个数组中右边第一个比他大的数(单调栈 Lee ...

  7. Container With Most Water leetcode java

    题目: Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, a ...

  8. CentOS 7 开放防火墙端口命令

    CentOS 7 开放防火墙端口 命令 最近公司新的server要求用CentOS7, 发现以前CentOS 6 系列中的 iptables 相关命令不能用了,查了下,发现Centos 7使用fire ...

  9. 用C语言获取任意文件的长度(可能大于2GB)

    用C语言获取文件长度的常见思路是: 打开文件后用 fseek() 函数把文件位置指针移动到文件的末尾,用 ftell() 获得这时位置指针距文件头的字节数,这个字节数就是文件的长度.但是这样做也会受到 ...

  10. Discuz常见小问题-如何修改自己发布的帖子

    在发布的帖子的下方就有编辑的按钮,可以直接点击进去编辑