分页: 1 / 4

建立无线热点-脚本-AP-hostapd-dhcpd,给没root的android手机使用。

发表于 : 2013-07-12 10:08
eexpress
没root的android手机,使用。
root过的,自己去NetworkManager建立Ad-hoc的。
需要在NM里面开启无线。被NM接管了的wlan0,不好直接up的。
dhcpd 不能使用 -cf,很郁闷。
安装 dhcp3-server 和 hostapd

https://github.com/eexpress/eexp-bin/bl ... er/ap.bash
安装gksu,使用菜单操作
https://github.com/eexpress/eexp-bin/bl ... ap.desktop

代码: 全选

#!/bin/bash

sudo ifconfig wlan0 192.168.0.1 netmask 255.255.255.0
sudo -i sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo pkill -9 dhcpd
sudo -i dhcpd wlan0 -pf /var/run/dhcp-server/dhcpd.pid
#sudo -i dhcpd wlan0 -cf /tmp/dhcpd.conf -pf /var/run/dhcp-server/dhcpd.pid
# ubuntu 下面,居然不能使用 -cf 了。否则也使用/tmp/dhcpd.conf,脚本干净多了。
#● dog /etc/dhcp/dhcpd.conf
#default-lease-time 600;
#max-lease-time 7200;
#subnet 192.168.0.0 netmask 255.255.255.0
#{
# range 192.168.0.2 192.168.0.250;
# option domain-name-servers 8.8.8.8;
# option routers 192.168.0.1;
#}

cat > /tmp/hostapd.conf << EOF
interface=wlan0
#bridge=br0
driver=nl80211
ssid=eexp-hostapd
hw_mode=g
channel=11
#dtim_period=1
#rts_threshold=2347
#fragm_threshold=2346
auth_algs=1
wpa=0
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
EOF
#没开启密码,要开启,wpa=1。
sudo hostapd -d /tmp/hostapd.conf
#为了方便 ctrl-C 断开。hostapd放最后,这样获取IP有点滞后。

Re: 建立无线热点-脚本-AP-hostapd-dhcpd,给没root的android手机使用。

发表于 : 2013-07-12 11:10
oneleaf
呵呵,折腾出来了,有耐心。

Re: 建立无线热点-脚本-AP-hostapd-dhcpd,给没root的android手机使用。

发表于 : 2013-07-12 11:30
eexpress
其实只有-cf的问题啊。叶子测试下-cf为啥不行?
官网论坛也是这问题的。

能不动系统设置,才觉得干净。

Re: 建立无线热点-脚本-AP-hostapd-dhcpd,给没root的android手机使用。

发表于 : 2013-07-12 11:44
oneleaf
应该是 apparmor 限制了,加到这个权限就好了。

Re: 建立无线热点-脚本-AP-hostapd-dhcpd,给没root的android手机使用。

发表于 : 2013-07-12 11:45
oneleaf
具体限制在: /etc/apparmor.d/usr.sbin.dhcpd

Re: 建立无线热点-脚本-AP-hostapd-dhcpd,给没root的android手机使用。

发表于 : 2013-07-12 11:46
eexpress
我试过这个了的。
没成功。
:em20

Re: 建立无线热点-脚本-AP-hostapd-dhcpd,给没root的android手机使用。

发表于 : 2013-07-12 11:54
oneleaf

代码: 全选

sudo ln -s /etc/apparmor.d/usr.sbin.dhcpd /etc/apparmor.d/disable/
sudo /etc/init.d/apparmor restart
然后你再去试试,保证没有问题了。呵呵。

Re: 建立无线热点-脚本-AP-hostapd-dhcpd,给没root的android手机使用。

发表于 : 2013-07-12 13:09
慕荒城
mark

Re: 建立无线热点-脚本-AP-hostapd-dhcpd,给没root的android手机使用。

发表于 : 2013-07-12 13:20
adam8157
ee, 你没有无线路由么...

Re: 建立无线热点-脚本-AP-hostapd-dhcpd,给没root的android手机使用。

发表于 : 2013-07-12 13:26
youzhiyili
mark

Re: 建立无线热点-脚本-AP-hostapd-dhcpd,给没root的android手机使用。

发表于 : 2013-07-12 13:48
eexpress
叶子,这下好了。昨天我是用自己新建的/etc/apparmor.d/usr.bin.dhcpd。今天才看到有sbin的。 :em02

代码: 全选

#!/bin/bash

#● ai hostapd dhcp3-server 
iw list|grep '* AP'
[ $? -ne 0 ] && echo "No device support AP mode." && exit

sudo ifconfig wlan0 192.168.0.1 netmask 255.255.255.0
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
sudo pkill -9 dhcpd

if [ ! -f /etc/apparmor.d/disable/usr.sbin.dhcpd ]; then
sudo ln -s /etc/apparmor.d/usr.sbin.dhcpd /etc/apparmor.d/disable/
sudo /etc/init.d/apparmor restart
fi

cat > /tmp/dhcpd.conf << EOF
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.0.0 netmask 255.255.255.0
{
 range 192.168.0.2 192.168.0.250;
 option domain-name-servers 8.8.8.8;
 option routers 192.168.0.1;
}
EOF
sudo dhcpd wlan0 -cf /tmp/dhcpd.conf -pf /var/run/dhcp-server/dhcpd.pid

cat > /tmp/hostapd.conf << EOF
interface=wlan0
driver=nl80211
ssid=`hostname`-hostapd
hw_mode=g
channel=11
auth_algs=1
# 如果需要开启密码,wpa=1。
wpa=0
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
EOF
sudo hostapd -d /tmp/hostapd.conf
蛋蛋。这是应急用的。
速度比公司的拐弯抹角出去的路由好多了。信号也好多了。
:em02

Re: 建立无线热点-脚本-AP-hostapd-dhcpd,给没root的android手机使用。

发表于 : 2013-07-12 13:59
eexpress
其实eth0应该用这个代替

代码: 全选

ip route get 1.1.1.1 | grep  dev | cut -d' ' -f 5

Re: 建立无线热点-脚本-AP-hostapd-dhcpd,给没root的android手机使用。

发表于 : 2013-07-12 14:12
oneleaf
直接下面,不用管eth0

代码: 全选

sudo iptables -t nat -I POSTROUTING -j MASQUERADE

Re: 建立无线热点-脚本-AP-hostapd-dhcpd,给没root的android手机使用。

发表于 : 2013-07-12 14:14
iamfbi
这个帖子应该要发到手机版块啊。。。啊,手机版在哪里。。。

Re: 建立无线热点-脚本-AP-hostapd-dhcpd,给没root的android手机使用。

发表于 : 2013-07-12 15:08
oneleaf
好吧,开了手机版。