树莓派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
相关推荐
知否技术13 分钟前
第3方系统扫码绑定微信公众号,附源码!
后端
天天摸鱼的java工程师16 分钟前
CTO新项目直接上MySQL 8.0,老系统仍是5.7
java·后端·mysql
一张假钞22 分钟前
Linux 下 ChromeDriver 安装
linux·运维·服务器
love530love22 分钟前
【笔记】Windows 下载并安装 ChromeDriver
人工智能·windows·笔记·python·深度学习
FogLetter23 分钟前
JavaScript 的历史:从网页点缀到改变世界的编程语言
前端·javascript·http
shark-chili25 分钟前
Java并发编程哲学系列汇总
linux·运维·服务器·操作系统
00后程序员张34 分钟前
移动网页调试的多元路径:WebDebugX 与其他调试工具的组合使用策略
websocket·网络协议·tcp/ip·http·网络安全·https·udp
未来影子34 分钟前
SpringAI(GA):Nacos2下的分布式MCP
后端
用户8681812480434 分钟前
【ruoyi-vue-pro】用户相关的设计
后端
qq_2430507940 分钟前
rtpmixsound:实现音频混音攻击!全参数详细教程!Kali Linux教程!
linux·web安全·网络安全·黑客·渗透测试·voip·kali linux