Linux开启热点相关hostapd+dnsmasq
准备工作:使用包管理器安装hostapd和dnsmasq
配置文件都是完整的,可以直接清空默认配置粘贴过去
hostapd(5G)参考配置文件,一般在/etc/hostapd/hostapd.conf
interface=wlan0 # 网卡名称
driver=nl80211 # 驱动
ssid=wireless_name # 热点名称
country_code=CN # 区域
hw_mode=a # 协议
ieee80211ac=1 # 80211ac 433Mbps
channel=149 # 信道
dnsmasq参考配置文件,一般在/etc/dnsmasq.conf
dhcp-range=192.168.10.1,192.168.10.253,255.255.255.0,24h # dhcp范围,地址租期
dhcp-option=3,192.168.10.254 # 网关,也就是ap自身的ip地址
dhcp-option=6,223.5.5.5,119.29.29.29 # dhcp分配给客户端的dns
接着启动服务:
systemctl start hostapd && systemctl start dnsmasq
设为开机自启动:
systemctl enable hostapd && systemctl enable dnsmasq
开启网卡,将网关ip地址分配给wlan0:
ip link set wlan0 up && ip addr replace 192.168.10.254/24 dev wlan0
现在就可以正常连接到wifi了,但是还不能上网,需要上网还要配置nat转发
需要把来自wlan0的请求转发到有网络的接口上,比如eth0,记得留意自己的网卡名称,不要看都不看就复制粘贴了。
看看ipv4转发有没有开启:
cat /proc/sys/net/ipv4/ip_forward
如果是0,需要执行:
echo 1 > /proc/sys/net/ipv4/ip_forward
添加nat规则:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
现在应该就能正常上网了。
需要开机自启动可以写个systemd服务,这些命令执行没有任何顺序要求。