一根数据线将zero w打造成上级代理路由
目的:只要插上树莓派就使PC全部流量通过派走代理
将树莓派打造成上级路由,在任意有可用wifi的地方,让PC全部流量走代理实现代理匿名效果 (通过网线当上级路由也可以,这里不多说,方法一样)
由于是树莓派zerow,所以只需要一根micro数据线即可供电+通讯,相当便携,不多说
刷固件的过程就不说了,需要这个的不会连固件都不会刷
首先需要将树莓派打造成虚拟网卡,顺带配置wifi信息
# 在boot根目录下的操作:
1.编辑 config.txt 在最后新起一行写入
dtoverlay=dwc2
2.编辑 cmdline.txt 找到 rootwite 在后边加入(注意,新加入的字段与前后本来有的字段之间有且只有一个空格)
modules-load=dwc2,g_ether
3.新建一个文件,重命名为 ssh (没有任何的文件后缀名)
# 在 /etc/network/interfaces 加入内容(ip和子网掩码并不唯一,可自行更改):
allow-hotplug usb0 auto usb0 iface usb0 inet static address 192.168.188.1 netmask 255.255.255.0 iface wlan0 inet dhcp wpa_conf /etc/wpa_supplicant/wpa_supplicant.conf
# 配置wifi:
打开 /etc/wpa_supplicant/wpa_supplicant.conf 添加wifi信息,例子如下:
network={
ssid="wifiname"
key_mgmt=NONE
}
更多的配置规则看这位网友写的 Linux系统Wpa_supplicant用法小结
通过数据线连接好派(派连接在数据口)
如果被识别为串口设备请安装这个驱动 RPI Driver OTG.zip
直到这样子

手动配置一下ip

然后ssh连接到派 (putty,xshell,mobaxterm)
地址 192.168.188.1
默认用户名 pi 密码 raspberry
安装shadowsocks-libev
配置 /etc/ss-redir.json (具体配置自行更改,本地地址不要动)
{
"server": "serverip",
,
"password": "password",
"local_address": "0.0.0.0",
,
"method": "aes-256-cfb"
}
然后就是最重要的部分,配置iptables规则
python版ss可以加上 redsocks 来进行代理,python版功能比较落后,性能也没libev强大,对python版就不多说了,这里说libev自带的ss-redir
官方README里是这么写的
# Create new chain iptables -t nat -N SHADOWSOCKS iptables -t mangle -N SHADOWSOCKS # Ignore your shadowsocks server's addresses # It's very IMPORTANT, just be careful. iptables -t nat -A SHADOWSOCKS -d 123.123.123.123 -j RETURN # Ignore LANs and any other addresses you'd like to bypass the proxy # See Wikipedia and RFC5735 for full list of reserved networks. # See ashi009/bestroutetb for a highly optimized CHN route list. iptables -t nat -A SHADOWSOCKS -d -j RETURN iptables -t nat -A SHADOWSOCKS -d -j RETURN iptables -t nat -A SHADOWSOCKS -d -j RETURN iptables -t nat -A SHADOWSOCKS -d -j RETURN iptables -t nat -A SHADOWSOCKS -d -j RETURN iptables -t nat -A SHADOWSOCKS -d -j RETURN iptables -t nat -A SHADOWSOCKS -d -j RETURN iptables -t nat -A SHADOWSOCKS -d -j RETURN # Anything else should be redirected to shadowsocks's local port iptables -t nat -A SHADOWSOCKS -p tcp -j REDIRECT --to-ports # Add any UDP rules ip route add local default dev lo table ip rule add fwmark lookup iptables -t mangle -A SHADOWSOCKS -p udp --dport -j TPROXY --on-port --tproxy-mark 0x01/0x01 # Apply the rules iptables -t nat -A PREROUTING -p tcp -j SHADOWSOCKS iptables -t mangle -A PREROUTING -j SHADOWSOCKS # Start the shadowsocks-redir ss-redir -u -c /etc/config/shadowsocks.json -f /var/run/shadowsocks.pid
如果不需要非dns的udp流量的话这个也是很不错的选择,更改一下服务器地址
需要派本身走代理的话可以加上 sudo iptables -t nat -A OUTPUT -p tcp -j SHADOWSOCKS
不过总是有udp流量需求的(比如dota2),可以用这个规则
iptables -t nat -A PREROUTING -d SERVER_IP -j RETURN iptables -t nat -A PREROUTING -d -j RETURN iptables -t nat -A PREROUTING -d -j RETURN iptables -t nat -A PREROUTING -d -j RETURN iptables -t nat -A PREROUTING -d -j RETURN iptables -t nat -A PREROUTING -d -j RETURN iptables -t nat -A PREROUTING -d -j RETURN iptables -t nat -A PREROUTING -d -j RETURN iptables -t nat -A PREROUTING -d -j RETURN iptables -t mangle -I PREROUTING -d SERVER_IP -j RETURN iptables -t mangle -I PREROUTING -d -j RETURN iptables -t mangle -I PREROUTING -d -j RETURN iptables -t mangle -I PREROUTING -d -j RETURN iptables -t mangle -I PREROUTING -d -j RETURN iptables -t mangle -I PREROUTING -d -j RETURN iptables -t mangle -I PREROUTING -d -j RETURN iptables -t mangle -I PREROUTING -d -j RETURN iptables -t mangle -I PREROUTING -d -j RETURN iptables -t mangle -I PREROUTING -d -j RETURN iptables -t nat -A PREROUTING -p tcp -s ip rule add fwmark ip route add local dev lo table iptables -t mangle -N SSUDP iptables -t mangle -A SSUDP -p udp -j TPROXY --on-port --tproxy-mark 0x01/0x01 iptables -t mangle -A PREROUTING -j SSUDP
更改红字部分即可,如果端口更改把端口也修改一下就好,windows下你可以使用 NatTypeTester 来验证你的udp流量是否被转发
为了便于调试,这是清除所有规则的命令(可以把ss-redir启动命令加上-v查看详细日志)
sudo iptables -F sudo iptables -X sudo iptables -Z sudo iptables -t nat -F sudo iptables -t nat -X sudo iptables -t mangle -F sudo iptables -t mangle -X sudo iptables -P INPUT ACCEPT sudo iptables -P FORWARD ACCEPT sudo iptables -P OUTPUT ACCEPT
由于iptables重启后是不保存规则的,我们可以用类似 iptables-persistent 的软件,也可以和我一样直接把规则命令写入开机事件,我觉得这样更便于调试
设置开机启动(写在exit 0之前),写在/etc/rc.local
# 改mac地址(需要的话) sudo macchanger -A wlan0 # 开启wifi并按照配置连接 sudo ifup wlan0 #设置nat链直连地址 sudo iptables -t nat -A PREROUTING -d SERVER_IP -j RETURN -j RETURN -j RETURN -j RETURN -j RETURN -j RETURN -j RETURN -j RETURN -j RETURN #设置mangle链直连地址 sudo iptables -t mangle -I PREROUTING -d SERVER_IP -j RETURN -j RETURN -j RETURN -j RETURN -j RETURN -j RETURN -j RETURN -j RETURN -j RETURN -j RETURN #设置转发 #设置udp dev lo table sudo iptables -t mangle -N SSUDP --tproxy-mark 0x01/0x01 sudo iptables -t mangle -A PREROUTING -j SSUDP # 启动 ss-redir sudo ss-redir -c /etc/ss-redir.json -u
现在,在配置过wifi信息的信号范围内,只要插上派,系统会自动识别网卡,所有流量都通过派进行转发代理
说伪路由是因为只能直连本机,但可以电脑同时开一个热点给其他设备用,有一样的效果
后记:
我在上篇一根线玩转树莓派中建议大家将派的地址设置为192.168.137.*,是因为PC分享网络时,会将目标网卡ip地址强行设置为192.168.137.1,为方便才这样设置ip
写本文的时候发现,电脑在建立无线热点时会把热点网卡的本机ip也设置为192.168.137.1,如果你并不需要派通过本机上网,为避免冲突,建议你把ip设置为其他网段(例如本文的192.168.188.*)
然后就是在实际使用中可能出现网络一网络二到网络N的情况,你可以不管它也可以删除,在注册表(regedit)的
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\profile\
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged\
你可以把子内容全部删除,也可以删除你想删除的网络N,立即重启,重启后稍微等等就好
写个reg脚本可以方便一点
Windows Registry Editor Version 5.00 [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\profiles] [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\profiles] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged]
博客园 一根数据线打造PC流量代理伪路由器 (树莓派zero w)
enjoy it
一根数据线将zero w打造成上级代理路由的更多相关文章
- windows下一根数据线玩转树莓派zero(w)
买了个树莓派zero w,想着用一根普通micro数据线达成 供电+ssh+通过usb共享网络+远程桌面 的目标 通过用静态ip免去了用benjour的连接不稳定方法,下面开始细说 需要的硬件: 树莓 ...
- 一根数据线玩转树莓派Zero
0. 前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 本文使用Markdown写成,为获得更好的阅读体验和正常的链接.图片显示,请访问我的博客原文: http://www.cnb ...
- 树莓派 Zero W——随身钥匙扣
前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 本文使用Markdown写成,为获得更好的阅读体验和正确的格式显示,请访问我的博客原文: http://www.cnblogs.c ...
- 软件测试---测试模型(V、W、H)
一.V测试模型 1.V模型示意图: 单元测试:又叫模块测试,针对软件设计中的最小单位—>程序模块 集成测试:又叫组装测试,通常在单元测试的基础上,将所有程序模块进行有序.递增测试. 系统测试:把 ...
- USB数据线 单独供电
USB数据线上剪掉两个电源线,只保留两个是数据就无法传数据了.数据线传输数据需要通过芯片来进行数据交换,芯片的工作离不开电源,没有电源,芯片无法工作,当然也就无法传输数据了.电源线特别是负极线,同时还 ...
- I2C 基础原理详解
今天来学习下I2C通信~ I2C(Inter-Intergrated Circuit)指的是 IC(Intergrated Circuit)之间的(Inter) 通信方式.如上图所以有很多的周边设备都 ...
- php易混淆知识点
一.define(“constant”, “hello world”);和const constant = “hello world”;的区别? (0).使用const使得代码简单易读,const本 ...
- windows 花式装系统
目录 一.安装系统前准备 准备U盘 准备好一个制作启动盘的软件 准备系统镜像 二.接下来先制作启动盘(以微PE为例) 三.插上u盘,调BIOS(BIOS即基本输入输出系统) 四.进入PE 五.开始安装 ...
- IIC总线协议
前言:年前给老师做个红外抄表系统,,现在对当中用到的一些模块总结一下. 1.只有在总线空闲时才允许启动数据传送. 2.在数据传送过程中,当时钟线为高电平时,数据线必须保持稳定状态,不允许有跳变.时钟线 ...
随机推荐
- Python爬虫之多线程下载程序类电子书
近段时间,笔者发现一个神奇的网站:http://www.allitebooks.com/ ,该网站提供了大量免费的编程方面的电子书,是技术爱好者们的福音.其页面如下: 那么我们是否可以通过Py ...
- net4log 日志管理
使用log4net可以很方便地为应用添加日志功能.应用Log4net,开发者可以很精确地控制日志信息的输出,减少了多余信息,提高了日志记录性能.同时,通过外部配置文件,用户可以不用重新编译程序就能改变 ...
- Extjs4---Cannot read property 'addCls' of null 或者 el is null 关于tab关闭后再打开不显示或者报错
做后台管理系统时遇到的问题,关于tab关闭后再打开不显示,或者报错 我在新的tabpanel中加入了一个grid,当我关闭再次打开就会报错Cannot read property 'addCls' o ...
- 菜鸟入门【ASP.NET Core】12:JWT 设计解析及定制
前言 上一节我们讲述的书如何使用jwt token,而且上一节的token是要加Authorization:bearer XXXXXXXXXXXX才能访问. 这一节我们来研究如何自定义类似jwt的to ...
- maven详细配置
Eclipse上Maven环境配置使用 (全) 1. 安装配置Maven: 1.1 从Apache网站 http://maven.apache.org/ 下载并且解压缩安装Apache Maven. ...
- 将javaWeb项目转maven项目
不经常做此类转换,所以总是忘记转换方法,特此,记录下转换步骤 1.首先从SVN检出项目 2.找到导出项目路径 3.按住Shift+鼠标右键,打开控制台 3.输入命令mvn eclipse:eclips ...
- 2017-07-20 在Maven Central发布中文API的Java库
知乎原链 相关问题: 哪些Java库有中文命名的API? 且记下随想. 之前没有发布过, 看了SO上的推荐:Publish a library to maven repositories 决定在son ...
- 不要拿ERP的报表忽悠领导!——一个报表引发的企业经营反思
文 | 帆软数据应用研究院船长 本文出自:知乎专栏<帆软数据应用研究院>——数据干货&资讯集中地 领导的经营决策能只依赖于ERP报表吗? 不能! 1. ERP报表个性化不足:企业经 ...
- Vue组件的基础用法(火柴)
前面的话 组件(component)是Vue最强大的功能之一.组件可以扩展HTML元素,封装可重用的代码,根据项目需求,抽象出一些组件,每个组件里包含了展现.功能和样式.每个页面,根据自己的需要,使用 ...
- flask day01
目标:搭建好一个flask架构,并且可以运行起来,能够访问 ## 一丶配置环境 比较简单,只需要配一个flask pip3 install flask #也可以使用pip install flask ...