项目运行环境
- 系统环境:Raspberry 4B | 2019-09-26-raspbian-buster-lite
- 参考借鉴:将Raspberry Pi设置为无线访问点 | 从零开始打造支持原生IPv6的无线路由
安装所需软件
主机系统Debian Buster,有两个有线网卡,一个无线网卡
eth0通过网线接入互联网,eth0与wlan0作为局域网接入点
桥接eth0和wlan0并设置桥接网卡br-lan为静态IP
通过dnsmasq为接入设备提供内网IP地址分配
使用hostapd来发射热点供设备接入局域网
1 | sudo apt install dnsmasq hostapd bridge-utils |
配置静态地址
- 以下方案选一种即可,推荐方案一
1 | # 根据你选择的方案,先关闭其他方案防止发生冲突 |
- 方案一:通过networking来配置桥接网卡
1 | # ifupdown使用的配置文件:/etc/network/interfaces |
- 方案二:通过systemd-networkd来配置桥接网卡
1 | # systemd-networkd是systemd自带的网络管理方案,可以通过如下来配置 |
- 方案三:通过命令行手动配置桥接网卡
1 | # 网桥的作用是通过桥接两个网卡使它们之间互相连通,下面是它的部分使用命令 |
- 方案五:安装配置dhcpcd来实现静态地址
1 | sudo apt install dhcpcd5 |
配置DHCP服务
- 有多种方案可实现提供DHCP服务,推荐方案一
1 | # 解决dnsmasq启动报错53端口被占用的问题 |
- 方案一:安装配置dnsmasq来提供DHCP服务
1 | # 以下操作为接入的设备提供192.168.1.100到192.168.1.249之间的地址租用24小时 |
- 方案二:安装配置udhcpd来提供DHCP服务
1 | # 编辑/etc/default/udhcpd,找到该行去掉注释并改为为DHCPD_ENABLED="yes" |
配置热点服务
- 指定hostapd的配置文件路径
1 | # 修改 /etc/default/hostapd 中的 #DAEMON_CONF 这行为 |
- 编辑/etc/hostapd/hostapd.conf文件并根据你的情况配置
1 | # 下面两个分别是2.4G和5G频率的例子 |
测试配置文件是否正确以及程序是否可以正常启动:
hostapd -dd /etc/hostapd/hostapd.conf
如测试没有报错那么也可以让热点程序在后台运行:
hostapd -B /etc/hostapd/hostapd.conf
访问外网
- 开启内核转发
1 | # 临时开启内核转发,重启失效 |
- 启用流量转发(如果使用方案一,那么桥接网卡时已设置流量转发,这步可跳过)
1 | # 将来自192.168.1.1/24的流量转发到本机联网的端口eth0 |
- 设置软件开机来自动共享网络
1 | sudo systemctl enable dnsmasq |
- 上述操作完成后重启系统再连接热点便可以访问外网了
扩展知识
eth0不接入网线并配置了
/etc/network/interfaces.d/xxx
,会导致开机等待5分钟。编辑/lib/systemd/system/networking.service
,修改TimeoutStartSec
为1min可以减少等待时间hostapd设置的信道或ht_capab项设置错误可能会出现运行失败导致无法开机自启
- 使用iw list获取网卡信息中对应频段的Capabilities可看它支持什么功能,ht_capab设置越全面,你得到的速度就越快。如果报错或不确定那就牺牲一些速度,删掉报错和不确定的项。
1 | # HT可选项: |
- 举个例子说明下
1 | # 如果使用iw list获取的网卡Capabilities信息如下: |
- 如果
iw reg set US
指定国家码无效,那么请检查下是否安装了wireless-regdb
或者看wpa_supplicant
服务是否已停止了
1 | leux@h88k:~$ sudo iw reg get |
使用iw list可查看网卡支持什么频段的热点:Frequencies里面的频段没有disabled或no IR字样的都可以,只显示no IR就是你的国家码不支持当前频道
如果iw list频段里面全部显示no IR,且
iw reg get
获取到的当前国家码是00,就需要执行iw reg set US
指定国家码设置为澳大利亚可开启更多信道和更强的信号发射功率:
iw reg set AU
,在5G频段的部分信道下,澳大利亚的最大功率限制为1000mW,而中国则是600mW地区设为CN和AU时分别支持的信道:CN:149,153,157,161,165。AU:36,40,44,48,,149,153,157,161,165
无线信号的频率越高波长越短,抗干扰越强传输距离越弱。所以2.4G比5G的传输距离更远但干扰大。
影响信号和穿墙的主要因素有两个:无线信号的发射功率越大,信号覆盖也就越广。二是天线的增益越高,信号的覆盖面越窄死角也就越多
安装Samba可实现网络文件共享
1 | apt install samba |