用hostapd开启无线WIFI与手机共享

一 安装必要软件
安装hostapd : sudo apt-get install hostapd
安装DHCP: sudo apt-get install dhcp3-server

二 配置HOSTAPD

新建hostapd.conf 文件,将其存放到:/etc/hostapd/hostapd.conf ,文件内容如下:
interface=wlan0
driver=nl80211
ssid=XXXXXX
hw_mode=g
channel=10
macaddr_acl=0
auth_algs=3
wpa=2
wpa_passphrase=XXXXXX
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=TKIP CCMP
##其中ssid指无线热点名字,wpa_passphrase指密码。

三 配置DHCP
修改/etc/dhcp/dhcpd.conf,在末尾添加:
subnet 192.168.0.0 netmask 255.255.255.0
{
range 192.168.0.2 192.168.0.10;
option routers 192.168.0.1;
option domain-name-servers 8.8.8.8;
}

##其中domain-name-servers后的8.8.8.8是可访问internet的eth0所使用的DNS,可通过代码:nmcli dev list iface eth0 | grep IP4 获得。

四 启动相关服务
1、启动hostapd: sudo hostapd -B /etc/hostapd/hostapd.conf如果要重新启动需要先用代码:sudo killall hostapd 关闭,然后再上面的代码启动。
2、设置无线网卡:sudo ifconfig wlan0 192.168.0.1 netmask 255.255.255.0
3、启动dhcp-server:sudo dhcpd wlan0 -pf /var/run/dhcp-server/dhcpd.pid
4、打开IP转发:sudo bash -c “echo 1 >/proc/sys/net/ipv4/ip_forward”
5、设置NAT:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
至此,无线热点设置完成。

如发现重启后无法使用,重新在终端里运行四中的1-5的命令就可以了。

没这么麻烦吧?在网络管理里面设置无线的ad-hoc共享即可。

安卓手机不支持AD HOC的。

楼主是模拟access point,楼上是建立ad-hoc;P

不同点在支持的终端机的多少而矣,最终目的都是一样的。

这个很实用:7_145:

收藏,备用……

安卓默认支持前者,后者收不到信号的。这个很重要。

网上不是有很多安卓AD-hoc补丁吗,比这个方便吧

不是很想ROOT手机.

那到是,不过应该把这个也提出来,也有人图方便的,比如我,不过对于lz介绍的经验还是很赞。

谢了,我是新手,成功了就跟别人分享下,顺便让自己记得更好.

:3_59:一直很纠结UbuntuKylin下的wifi共享问题,感谢LZ的分享!先收藏了,回头试试看~

嗯,有问题可以一起讨论下,我现在就在烦,怎么才能简化重启后开启的步骤呢.

谢谢楼主分享~~现在试试看~

写个脚本 开机自启动:4_96:

收藏备用,不过还是带个mini路由器方便

sudo hostapd -B /etc/hostapd/hostapd.conf得
“Configuration file: /etc/hostapd/hostapd.conf
Could not read interface wlan0 flags: No such device
nl80211 driver initialization failed.”
请问有办法解决吗?在官网看到2.0的下载编译安装后hostapd -v还是显示1.0版,不知我的网卡如何加载nl80211驱动

mark一下,备用~:5_108:

无配置全自动脚本。
https://github.com/eexpress/eexp-bin/blob/master/ap.bash
需要安装 dhcp3-server 和 hostapd。