- 更新:2020-07-23 19:32:18
- 首发:2020-05-12 00:47:33
- 教程
- 5752
上篇文章轶哥介绍了树莓派4使用OTG功能变身有线网卡的方法。今天我们就来实践让树莓派4变身路由器。(由于本文的「操作」不具备拨号功能,更适合作为旁路由使用。需要实现拨号请自行研究。😂)
2020年07月23日更新:树莓派可以直接安装OpenWRT作为旁路由,但是无法使用OTG有线网卡这个功能。
让树莓派联网
无线: 使用raspi-config
,设置WIFI网络
,让树莓派联网。
有线: 使用raspi-config
,设置WIFI网络
的国家,保存后按Esc
退出安装界面,插入网线。
无论选择以上何种方式,请参考树莓派4使用OTG功能变身有线网卡的方法将Type-C接口
和电脑的USB接口
相连,使用OTG USB
网卡确保我们在树莓派中途断网的情况下也能通过ssh root@raspberrypi.local
的方式连接到树莓派。
让树莓派具备AP功能(开热点)
安装RaspAP,让树莓派拥有漂亮的网络管理界面:
curl -sL https://install.raspap.com | bash
安装过程中会有一些选项,根据你的需要来选择即可,无论作出何种选择均不会影响树莓派变身为旁路由。
安装完成后,执行telinit 6
,重启设备。
重启完成在浏览器输入http://raspberrypi.local/
访问管理界面:
用户名: admin 密 码: secret
登录成功后可以看到当前树莓派已经具备WIFI热点功能。
在RaspAP
管理界面,我们会发现WiFi client
功能无法正常使用。这是因为目前我们的AP工作方式是eth0
接入,wlan0
发出热点信号。
这时,如果插入的是有线网络,其它设备搜索名称为raspi-webgui
的WIFI,输入默认密码ChangeMe
即可上网。运行模式如上图。
让USB OTG网卡也能上网
当前的USB OTG
网卡仍然是169.254.x.x
一类的地址,是无法连接网络的。
编辑/etc/dhcpcd.conf
,在最末尾添加如下配置:
# OTG USB usb0 configuration
interface usb0
static ip_address=192.168.130.1/24
static domain_name_server=
生成/etc/dnsmasq.d/usb0.conf
文件,添加如下配置:
interface=usb0
dhcp-range=192.168.130.100,192.168.130.255,255.255.255.0,12h
重启dhcpcd
和dnsmasq
服务。
sudo systemctl daemon-reload
sudo systemctl restart dhcpcd
sudo systemctl restart dnsmasq
通过ifconfig
命令,我们可以看到usb0
网卡拥有了192.168.130.1
这个IP地址,同时与之相连的电脑也获取到了该网段的IP地址。
如果现在将网线插入到树莓派有线网卡,则USB OTG
网卡也可以上网了。虽然usb0
与wlan0
不在同一网段,但是他们之间的设备是可以互相访问的。此时的运行模式如下:
让树莓派具备无线接入功能
现在我们知道如何将有线网络共享为无线WIFI信号并分享给USB OTG网卡
使用。不过很多时候我们并没有有线网络接入的条件,我们需要进行无线网络接入(本文采用外接USB网卡
的方式实现),然后分享给有线网卡eth0
、无线热点wlan0
、OTG USB网卡usb0
。不过,由于无线网络接入速率较低,保留有限网卡eth0
作为接入网口(WAN
口)更具有现实意义,因此本文不再描述如何将其变为LAN
口,感兴趣的小伙伴可以自己研究研究。
我们希望树莓派具备下图的运行模式:
我使用具备双频WIFI的网件AC6210网卡,在树莓派下免驱。
插入USB无线网卡
,执行ifconfig -a
确认驱动安装正常,确认网卡编号是wlan1
。如不出意外,网卡会自动连上之前连接过的WIFI。
将/var/www/html/includes/config.php
文件中的
define('RASPI_WIFI_CLIENT_INTERFACE', 'wlan0')
改为
define('RASPI_WIFI_CLIENT_INTERFACE', 'wlan1')
修改/etc/dhcpcd.conf
文件,在wlan0
(注意是板载网卡wlan0
)的配置最后面加上nohook wpa_supplicant
。例如:
# RaspAP wlan0 configuration
interface wlan0
static ip_address=10.3.141.1/24
static routers=10.3.141.1
static domain_name_server=9.9.9.9 1.1.1.1
nohook wpa_supplicant
最后重启hostapd
:
sudo systemctl restart hostapd.service
如一切正常,则USB OTG
网卡以及WIFI热点均可正常访问网络。
当然,也有小伙伴发现无法上网,排查方式如下:
route
查看当前设备路由表。结果可能和下述相似:
root@raspberrypi:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.3.141.1 0.0.0.0 UG 304 0 0 wlan0
default OpenWrt.lan 0.0.0.0 UG 305 0 0 wlan1
10.3.141.0 0.0.0.0 255.255.255.0 U 304 0 0 wlan0
192.168.100.0 0.0.0.0 255.255.255.0 U 305 0 0 wlan1
192.168.130.0 0.0.0.0 255.255.255.0 U 203 0 0 usb0
这是由于默认网关优先级不够导致无法正常上网。
route add default gw 正确的网关地址
修改后即可正常上网。
同理,有线网口eth0
和USB无线网卡wlan1
都可以作为WAN
口接入网络,而具体想选择谁来上网,只需要调整路由的优先级即可。
按照轶哥提供的修改方法,RaspAP
原本的功能不会受到影响,而且首页还能显示wlan1
的信息,可以可视化配置wlan1
接入的无线网络,是不是很酷呢?😎
暂无内容
老师你好,我希望能用一个openwrt路由器实现IPv4和IPv6的桥接,请问我该如何实现?我尝试了直接新增dhcpv6的接口,但是效果不甚理想(无法成功获取公网的ipv6,但是直连上级路由的其他设备是可以获取公网的ipv6地)
![%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE20241205230845.png](https://cdn.wyr.me/visitor-files/2024-12-05/1733411344287屏幕截图 2024-12-05 230845.png)你好
,为什么我这里是0039 813C 0600 0075 16xx xx xx,只有前6组是相同的,博客中要前8位相同,这个不同能不能照着修改呢?我系统版本是Win1124H2
大神你好,win11专业版24h2最新版26100.2033,文件如何修改?谢谢
win11专业版24h2最新版26100.2033,Windows Feature Experience Pack 1000.26100.23.0。C:\Windows\System32\termsrv.dll系统自带的这个文件,39 81 3C 06 00 00 0F 85 XX XX XX XX 替换为 B8 00 01 00 00 89 81 38 06 00 00 90。仍然无法远程连接。原来是win11 21h2系统,是可以远程链接的。共享1个主机,2个显示器,2套键鼠,各自独立操作 各自不同的账号,不同的桌面环境。
博主,win11专业版24h2最新版,C:\Windows\System32\termsrv.dll系统自带的这个文件,找不到应该修改哪个字段。我的微信:一三五73二五九五00,谢谢