简单易懂的Ubuntu生存战略:开启无线网卡的wifi热点,ap模式
在ubuntu下如何把无线网卡设置成可供wifi设备上网的接入点
因为某些移动设备对wifi热点的要求有些苛刻,p2p模式的无线连接方式虽然易设置,但是实用性不高.
相对而言,创建一个虚拟无线路由器成了分享网络的最佳方式.
win7下为手持设备创建一个wifi热点只需要两行命令;GUI程序有connectify,不存在什么问题.
在linux下则情况有点复杂(对不懂底层网络设置的人而言):网上流传的千篇一律的教程多有讹误,普适性也存在问题.
在这里我介绍一个具有GUI的wifi热点设置程序,相当于win7下的connectify,并且在功能上不亚于收费版的connectify.
这个程序叫wifi-hostapd-ap,作者是一个俄罗斯人.
程序的下载地址是:http://code.google.com/p/wifi-hostapd-ap/downloads/list,我下的是WiFi_Hostapd_AP-0.9.4.10_10.03.12.tar.gz.
下载后解压:
tar xzf WiFi_Hostapd_AP-0.9.4.10_10.03.12.tar.gz
在使用前安装一些依赖程序:
sudo apt-get install wireless-tools bridge-utils hostapd dnsmasq libqtgui4
编辑一处配置:
sudo gedit /etc/init.d/hostapd
找到第19行,更改如下:
DAEMON_CONF=/etc/hostapd/hostapd.conf
保存并退出.
下面就可以运行那个GUI程序了:
转到解压后的目录,并且使用root运行:
cd WiFi_Hostapd_AP-0.9.4.10_10.03.12
sudo ./WiFi_Hostapd_AP
运行界面如下:

界面非常朴素,不过实用就行了.
选择Options下的第二个菜单项来设置:

第一个设置页不用更改,值得关注的是第二项:语言,有英文与俄文,一般情况下选英文.
语言文件在程序的目录下,*.ts与*.qm,移动的程序时需要与程序一起移动.

第二页注意一下,
AP IP,AP Mask:ip地址不用更改,
WiFi device for AP:选择开启热点的无线网卡,一般是wlan0
SSID:无线网络的名称,自行设置
Driver for device:网卡驱动器的型号,必须选nl80211
Protection:密码格式,可以选择None(不设密码),WEP,WPA3
Password(8-16字符):密码

第三页
IP Range For Clients:分配给客户的IP范围,注意与ap的IP地址(在第二页设置)要在同一个段内
The interface to access the internet:通过哪个接口上网.如果电脑是连在路由上直接上网的选eth0,通过DSL上网的选ppp0.设置前最好用先弄清楚.
* 每一页设置好后都 [Save]保存.
然后回到主程序,点 [Activate]开启wifi.不出意外就如下所示,表示成功开启.
开启成功后把这个程序关掉也没问题,毕竟这只是一个壳.

问题与排除:
无法激活,或出现错误,或激活完成但是没有绿色的Active字样.
1:没有编辑/etc/init.d/hostapd文件,请按前面的方法修改该文件
2:设置选项的第二页没有设置正确,或驱动选择不正确,或网卡没有选对,或者是其他地方出错
3:密码设置不正确.尝试取消密码
sudo hostapd -d 可以显示错误信息.
激活成功,但是移动设备无法上网:
1:ap的id与客户分配的ip不在同一程序段内
2:选择了错误的访问英特网的适配器(第三页)
简单易懂的Ubuntu生存战略:开启无线网卡的wifi热点,ap模式的更多相关文章
- Android KitKat 4.4 Wifi移植AP模式和网络共享的调试日志
Tethering技术在移动平台上已经运用的越来越广泛了.它能够把移动设备当做一个接入点,其它的设备能够通过Wi-Fi.USB或是Bluetooth等方式连接到此移动设备.在Android中能够将Wi ...
- ubuntu设置WPA2-PSK的wifi热点(AP)——hostapd+dhcpd
在ubuntu 12.04中,默认可以设置的wifi热点是只能用WEP加密,毫无疑问,这样的加密方式,安全性低,现在可以在10几秒的时间内破解,并且只能添加ad-hoc模式的热点,不支持添加AP模式, ...
- 【树莓派】【转】将树莓派Raspberry Pi设置为无线路由器(WiFi热点AP,RTL8188CUS芯片)
下文为转载,文章转自:http://wangye.org/blog/archives/845/,仅供本次学习实践参考. 最近又开始折腾起Raspberry Pi来了,因为某处上网需要锐捷拨号,于是我就 ...
- 将树莓派Raspberry Pi设置为无线路由器(WiFi热点AP,RTL8188CUS芯片)
http://wangye.org/blog/archives/845/ 最近又开始折腾起Raspberry Pi来了,因为某处上网需要锐捷拨号,于是我就想能不能让我的树莓派代劳,当然首先要将其改造为 ...
- Windows7使用无线网卡建立WiFi热点
在Windows7下设置热点需要用到命令netsh wlan,具体的设置步骤如下: 1.配置热点 以管理员身份打开命令行模式,输入命令 netsh wlan set hostednetwork mod ...
- 开启和禁用Wifi热点命令
netsh wlan set hostednetwork mode=allow ssid=[无线网络名字] key=[密码] netsh wlan start hostednetwork --启用 禁 ...
- 不需要软件让Windows7变身WIFI热点
很简单,就是把一台装有windows 7操作系统,并配有无线网卡的电脑变成一台无线路由器或无线AP,以便在没有路由器的环境中实现多台无线终端(比如支持wifi的手机.电脑等设备)共享无线网络.那么我们 ...
- 6572平台上关于wifi热点切换跳的坑
最近在做一个无屏的项目,需要开启设备的wifi热点,通过连接热点设置设备wifi,本来看起来很容易完成的一件事情,遇到了一下的坑 在wifi切换状态时,大概率出现不能切换的问题,比如从wifi状态切换 ...
- Linux/Ubuntu 16.04 使用校园网客户端Dr.com DrClient 有线连网,同时开启WiFi热点
前面写过Ubuntu 16.04 使用校园网客户端 DrClient 无线上网,在这篇文章中将要介绍下,在Ubuntu 16.04上如何使用校园网客户端实现有线登录,这个问题也让博主困惑了很久,但是问 ...
随机推荐
- Guava 源码分析之 Beta, GwtCompatible, GwtIncompatible, Charset, HashCode
com.google.common.annotations.Beta /** * 表明一个公用API的未来版本是受不兼容变更或删除限制的 * 拥有这个注释标志的API不受任何兼容性保证 * */ @R ...
- C/C++字符串查找函数
C/C++ string库(string.h)提供了几个字符串查找函数,如下: memchr 在指定内存里定位给定字符 strchr 在指定字符串里定位给定字符 strcspn 返回在字符串str1里 ...
- 什么是C++虚函数、虚函数的作用和使用方法
我们知道,在同一类中是不能定义两个名字相同.参数个数和类型都相同的函数的,否则就是“重复定义”.但是在类的继承层次结构中,在不同的层次中可以出现名字相同.参数个数和类型都相同而功能不同的函数.例如在例 ...
- javascript基础知识梳理-Number与String之间的互相转换【转】
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- vue-router路由模式详解
一.路由模式解析 要讲vue-router的路由模式,首先要了解的一点就是路由是由多个URL组成的,使用不同的URL可以相应的导航到不同的位置. 如果有进行过服务器开发或者对http协议有所了解就会知 ...
- Java基础(七):重写与重载
一.重写(Override): 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是 ...
- tp 生成静态页
$this->fetch()返回的是html 可以直接写入到HTML文件内生成静态页
- 【NodeJS】nvm、npm、node安装、使用、淘宝源设置等资料
NodeJS-安装使用淘宝源 管理 node 版本,选择 nvm 还是 n? - WEB前端 - 伯乐在线 creationix/nvm: Node Version Manager - Simple ...
- matlab使用常犯的错误
总是在最后关掉的时候忘了保存工作空间 save... 我用的版本R2013a 每次要setpath...!!!!!!!!!!
- Android动态加入控件约束位置
用LayoutParams: RelativeLayout insertLayout = (RelativeLayout)view1.findViewById(R.id.screen);//scree ...