把树莓派改造成无线软路由器(2)-----无线路由器模式(独立无线路由器)
本文目录
- 1、准备工作
- 2、安装无线AP和管理软件
- 3、设置网络路由
- 3.1、树莓派的无线网络接口IP配置
- 3.2、启用路由和IP伪装
- 3.3、为无线网络配置DHCP和DNS服务
- 4、确认无线配置
- 5、配置 AP 软件
- 6、运行wifi无线AP
树莓派可用作网络中的一个wifi无线路由器。让使用无线接入的计算机和设备可以接入网络。
如下图所示,本来的已经就有了一个带路由器能独立上网的网络了,只是这个网络不带无线功能。现在我们可以用一个树莓派设置成一个独立的wifi无线路由器,给这个网络下增加一个独立的无线网络,让笔记本电脑可以通过wifi无线上网。
+- RPi -------++---+ 10.10.0.2 | +- Laptop ----+| | WLAN AP +-))) (((-+ WLAN Client || | 192.168.4.1 | | 192.168.4.2 || +-------------+ +-------------++- Router ----+ || Firewall | | +- PC#2 ------+
(Internet)---WAN-+ DHCP server +-LAN-+---+ 10.10.0.3 || 10.10.0.1 | | +-------------++-------------+ || +- PC#1 ------++---+ 10.10.0.4 |+-------------+
树莓派4、树莓派 3 或者 树莓派 Zero W 都内置了无线功能(如果你的树莓派不支持无线功能 ,那么你可以在你的树莓派连接上一个支持接入点模式的USB 无线网卡)都可以用于创建wifi无线AP。
本文档描述的方法在:最新树莓派OS bullseys + 树莓派 zero W上测试通过过,和本文学唯一的区别就是有线以太网络使用的是192.168.3.xxx网段。
1、准备工作
- 树莓派的管理员权限
- 最好是,通过直接将屏幕和键盘连接到树莓派的本地访问模式(免得设置过程中因为ip的变化导致ssh连接中断)
- 树莓派已经连接到以太网并正常启动
- 升级到最新的树莓派操作系统,如果在此配置过程中安装了软件包,则记得重启树莓派,确保安装正确完成。
- 当前的网络配置为:
- 树莓派连接的以太网网络的 IP 配置:
在以太网 LAN 上配置了 IP 网络10.10.0.0/24,树莓派将为192.168.4.0/24无线客户端管理 IP 网络。 - 准备好无线客户端设备,比如笔记本电脑、智能手机等,用于测试wifi无线AP是不是配置成功。
2、安装无线AP和管理软件
- 安装hostapd接入点软件包:
sudo apt install hostapd
- 启用无线接入点服务并将其设置为在树莓派启动时自动启动:
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
- 为了给无线客户端提供网络管理服务(DNS、DHCP),树莓派需要安装软件包dnsmasq:
sudo apt install dnsmasq
- 最后,安装netfilter-persistent及其插件iptables-persistent。这二个程序用于保存防火墙规则并在 Raspberry Pi 启动时恢复它们:
sudo DEBIAN_FRONTEND=noninteractive apt install -y netfilter-persistent iptables-persistent
软件安装完成。稍后我们将配置软件包。
3、设置网络路由
在这个配置里树莓派将运行和管理一个独立的无线网络。它还在无线网络和以太网网络之间提供路由功能,为无线客户端提供互联网访问。如果你不需要无线终端可以访问互联网,那么你可以跳过下面的“启用路由和 IP 伪装”这个设置,这样树莓派就不会有路由功能,那么树莓派就会带起一个独立的无线网络。
3.1、树莓派的无线网络接口IP配置
树莓派为无线网络运行一个DHCP服务器;树莓派的无线网卡wlan0需要配置成静态IP 。树莓派这时是做为这个无线网络上的路由器,一般都会配置成这个IP子网里的第一个IP地址:192.168.4.1。
我们需要修改配置文件dhcpcd:
sudo vi /etc/dhcpcd.conf
在文件末尾添加以下内容:
interface wlan0static ip_address=192.168.4.1/24nohook wpa_supplicant
3.2、启用路由和IP伪装
配置树莓派让无线客户端可以访问主(以太网)网络上的计算机,访问互联网(如果你不希望无线客户端访问以太网网络和互联网,可以直接跳过这一章)。
启用路由(允许流量在树莓派中从一个网络流向另一个网络),用以下命令创建一个文件:
sudo nano /etc/sysctl.d/routed-ap.conf
文件内容如下(开启IPv4的转发功能)):
# Enable IPv4 routing
net.ipv4.ip_forward=1
开启路由功能后,来自192.168.4.0/24的主机访问10网段的网络和外网。此时,我们不能修改主路由器配置,所以为了情况下让192网段的无线终端可以访问外网,树莓派需要开启IP“伪装”功能,把元线终端的 IP 地址替换为自己在 以太网络上的 IP 地址10.10.0.2。
- 从上行方向,树莓派会把无线终端来的数据都替换成自己的LAN的IP地址,所以对主路由器来说,他看到的只有树莓派的IP地址的数据。
- 从下行方向角度,树莓派会把外部来的数据都替换回各个无线终端的IP地址,并把数据发送给无线终端
我们需要在树莓派上开启IP伪装,既NAT功能:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
保存并通过netfilter-persistent服务在系统启动时自动启用这个IP伪装功能
sudo netfilter-persistent save
注意,这个NAT规则,是保存到目录/etc/iptables/ 中的。
3.3、为无线网络配置DHCP和DNS服务
前面安装的dnsmasq提供了DHCP和DNS服务, 默认的配置文件模板很大,但我们其实只需要其中很小的功能,所以这里我们选择从空文件开始添加配置,这样还更容易一些。
备份原始的配置模板文件,并新建一个空的配置文件:
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo vi /etc/dnsmasq.conf
把以下内容添加到文件中并保存:
interface=wlan0 # Listening interface
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h# Pool of IP addresses served via DHCP
domain=wlan # Local wireless DNS domain
address=/gw.wlan/192.168.4.1# Alias for this router
树莓派会在192.168.4.2和之间192.168.4.20选择一个IP为无线终端端提供IP地址,租用时间为 24 小时。这个DHCP/DNS服务正常工作后,你也可以在无线终端侧通过gw.wlan这个名称访问树莓派。
4、确认无线配置
To ensure WiFi radio is not blocked on your Raspberry Pi, execute the following command:
世界各国按协议分配了不同的wifi无线电频段,以确保不会相互干扰。Linux 操作系统允许为应用程序配置两个字母的“WiFi 国家代码”(例如 如果是在美国使用的计算机,那么就配置US)来帮助用户遵守这些规则。
在 树莓派操作系统中,如果没有配置wifi国家代码的话,5 GHz频段的无线网络是被禁用的。通常在安装过程中就已经配置好了wifi国家代码,当然也可以通过raspi-config工具配置。
5、配置 AP 软件
创建hostapd的配置文件/etc/hostapd/hostapd.conf,把wifi无线网络相关的各种参数放在这个文件中。
sudo vi /etc/hostapd/hostapd.conf
内容如下:
将以下信息添加到配置文件中。此配置假定我们使用频道 7,网络名称为raspberry_wifi_ap,密码为raspberry_wifi_password。注意,名称和密码不应包含引号,密码长度应介于 8 到 64 个字符之间。
country_code=CN
interface=wlan0
ssid=raspberry_wifi_ap
hw_mode=g
channel=7
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=raspberry_wifi_password
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
#rsn_pairwise=CCMP
请注意:interface=wlan0和bridge=br0: 当hostapd启动时时,hostapd会根据这个配置将网卡wlan0设置为Linux网桥br0的一个成员,从而完成以太网卡eth0和无线网卡wlan0之间的桥接。
请注意该行country_code=GB:它将计算机配置为在英国使用。在中国,需要配置成CN。
如果你要:使用 5 GHz 频段,您可以将操作模式从hw_mode=g为hw_mode=a。hw_mode可以配置成以下值:
- a = IEEE 802.11a (5 GHz)(需要硬件支持,注意3B+以上的树莓派才支持)
- b = IEEE 802.11b (2.4 GHz)
- g = IEEE 802.11g (2.4 GHz)
注意,更改时hw_mode,可能还需要更改channel成对应的值。
6、运行wifi无线AP
重启树莓派,并测试无线接入点是否已经可用。
sudo systemctl reboot
树莓派重新启动后,使用无线客户端(比如电脑,手机等)搜索无线网络。这时,你应该可以通过在文件/etc/hostapd/hostapd.conf中指定的网络名和密码接入外网。
如果在树莓派上启用了 SSH,你可以从无线终端那里通过ssh pi@192.168.4.1或ssh pi@gw.wlan来登录到树莓派。
如果你的无线终端可以通过上述命令登录到树莓派和连接互联网(如果你也设置了路由功能),那就说明树莓派无线路由器设置成功了。
把树莓派改造成无线软路由器(2)-----无线路由器模式(独立无线路由器)相关推荐
- 把树莓派改造成无线软路由器(1)-----桥接模式(无线AP接入点)
本文目录 1.准备工作 2.安装无线AP 和管理软件 3.创建Linux网桥 3.1.创建网桥设备并填充网桥 3.2.定义网桥设备IP配置 4.确认无线配置 5.配置 AP 软件 6.运行wifi无线 ...
- 把树莓派改造成NAT软路由器
本文目录 1.查看网卡情况 2.配置WAN口静态ip和LAN口上的DHCP server 3.配置IP转发和SNAT功能 3.1.开启Linux的报文转发功能 3.2.开启SNAT功能 3.3.测试网 ...
- 树莓派改造成通用计算机,218元!树莓派电脑板成功改造完整便携式电脑(图)...
1月25日消息,大家对35美金(约合人民币218元)的树莓派电脑板并不陌生,树莓派电脑的相关报道也非常多,它的尺寸只有大约一盒纸牌的样子.它不是大家接触的速度最快的PC机,甚至结构简单的不能说是个事儿 ...
- 把树莓派改造成无线网卡(3)-----共享无线网络,无线网络转换成有线网络,让有线网络设备连上无线网络
本文目录 1.准备工作 2.安装DNS和配置管理软件 3.设置网络路由功能 3.1.树莓派的有线网络接口IP配置 3.2.启用路由和IP伪装 3.3.为有线网络配置DHCP和DNS服务 4.运行 5. ...
- 树莓派改造成通用计算机,自制树莓派笔记本电脑,你也可以做到
一 直以来树莓派都是大家最爱的单板机,它只有信用卡大小,却有着1G内存和900mHz的CPU.在创客的手上,它充分发挥了自己的光和热,将许多不可能变 成了可能.今天我就要用它打造一台超赞的小型笔记本电 ...
- 360无线wifi路由器连接到服务器,360PI无线路由器怎么联接无线+有线?
工具/原料 猫 无线路由 网线 猫和路由器的连接 1.首先我们需要把猫和无线路由连接到一起.网线首先一段连载猫上的lan,另一端连接到无线路由上的wan上面就可以了. 2.我的电脑系统xp,就以xp为 ...
- 虚拟服务器路由器当交换机可以吗,怎么把无线路由器设置成无线交换机_路由器当交换机怎么设置方法-192路由网...
问:怎么把无线路由器设置成无线交换机? 我有好几台无线路由器,主路由器已经设置好了可以正常上网.现在想把另一台无线路由器连接到主路由器下面,将其设置成无线交换机.请问应该怎么设置? 答:把无线路由器设 ...
- 旧电脑改路由器加文件服务器,如何将旧电脑改成软路由器 以winxp系统为例
最近有winxp系统的用户反应,自己家里的有一台旧电脑,能否改成功能强大的软路由器么?一起来看看小编为大家讲解吧. 百度一下 下载 如果旧电脑支持U盘启动,选择 启动-写入硬盘镜像... 如果不支持U ...
- [玩转树莓派]树莓派配置成路由器
现在手头上正好有一个树莓派3b+的板子,想折腾一下,用树莓派搞个简单的路由器玩玩. 树莓派3B+ / 4B板载了无线网络适配器,不需要额外增加无线网卡就可以把它打造成一个无线路由器.有一种方法是给树莓 ...
最新文章
- 关于Android加载的优化
- Java 回调函数的理解
- 在Python列表中删除重复元素的几种方法,用起来真好用
- pythonweb扫描器_Python安全工具之web目录扫描
- 安装composer以及laravel框架
- 【性能测试】性能测试工具选择
- 【视频教程】捷微开发视频系统讲课-陆续更新
- android intent拍照,Android通过Intent方式调用相机拍照取得图片
- jquery实现复选框checkbox全选,取消全选
- java多线程通信方法
- 容易被忽略的label标签
- 计算机二级修改并应用基本简历模板,如何通过Office模板轻松快捷创建简历
- 穿越技术火线,聆听内心声音——暨龙泉第三届IT禅修营
- android sd卡获取不到,解决Android10读取不到/sdcard/、/storage/emulated/0/文件的问题
- SLAM学习——李群与李代数
- Unity3D中 使模型变成变透明
- 计算最大回撤python_python 计算收益回撤比
- jQuery圆点slider轮播插件
- EmberZNet EFR32 OTA 注意点
- Github域名解析连接慢问题