畅玩树莓派4B(二)树莓派搭建无线路由器(支持5GWIFI) 您所在的位置:网站首页 ns能用5gwifi吗 畅玩树莓派4B(二)树莓派搭建无线路由器(支持5GWIFI)

畅玩树莓派4B(二)树莓派搭建无线路由器(支持5GWIFI)

2024-07-11 06:18| 来源: 网络整理| 查看: 265

畅玩树莓派4B(二)树莓派搭建无线路由器(支持5GWIFI) 一、工具安装二、网卡配置三、DHCP和DNS配置四、配置转发五、配置hostapd

树莓派4B拥有千兆有线网络和5G无线网络。因此本篇文章将配置树莓派为无线路由器 (不务正业) 。

一、工具安装

首先通过SSH连接到树莓派。(系统安装和SSH配置、连接可以参考本系列的一篇博客) 修改软件源

sudo nano /etc/apt/sources.list

注释原有的几个源。 注意红框中的内容,因为树莓派系统的版本不同这个可能为bullseye、buster之类的。如果打开/etc/apt/sources.list在红框位置看到的是bullseye,在后面添加:

deb https://mirror.nju.edu.cn/debian/ bullseye main contrib non-free deb https://mirror.nju.edu.cn/debian-security/ bullseye-security main contrib non-free deb https://mirror.nju.edu.cn/debian bullseye-updates main contrib non-free

如果是buster,

deb https://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free rpi deb-src https://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free rpi

在这里插入图片描述 执行下面的命令安装搭建路由需要的工具。

sudo apt-get update sudo apt-get install -y hostapd dnsmasq iptables dnsutils 二、网卡配置

在配置路由前,需要先配置一下树莓派的网卡。 编辑 /etc/network/interfaces,添加:

auto wlan0 allow-hotplug wlan0 iface wlan0 inet static address 192.168.90.1 netmask 255.255.255.0

配置WLAN区域:

sudo raspi-config

1 System Options -> S1 Wireless LAN 选择US。 然后点TAB,选择Cancel。 按照提示重启树莓派。

三、DHCP和DNS配置

配置/etc/dnsmasq.conf

sudo cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak sudo nano /etc/dnsmasq.conf

配置文件的示例如下

# DHCP interface=wlan0 bind-interfaces dhcp-range=192.168.90.100,192.168.90.200,48h # DNS log-queries log-facility=/home/pi/logs/dnsmasq.log no-hosts clear-on-reload dns-forward-max=1000 all-servers server=8.8.8.8 server=208.67.222.222 server=4.2.2.1

配置完成后执行sudo service dnsmasq restart重启dnsmasq服务。 可通过sudo tail -f /home/pi/logs/dnsmasq.log查看dns解析信息。 可选配置国内域名全部走国内DNS服务器解析。这里选择Github上的felixonmars/dnsmasq-china-list。 把下面的223.5.5.5修改为运营商dns服务器或国内的其他DNS服务器。 执行这一步会比较慢(Github访问看具体的网络)

sudo bash -c "curl -s https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/accelerated-domains.china.conf | sed 's/114.114.114.114/223.5.5.5/g' > /etc/dnsmasq.d/accelerated-domains.china.conf"

如果不需要更换(就用114的话)

sudo bash -c "curl -s https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/accelerated-domains.china.conf > /etc/dnsmasq.d/accelerated-domains.china.conf"

选择Github上的privacy-protection-tools/anti-AD禁广告

sudo bash -c "curl -s https://raw.githubusercontent.com/privacy-protection-tools/anti-AD/master/adblock-for-dnsmasq.conf > /etc/dnsmasq.d/adblock-for-dnsmasq.conf"

或者

sudo bash -c "curl -s https://anti-ad.net/anti-ad-for-dnsmasq.conf > /etc/dnsmasq.d/adblock-for-dnsmasq.conf" 四、配置转发

IPV4转发 编辑文件/etc/sysctl.conf,去掉net.ipv4.ip_forward=1的注释。 在这里插入图片描述 执行sudo sysctl -p生效

配置NAT

sudo iptables -F sudo iptables -X sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT sudo bash -c "iptables-save > /etc/iptables.rules"

编辑/etc/rc.local,添加:

sudo bash -c "iptables-restore < /etc/iptables.rules" 五、配置hostapd

编辑配置文件/etc/hostapd/hostapd.conf。 这里提供一个配置5G WIFI(802.11ac)的模板。

# 网卡,一般就是wlan0不用修改,除非使用了外接的无线网卡。 interface=wlan0 # 不用修改 driver=nl80211 # 5G hw_mode=a # 启用 802.11n ieee80211n=1 # 启用 802.11ac ieee80211ac=1 # 启用 802.11d ieee80211d=1 # 启用 802.11h ieee80211h=1 # 其他的国家代码似乎会出错 country_code=US # (Wi-Fi MultiMedia) 多媒体优化,优先传输时间敏感型数据 wmm_enabled=1 # 信道。可选[36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161, 165] channel=149 # (high-throughput 高吞吐量) 802.11n的带宽扩展技术 require_ht=1 # (very high throughput) 802.11ac的带宽扩展技术 require_vht=1 # 工作带宽 40MHz vht_oper_chwidth=1 # channel+6 vht_oper_centr_freq_seg0_idx=155 # 查看本小节后面的说明(硬件支持) ht_capab= # 查看本小节后面的说明(硬件支持) vht_capab= # 认证方式:WPA2-PSK wpa=2 wpa_key_mgmt=WPA-PSK # 加密方式:CCMP rsn_pairwise=CCMP # WIFI信息(根据自己的需求修改) # wifi名称(就是搜索WIFI时显示的名字) ssid=RASPI-WIFI # wifi密码(就是连接WIFI时输入的密码)(必须8位以上,也就是最少输8个字母或数字) wpa_passphrase=12345678

上面的配置中,ht_capab和vht_capab的内容与硬件支持密切相关。 实在看不懂ht_capab和vht_capab配置的也可以一个一个的添加、测试,测试通过则保留,不通过则删除。 我们需要执行下面代码查看硬件的支持情况:

iw phy phy0 info

找到Capabilities,如下图所示: 在这里插入图片描述 根据系统返回的信息,对照下面的ht_capab选项进行配置。(没有翻译是因为方便对照着系统的网卡信息进行配置)

[LDPC] LDPC coding capability [HT40-][HT40+] [HT40-] = both 20 MHz and 40 MHz with secondary channel below the primary channel; [HT40+] = both 20 MHz and 40 MHz with secondary channel above the primary channel; (20 MHz only if neither is set) [SHORT-GI-20] Short GI for 20 MHz [SHORT-GI-40] Short GI for 40 MHz [TX-STBC] Tx STBC [RX-STBC1][RX-STBC12][RX-STBC123] Rx STBC [DELAYED-BA] HT-delayed Block Ack [MAX-AMSDU-7935] Maximum A-MSDU length (3839 octets if not set) [DSSS_CCK-40] DSSS/CCK Mode in 40 MHz [40-INTOLERANT] 40 MHz intolerant [LSIG-TXOP-PROT] L-SIG TXOP protection support

举例:比如说看到了红框里的 RX HT40 SGI,对照关键词,就可以填上[SHORT-GI-40](SHORT-GI简写SGI)。看到了红框里的 No RX STBC,关键词No,没有,所以就不添加[RX-STBCxxx](添加了测试时它就会报错)。

根据图示硬件信息和选项,我的ht_capab配置为:

ht_capab=[HT40-][HT40+][SHORT-GI-20][SHORT-GI-40][DSSS_CCK-40]

我同时配置了[HT40-][HT40+]并没有发生冲突,可能是他自动选择了一个。如果有冲突,看信道情况删除一个。配置了HT40后,2.4G和5G都只有部分信道可用。

回到上面的系统信息,找到VHT Capabilities,如下图所示: 在这里插入图片描述

对照下面的vht_capab选项进行配置。

[MAX-MPDU-3895][MAX-MPDU-7991][MAX-MPDU-11454] Indicates maximum MPDU length [VHT160][VHT160-80PLUS80] Indicates supported Channel widths [RXLDPC] Rx LDPC coding capability. [SHORT-GI-80] Short GI for 80 MHz [SHORT-GI-160] Short GI for 160 MHz [TX-STBC-2BY1] Tx STBC [RX-STBC-1][RX-STBC-12][RX-STBC-123][RX-STBC-1234] Rx STBC: [SU-BEAMFORMER] SU Beamformer Capable [SU-BEAMFORMEE] SU Beamformee Capable [BF-ANTENNA-2][BF-ANTENNA-3][BF-ANTENNA-4] Compressed Steering Number of Beamformer Antennas Supported If SU beamformer capable, set to maximum value minus 1 [SOUNDING-DIMENSION-2][SOUNDING-DIMENSION-3][SOUNDING-DIMENSION-4] Number of Sounding Dimensions [MU-BEAMFORMER] MU Beamformer Capable [VHT-TXOP-PS] VHT TXOP PS [HTC-VHT] +HTC-VHT Capable Indicates whether or not the STA supports receiving a VHT variant HT Control field. [MAX-A-MPDU-LEN-EXP0][MAX-A-MPDU-LEN-EXP7] Maximum A-MPDU Length Exponent [VHT-LINK-ADAPT2][VHT-LINK-ADAPT3] VHT Link Adaptation Capable [RX-ANTENNA-PATTERN] Rx Antenna Pattern Consistency [TX-ANTENNA-PATTERN] Tx Antenna Pattern Consistency

根据图示硬件信息和选项,我的vht_capab配置为:

vht_capab=[MAX-MPDU-3895][SHORT-GI-80][SU-BEAMFORMEE]

验证配置是否正确,执行下面的命令。

sudo hostapd /etc/hostapd/hostapd.conf

如果没有出错,你会看到AP-ENABLED字样。 这时,你可以在Windows系统连接wifi后在cmd里执行:

netsh wlan show interfaces

这时就能看到,已经成功开启了5G的热点。 在这里插入图片描述 至此已经成功把树莓派配置成无线路由器了,用手机连接看一下,效果也很OK。 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有