使用设备
- Raspberry Pi 4 Model B(System:Raspbian Buster with desktop Image with desktop based on Debian Buster Version:July 2019)
- 16GB SD Card
- 读卡器
前述
教育网通常情况下ipv6免费,ipv4视学校定价策略收费。ipv4由学校向运营商购买出口带宽,直接由学校教育网出口到运营商;ipv6则统一使用Cernet2的带宽。关于天津大学的校园网信息可参见天津大学校园网相关信息有关Cernet2海外路由问题的相关信息可见文末参考[2]。使用HKT和HKBN应该在速度和延迟上体验是最好的,但是由于本校可能对ipv6进行了限速,所以无法得知此线路速度上限,但是足够日常使用(100Mbps)。
准备工作
这是面对从未使用树莓派的新手的简易指南,如果对树莓派有所了解,可忽略此部分- 使用SDFormatter(Google Drive/Onedrive)对SD Card进行格式化。从树莓派官网下载最新的Raspbian系统,建议选择Raspbian Buster with desktop
- 使用win32diskimaer(sourceforge/Google Drive/Onedrive)对SD Card完成刻录。由于ssh默认关闭,需要在刻录完成后根目录内创建名为ssh的空文件
- 如果有显示屏可以直接连接然后配置即可。在无屏幕情况下可以用网线将电脑与树莓派连接,同时电脑使用WLAN上网,并将此WLAN共享给电脑与树莓派间的以太网连接。输入arp -a命令查询树莓派ip地址。(如果在这一步出现问题,可以禁用以太网连接再启用)
(图中树莓派ip为192.168.137.122) - 使用Xshell进行连接,默认用户名pi,密码raspberry
- 换源和软件包更新
//清华大学源可直接通过ipv6连接
sudo sed -i 's#://raspbian.raspberrypi.org#s://mirrors.tuna.tsinghua.edu.cn/raspbian#g' /etc/apt/sources.list
sudo sed -i 's#://archive.raspberrypi.org/debian#s://mirrors.tuna.tsinghua.edu.cn/raspberrypi#g' /etc/apt/sources.list.d/raspi.list
sudo apt update && apt upgrade -y && apt autoremove
sudo reboot
- VNC viewer不支持空密码,使用root用户须先设置密码,否则将无法连接。Raspbian Buster with desktop中带有realvnc服务端,可直接开启,客户端可于realvnc官网下载
无线AP设置
- dnsmasq负责管理wlan0的DHCP和hostapd负责管理无线热点:
sudo apt install dnsmasq hostapd
- 在配置完成前暂时将它们关闭:
sudo systemctl stop dnsmasq
sudo systemctl stop hostapd
- 配置网卡wlan0的固定IP,在/etc/dhcpcd.conf文件末尾添加:
interface wlan0
static ip_address=192.168.4.1/24
nohook wpa_supplicant
- 重启dhcpcd使配置生效:
sudo service dhcpcd restart
- 配置dnsmasq,在/etc/dnsmasq.conf文件末尾添加:
interface=wlan0
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h
- 开启dnsmasq:
sudo systemctl start dnsmasq
- 配置hostapd,可供参考的配置文件/etc/hostapd/hostapd.conf如下:
(关于树莓派5Ghz Wifi的说明请见参考[4])
interface=wlan0
driver=nl80211
hw_mode=a
ieee80211ac=1
require_ht=1
require_vht=1
wmm_enabled=1
country_code=US
vht_oper_chwidth=1
channel=149
vht_oper_centr_freq_seg0_idx=155
ht_capab=[HT40-][HT40+][SHORT-GI-40][DSSS_CCK-40]
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
ssid=zeocax
wpa_passphrase=zeocax
- 修改hostapd服务的配置,并使其开机自启。在/etc/default/hostapd末尾添加:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
- 开启ipv4转发,在/etc/sysctl.conf文件末尾添加:
net.ipv4.ip_forward = 1
- 使ipv4转发生效:
sudo sysctl -p /etc/sysctl.conf
- 配置完成,开启hostapd服务:
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd
这里经过不断试错发现的三个问题(如果有人能解决这些问题或者给出问题原因欢迎在评论区留言,十分感谢):
- hostapd.conf中注释中有中文字符会报错。
- country_code设置为CN会报错。
- US按照规定应该可以使用信道36,但是信道36启动时会报错。
日版NS还得经由电脑再开一次热点。
透明代理搭建
在阅读此部分前请保证对代理有一定的了解,本处仅采用V2ray作为示范,若采取其它方案可自行阅读参考[5]
- 使用官方安装脚本安装V2ray:
sudo bash <(curl -4sSkL https://install.direct/go.sh)
- V2ray相关的的文件如下:
/etc/v2ray/config.json 配置文件
/usr/bin/v2ray/v2ray V2Ray 程序
/usr/bin/v2ray/v2ctl V2Ray 工具
/usr/bin/v2ray/geoip.dat IP 数据文件
/usr/bin/v2ray/geosite.dat 域名数据文件
- 通过查看帮助信息检查是否安装成功:
/usr/bin/v2ray/v2ray -help
接下来配置V2ray,此时如果对V2ray配置不熟悉,建议在电脑端使用V2ray图形化版本(V2rayNG)配置并测试成功,再直接复制此时的config以保证配置正确。
透明代理设置
对V2ray配置修改和iptables规则请见参考[3]V2ray文档测试

从上到下依次为直接于树莓派上测速,直接于电脑上测速,通过树莓派搭建的透明代理测速。此时Steam下载速度约为2MB/S。
略微思考了一下,相较于树莓派直接测速,通过树莓派搭建的透明代理测速只增加了一个WLAN过程和几条iptables规则。而iptables规则一般不可能起到减慢网速的作用(刻意去做或许能够实现?)。所以原因只可能是无线网络,再次查看hostapd配置(这是最初配置,已在教程中删去)发现:
hw_mode=g:IEEE 802.11g (2.4 GHz)。2003年规范。最大理论速率54Mbps
改用5GHz更改配置文件后测速可达到应有速度(百兆左右上下行对等),Steam下载速度10Mb/s:

参考
- Setting up a Raspberry Pi as a Wireless Access Point
- 盘点适合教育网CERNET IPv6使用的VPS
- V2ray教程
- 板载无线模块说明 2019-06-20
- ss-tproxy
- 基于openvpn的校园网ipv6免流量方案
Author: @zeocax
Time: 2019-09-30
Copyright: CC BY 4.0
速度这么快?能透漏下哪家服务商吗
香港hkt的线路,参考的是参考链接里的[盘点适合教育网CERNET IPv6使用的VPS](测试了一下上链接很容易被Gmail丢进垃圾邮件→_→)。测试的结果是不管什么时候上下行都能跑满100Mbps(这应该是天大ipv6的上限速度?)