如何将搭载Ubuntu系统的OrangePi PC配置为中间节点,实现Android 13设备通过L2TP访问工作网站?
如何将搭载Ubuntu系统的OrangePi PC配置为中间节点,实现Android 13设备通过L2TP访问工作网站?
嘿,你的思路真的很靠谱!用OrangePi做中间转发节点完美解决Android 13不支持L2TP的问题,我给你一步步拆解配置流程,跟着做就行:
一、先给OrangePi准备好L2TP客户端环境
首先确保系统是最新的,然后安装L2TP所需的工具包:
sudo apt update && sudo apt install xl2tpd ppp iptables -y
二、配置L2TP客户端连接你的工作VPN
- 编辑xl2tpd主配置文件
打开/etc/xl2tpd/xl2tpd.conf,替换成以下内容(记得把占位符改成你工作VPN的实际信息):
[lac my-work-vpn] lns = 你的工作L2TP服务器IP ppp debug = no pppoptfile = /etc/ppp/options.l2tpd.client length bit = yes
- 配置PPP连接选项
创建/编辑/etc/ppp/options.l2tpd.client,写入:
ipcp-accept-local ipcp-accept-remote refuse-eap require-chap noccp noauth mtu 1410 mru 1410 noipdefault defaultroute usepeerdns
- 添加VPN账号密码
编辑/etc/ppp/chap-secrets,添加一行(替换成你的账号密码):
你的VPN账号 l2tpd 你的VPN密码 *
- 启动并连接L2TP
先重启xl2tpd服务:
sudo systemctl restart xl2tpd
然后发起连接:
echo "c my-work-vpn" > /var/run/xl2tpd/l2tp-control
可以用ip a命令查看是否出现ppp0接口,出现就说明连接成功了。
三、开启OrangePi的路由转发功能
- 启用IP转发
编辑/etc/sysctl.conf,找到net.ipv4.ip_forward=1这一行,去掉前面的注释(#),然后生效配置:
sudo sysctl -p
- 配置NAT规则实现流量转发
假设OrangePi连接手机热点的接口是wlan0,L2TP的接口是ppp0,执行以下命令让流量从手机子网转发到L2TP隧道:
sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
为了防止重启后规则丢失,安装iptables持久化工具:
sudo apt install iptables-persistent -y
安装时会提示保存当前规则,选"是"就行。
四、让Android 13设备的流量通过OrangePi走L2TP
这里给你两种简单的方案,选一种适合你的:
方案1:浏览器代理(无需root,操作简单)
- 在OrangePi上安装轻量HTTP代理工具:
sudo apt install tinyproxy -y
- 编辑代理配置
/etc/tinyproxy/tinyproxy.conf:- 找到
Allow 127.0.0.1,改成你的手机热点子网(比如手机热点默认是192.168.43.0/24),改成Allow 192.168.43.0/24 - 可以保留默认端口
8888,也可以自己改
- 找到
- 重启代理服务:
sudo systemctl restart tinyproxy
- 在Android浏览器里设置代理:
- 打开浏览器设置 → 代理设置 → 手动配置
- 主机名填OrangePi在手机热点里的IP(比如
192.168.43.100,可以用ip a show wlan0在Pi上查) - 端口填
8888
之后浏览器访问工作网站的流量就会通过OrangePi的L2TP隧道出去了。
方案2:静态路由(适合全APP走L2TP,可能需要root)
如果想让手机所有APP访问工作网站的流量都走Pi,需要给手机加静态路由:
- 先查清楚工作网站所在的IP段(比如
10.0.0.0/8,可以用nslookup 你的工作域名在Pi上查) - 如果手机已经root,打开终端模拟器执行:
ip route add 10.0.0.0/8 via OrangePi的IP dev wlan0
- 如果没root,可以用支持自定义路由的VPN工具(比如WireGuard),在Pi上搭个简单的WireGuard服务,手机连接后指定工作IP段的流量走WireGuard到Pi,再转L2TP。
五、测试验证
- 先在OrangePi上ping工作网站的IP,确认能通
- 然后用Android浏览器访问工作网站,看是否能正常打开
如果遇到问题,可以检查: - L2TP是否正常连接(
ip a看ppp0) - iptables规则是否生效(
sudo iptables -t nat -L) - 手机代理/路由是否设置正确
备注:内容来源于stack exchange,提问作者Andrey
相关产品推荐
相关产品推荐

