前期准备
首先要解除NetworkManager对wlan0的占用,先nmcli -s记下wlan0的mac地址,比如ff:ff:ff:ff:ff:ff,编辑/etc/NetworkManager/NetworkManager.conf,改一下下面的字段,把你的wlan0划为unmanageable-devices
groovy
| 1 2 | [keyfile] unmanaged-devices=mac:ff:ff:ff:ff:ff:ff |
最后重启NetworkManager生效
routeros
| 1 | sudo service NetworkManager restart |
配置WiFi
然后我们安装hostapd、bridge-utils
mipsasm
| 1 | sudo apt-get install hostapd bridge-utils -y |
hostapd负责发射WiFi,先编辑他的配置文件/etc/default/hostapd,去掉下面这行注释并修改
ini
Copy successfully
| 1 | DAEMON_CONF=”/etc/hostapd/hostapd.conf” |
再编辑他的配置文件/etc/hostapd/hostapd.conf,我把我的配置粘贴一下
ini
Copy successfully
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | interface=wlan0 bridge=br0 driver=nl80211 ssid=Armbian hw_mode=g channel=7 wmm_enabled=0 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=1234567890 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP |
最后启动hostapd
css
Copy successfully
| 1 | sudo systemctl start hostapd.service && sudo systemctl enable hostapd.service |
打开你的手机搜索WiFi试试,能不能搜到WiFi。搜到就行了,连不上的,因为wlan0啥都不是,下面要做桥接。
配置eth0和wlan0桥接
编辑/etc/network/interfaces,我直接贴出我完整的配置
apache
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | source /etc/network/interfaces.d/* auto lo br0 iface lo inet loopback allow-hotplug wlan0 iface wlan0 inet manual # eth0 connected to the ISP router allow-hotplug eth0 iface eth0 inet manual # Setup bridge auto br0 iface br0 inet dhcp bridge_ports eth0 wlan0 bridge_stp off bridge_maxwait 0 |
重启生效
ebnf
| 1 | reboot |
到此结束~
解决办法:(参考:Failed to start hostapd.service: Unit hostapd.service is masked – 简书 (jianshu.com))
$sudo systemctl unmask hostapd
$sudo systemctl enable hostapd
$sudo systemctl start hostapd