树莓派4B上创建WiFi热点(真实可用)
第一步:
给树梅派4B刷写系统,我用的是目前最新的官方系统,镜像名称为2021-01-11-raspios-buster-armhf.img。第一次进系统时请正确选择语言、国家、时区等等
系统超时空链接:
https://releases.ubuntu-mate.org/focal/armhf/ubuntu-mate-20.04.1-desktop-armhf+raspi.img.xz
用eth0连网
给树莓派连上网线,根据实际网络环境使用dhcp自动获取IP或者设置eth0的静态IP,在电脑CMD里面输入“arp -a
”查看
固定wlan0的IP
编辑文件sudo nano /etc/dhcpcd.conf
, 添加如下配置(可以用vi、vim编辑,我是习惯用nano)
interface wlan0
static ip_address=192.168.6.1/24#ip设为自己想的
nohook wpa_supplicant
添加完配置就“CTL+O
"保存,“CTL+X
"退出
现在重启dhcpcd守护进程:
sudo systemctl restart dhcpcd
安装dnsmasq,设置DHCP服务
使用命令sudo apt-get install dnsmasq
安装dnsmasq,编辑sudo nano /etc/dnsmasq.conf
,添加如下配置:
listen-address=127.0.0.1,192.168.6.1
interface=wlan0
dhcp-range=192.168.6.50,192.168.6.150,12h
以上192.168.6.X的 ip可以根据个人需要设置
运行命令sudo systemctl reload dnsmasq
来启用
开启包转发、NAT
Linux系统默认关闭了IP包转发,因此不能做路由器。所以需要先打开包转发编辑sudo nano /etc/sysctl.conf
,去掉以下属性前的注释:
net.ipv4.ip_forward=1
添加完配置就“CTL+O
"保存,“CTL+X
"退出,运行sudo sysctl -p
来启用
之后运行
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
来启用eth0端口的NAT
配置防火墙
上一步过程中,我们启用了一条防火墙规则,但是防火墙规则重启后就丢失了,为了能够规则开机自动加载,我们可以使用iptables-persistent
。
用命令
sudo apt-get install iptables-persistent
来安装该组件,该组件默认会将防火墙规则保存到sudo nano /etc/iptables/rules.v4
中。你可以使用如下命令保存和读入规则:
#保存现有规则
sudo service netfilter-persistent save
#读取并应用先有规则
sudo service netfilter-persistent reload
配置hostapd
启用WIFI热点,本文使用的是hostapd。
首先,用命令
sudo apt-get install hostapd
安装它(安装时如果出现无法下载软件包的情况,请尝试更换为国内软件源,如阿里、中科大的源),然后增加配置文件sudo nano /etc/hostapd/hostapd.conf
如下:
interface=wlan0
driver=nl80211
hw_mode=a
ieee80211n=1
ieee80211ac=1
ieee80211d=1
ieee80211h=1
require_ht=1
require_vht=1
wmm_enabled=1
country_code=US
vht_oper_chwidth=1
channel=149
vht_oper_centr_freq_seg0_idx=155
ht_capab=[HT40-][HT40+][SHORT-GI-40][DSSS_CCK-40]
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
ssid=wifi名称
wpa_passphrase=12345678
*请更改其中的ssid和wpa_passphrase属性,分别为无线AP的名称和密码。注意country_code=US这行必须有,更换为其他国家代码似乎都不行。
附注:如果以上跟新不成功,就更换默认源为阿里云更新源*
编辑
sudo nano /etc/apt/sources.list
文件,删除原有内容,添加如下内容:
deb http://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free rpi
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free rpi
然后执行一下命令
sudo apt-get update
更新
之后运行命令sudo hostapd -d /etc/hostapd/hostapd.conf
来观察测试,没有错误可以连接,就OK了。 CTRL+C后,编辑sudo nano /etc/default/hostapd
,改变DAEMON_CONF的配置如下
DAEMON_CONF="/etc/hostapd/hostapd.conf"
启动AP功能
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd
关机重启一下,看看AP是否能够启动起来。如果正常就OK了。
进入远程
使用官方的软件“pytty"连接,连接树莓派的热点,然后再打开远程软件,IP为你刚才所设置的,输入链接即可
以下内容应该同样适用于树莓派3B+。