树莓派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
相关推荐
网络与设备以及操作系统学习使用者5 分钟前
vi与vim在openEuler中的差异及应用
linux·运维·网络·学习·vim
万少8 分钟前
万少的 Claude Code 入门教程
前端·人工智能·后端
2401_868534789 分钟前
30个网络工程师面试题
网络·智能路由器
专注VB编程开发20年9 分钟前
python运行提速方案全解
java·linux·服务器
相思难忘成疾10 分钟前
Ubuntu 入门:安装、网络、软件一站式教程
linux·网络·ubuntu
malog_11 分钟前
Milvus向量数据库:AI时代的搜索革命
数据库·人工智能·后端·milvus
凯瑟琳.奥古斯特20 分钟前
常见加密算法及应用
java·开发语言·网络·网络协议·职场和发展
hello world 99922 分钟前
【网络问题】网卡发送数据包错误
网络·tcp/ip·计算机网络
CPETW22 分钟前
RS-232 Sniffer 嗅探器 ---- UNI-T电子负载通讯协议抓取-A
网络·科技·stm32·单片机·嵌入式硬件·电子
ylscode22 分钟前
巨齿鲨突袭GitHub:5500余仓库沦陷,开源供应链安全防线再遭重创
运维·服务器·网络·安全·安全威胁分析