Linux wifi热点服务的设置
使用有线+无线的linux设备做热点。
Linux wifi热点服务的设置
使用Linux系统(以Ubuntu为例),通过有线网卡上网,使用无线网卡做热点。具体使用hostapd、udhcpd来实现。
一、说明
hostapd
:提供热点服务。
udhcpd
:提供DHCP server服务,给客户端分配IP。
iptables
:防火墙需要打通客户端通讯。
二、准备与安装
(一)检查
$ iw list # 查看Supported interface modes里有没有AP!没有则无法做热点
$ ifconfig -a # 记录网络名称。本文例如有线网卡enp1s0;无线网卡wlan0
(二)安装
$ apt-get install hostapd udhcpd
三、配置
(一)udhcpd(动态IP分配服务)
$ vim /etc/udhcpd.conf
start 192.168.0.20
end 192.168.0.254
interface wlan0
lease_file /var/lib/misc/udhcpd.leases
pidfile /var/run/udhcpd.pid
opt dns 114.114.114.114 8.8.8.8
option subnet 255.255.255.0
opt router 192.168.0.1
option domain local
option lease 864000
$ vim /etc/default/udhcpd
# DHCPD_ENABLED="no" # 添加注释,屏蔽掉。
(二)hostapd(热点服务)
$ vim /etc/hostapd/hostapd.conf
# 注意:字符串不能加""号!
interface=wlan0
driver=nl80211
hw_mode=a # a是5G,g是2.4G
channel=0 # 0是自动
ieee80211d=1 # 根据国家码设置信道和频率
country_code=FR # 国家码,不同国家有不同信道和频率
ieee80211n=1
ieee80211ac=1
wmm_enabled=1 # 可提升5G速度
ssid=WIFINAME
ignore_broadcast_ssid=1 # 不广播SSID
macaddr_acl=0 # 不用MAC地址过滤
auth_algs=3 # 验证,1开放系统验证,2共享秘钥验证,3两者
wpa=2
wpa_passphrase=12345678 # 密码,不少于8位!
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=TKIP CCMP
$ vim /etc/default/hostapd
DAEMON_CONF="/etc/hostapd/hostapd.conf" # 取消注释,指定配置文件
(三)开启转发
$ vim /etc/sysctl.conf
# 注sysctl可以修改内核参数。
net.ipv4.ip_forward=1 # 取消注释,开启
四、防火墙设置与启动运行
新建启动脚本,记得 chmod +x
#!/bin/sh
ifconfig wlan0 192.168.0.1
iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE
iptables -A FORWARD -i enp1s0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -o enp1s0 -j ACCEPT
udhcpd /etc/udhcpd.conf &
hostapd /etc/hostapd/hostapd.conf -B
# 如果有线网络已绑定固定mac地址,需要修改网卡mac:
# ifconfig enp1s0 hw ether 50:7B:9D:D5:DC:D8
# ifconfig enp1s0 up
exit 0
最后修改于 2024-02-24