树莓派4B配置wifi热点,可访问http协议

首先需要更换源

bash 复制代码
1、备份sources.list
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
sudo touch /etc/apt/sources.list
2、将下面的代码写入sources.list文件中
sudo echo "deb http://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free rpi" | sudo tee -a /etc/apt/sources.list
sudo echo "deb-src http://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free rpi" | sudo tee -a /etc/apt/sources.list

#dabian:12 使用下面这个
# 默认注释了源码镜像以提高apt update速度,如有需要可自行取消注释
deb https://mirrors4.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors4.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors4.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
deb https://mirrors4.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
#dabian:12 使用下面这个


3、备份raspi.list文件(这个可以不用配置)
sudo mv /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak
sudo touch /etc/apt/sources.list.d/raspi.list
sudo echo "deb http://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free rpi" | sudo tee -a /etc/apt/sources.list.d/raspi.list
sudo echo "deb-src http://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free rpi" | sudo tee -a /etc/apt/sources.list.d/raspi.list

一、安装必要的软件包

bash 复制代码
sudo apt update && sudo apt install hostapd dnsmasq dhcpcd5 -y && sudo systemctl stop hostapd && sudo systemctl stop dnsmasq

二、配置网络接口

bash 复制代码
sudo echo "interface wlan0" | sudo tee -a /etc/dhcpcd.conf && sudo echo "static ip_address=192.168.4.1/24" | sudo tee -a /etc/dhcpcd.conf && sudo echo "nohook wpa_supplicant" | sudo tee -a /etc/dhcpcd.conf

sudo systemctl restart dhcpcd

三、配置dhcp和dns服务

bash 复制代码
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.back && sudo touch /etc/dnsmasq.conf
sudo echo "interface=wlan0" | sudo tee -a /etc/dnsmasq.conf && sudo echo "dhcp-range=192.168.4.2,192.168.4.100,255.255.255.0,24h" | sudo tee -a /etc/dnsmasq.conf && sudo echo "dhcp-option=3,192.168.4.1" | sudo tee -a /etc/dnsmasq.conf && sudo echo "dhcp-option=6,8.8.8.8" | sudo tee -a /etc/dnsmasq.conf && sudo echo "server=8.8.8.8" | sudo tee -a /etc/dnsmasq.conf && sudo echo "log-queries" | sudo tee -a /etc/dnsmasq.conf && sudo echo "log-dhcp" | sudo tee -a /etc/dnsmasq.conf 

四、配置wifi热点(先判断文件是否存在)

bash 复制代码
sudo touch /etc/hostapd/hostapd.conf
sudo echo "country_code=CN" | sudo tee -a /etc/hostapd/hostapd.conf && sudo echo "interface=wlan0" | sudo tee -a /etc/hostapd/hostapd.conf && sudo echo "ssid=zhiRaspbeery" | sudo tee -a /etc/hostapd/hostapd.conf && sudo echo "hw_mode=g" | sudo tee -a /etc/hostapd/hostapd.conf && sudo echo "channel=6" | sudo tee -a /etc/hostapd/hostapd.conf && sudo echo "macaddr_acl=0" | sudo tee -a /etc/hostapd/hostapd.conf && sudo echo "auth_algs=1" | sudo tee -a /etc/hostapd/hostapd.conf && sudo echo "ignore_broadcast_ssid=0" | sudo tee -a /etc/hostapd/hostapd.conf && sudo echo "wpa=2" | sudo tee -a /etc/hostapd/hostapd.conf && sudo echo "wpa_passphrase=12345678" | sudo tee -a /etc/hostapd/hostapd.conf && sudo echo "wpa_key_mgmt=WPA-PSK" | sudo tee -a /etc/hostapd/hostapd.conf && sudo echo "wpa_pairwise=TKIP" | sudo tee -a /etc/hostapd/hostapd.conf && sudo echo "rsn_pairwise=CCMP" | sudo tee -a /etc/hostapd/hostapd.conf 

echo "DAEMON_CONF=\"/etc/hostapd/hostapd.conf\"" | sudo tee -a /etc/default/hostapd # 将上面的文件挂在到hostapd文件中

sudo systemctl unmask hostapd && sudo rfkill list && sudo rfkill unblock wlan && sudo systemctl restart networking && sudo systemctl restart hostapd

五、启用IP转发和防火墙规则

1、启用IP转发(将wifi网卡指向有线网卡)

bash 复制代码
sudo echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

2、防火墙规则

BASH 复制代码
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 sh -c "iptables-save > /etc/iptables.ipv4.nat"
# 编辑 /etc/rc.local 文件,在 exit 0 之前添加以下行,以在系统启动时恢复防火墙规则:
sudo echo "iptables-restore < /etc/iptables.ipv4.nat" | sudo tee -a /etc/rc.local

六、启动

bash 复制代码
sudo systemctl start hostapd
sudo systemctl start dnsmasq
sudo systemctl enable hostapd
sudo systemctl enable dnsmasq
相关推荐
qq_4017004113 小时前
Linux文件锁解决多进程并发
linux·服务器·算法
雨中飘荡的记忆13 小时前
Spring状态机深度解析
java·后端·spring
夜来小雨13 小时前
华为防火墙特征库无法升级
网络
南棱笑笑生13 小时前
20251213给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时适配type-C0
linux·c语言·开发语言·rockchip
皓空揽月13 小时前
windows安装hbase1.2.6(图文教程)
windows
何中应14 小时前
【面试题-5】设计模式
java·开发语言·后端·设计模式·面试题
盼哥PyAI实验室14 小时前
12306反反爬虫策略:Python网络请求优化实战
网络·爬虫·python
Kiri霧14 小时前
Go包基础与使用指南
开发语言·后端·golang
重生之后端学习14 小时前
56. 合并区间
java·数据结构·后端·算法·leetcode·职场和发展
znhy605815 小时前
分布计算系统
网络·分布式