<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">參考:</span>
http://forum.cubietech.com/forum.php?mod=viewthread&tid=1992和
https://www.kochiyaocean.org/linux-set-softap-using-hostapd/
CubieTruck爲Cubieez系統;
1、安裝配置hostapd,需使用2.1版本,默認安裝版本有問題:
apt-get remove --purge hostapd //卸載原來的安裝,原來沒安裝就不用這句
apt-get install hostapd //安裝,切記不要運行
2、下載2.1版本
https://github.com/igorpecovnik/Cubietruck-Debian/raw/master/bin/hostapd21.tgz
解壓縮並進入文件夾,覆蓋原來已安裝的文件
mv /usr/sbin/hostapd /usr/sbin/hostapd.original
mv hostapd /usr/sbin/hostapd.edimax
ln -sf /usr/sbin/hostapd.edimax /usr/sbin/hostapd
chown root.root /usr/sbin/hostapd
chmod 755 /usr/sbin/hostapd
cd /usr/sbin
ldd ./hostapd
4、安裝配置libnl1.1.4
下載地址:http://www.infradead.org/~tgr/libnl/ 下載libnl-1.1.4.tar.gz文件並解壓,在cubietruck中編譯並安裝:
tar –zxvf libnl-1.1.4.tar.gz
cd libnl-1.1.4
./configure
make
make install
複製 /usr/local/lib/libnl.so.1 文件到到 /lib/arm-linux-gnueabihf/下
4、查看當前hostapd版本,如果顯示爲2.1則安裝正確
hostapd -v
5、設置無線網卡
修改 /etc/modules 文件,在最後添加:
bcmdhd op_mode=2
開啓無線網卡的AP模式,重啓;
設置無線網卡ip:
ifconfig //查看無線網卡名稱,我的是wlan1
ifconfig wlan1 192.168.2.1/24 up //設置ip地址
附,因hostapd版本太新,與其它的驅動有衝突。運行下面的指令解決:
nmcli nm wifi off
rfkill unblock wlan
6、添加hostapd配置文件:/etc/hostapd/hostapd.conf
interface=wlan1 //無線網卡
driver=nl80211
ssid=cubietruck //熱點名稱
channel=1 //信道
hw_mode=g
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2 //加密方式
wpa_passphrase=12345678 //無線密碼
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
rsn_pairwise=CCMP
wpa_ptk_rekey=600
#ieee80211n=1
7、修改hostapd設置文件: /etc/default/hostapd 最後添加:
DAEMON_CONF=”/etc/hostapd/hostapd.conf”
8、啓動hostapd
service hostapd start
此時應該能搜索到wifi熱點了。
///////安裝配置DHCP和NAT轉發
9、打開ipv4內核轉發
修改 /etc/sysctl.conf文件,添加
net.ipv4.ip_forward = 1
保存後應用設置sysctl -p
10、安裝配置 dnsmasq
apt-get install dnsmasq
修改配置文件 /etc/dnsmasq.conf,添加如下內容:interface=wlan1 #interface 名稱
bind-interfaces
dhcp-range=192.168.2.100,192.168.2.200,24h #應該和上面分配的 ip 地址和子網掩碼相符
dhcp-option = 6,8.8.8.8,8.8.4.4 # DNS 地址
注意修改dns地址
保存後啓動:
service dnsmasq start
11、打開NAT轉發
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
可將這個命令寫入 rc.local 使其開機時執行。