相关网址
tcping ipv4:https://www.itdog.cn/tcping
tcping ipv6:https://www.itdog.cn/tcping_ipv6
相关代码:
//sing-box模板
{
"type": "shadowsocks",
"tag": "home",
"server": "ddns.com",
"server_port": 7788,
"password": "112233",
"method": "aes-128-gcm"
},
{
"type": "socks",
"tag": "home",
"server": "ddns.com",
"server_port": 7788,
"username": "user",
"password": "pass"
},
{
"ip_cidr": "192.168.2.0/24",
"outbound": "home"
},
//surfboard模板
home=socks5, ddns.com, 7788, user, pass
IP-CIDR,192.168.2.0/24,home,no-resolve
很多朋友以为在公网访问家里的内网服务只能搭建vpn,其实我们常用的socks、ss、vmess等代理协议也可以代理内网ip,比如我在公网想访问家里的NAS服务,nas的内网地址为192.168.2.110,当我使用浏览器打开这个网址,由于运行了代理工具,请求会交给代理工具进行代理,代理工具通过分流配置发现应该交给home节点代理,于是会使用对应的协议对数据进行加密,并且发送到路由器上搭建的home节点,路由器收到数据后对其进行解密,发现是发给内网里的NAS服务,于是会帮我们访问NAS,并将NAS返回的数据加密后重新发回给我们,这样就实现了通过代理工具访问内网了,并且现在的代理工具都有完善的节点分流策略,可以实现访问内网才走home节点,翻墙就使用其他节点,不用忍受家里那小的可怜的上行带宽,比VPN更方便灵活,但是大部分代理工具为了防止潜在的网络问题,即使你设置为全局代理,访问内网网段的数据包还是会绕过代理走直连,导致无法成功回家
本期我们主要来解决这个问题,手把手教大家各个操作系统,各个代理工具该如何配置,才能让访问内网的数据包成功使用指定节点进行代理
首先你需要在家里搭建一个节点,不管是部署在软路由上还是内网某台电脑上,只要能通过公网访问到就行了,我将主要介绍在路由器上搭建节点,如果你使用的是homeproxy插件,来到服务器设置,随便取个名称,点击添加创建一个节点,选择你需要的节点类型,一般是搭建socks或者ss节点,我就以ss节点为例,随便给个空闲的端口,比如7788,设置节点密码,以及加密方式,最后点击保存,勾选启用和自动配置防火墙,点击保存并应用,这样使用homeproxy搭建节点就算是配置好了
如果你是passwall用户,同样来到服务器端,点击添加,勾选启用,按同样的方式设置ip端口密码和加密方式,另外还需要勾选接受局域网访问,点击保存,然后返回概览,最后勾选这里的启用,点击保存并应用,这样就算是配置好了
如果你是openclash用户,原版clash只能使用socks节点入站,meta的话可以设置ss入站,但是设置比较麻烦,感兴趣的朋友请自行研究,我这里只演示socks节点,来到插件设置,进入流量控制,取消勾选仅允许内网,接着来到复写设置,socks5的默认端口是7891,为了统一我将其设置为7788,接着来到下方设置鉴权,勾选启用,设置socks的账号密码,最后点击应用配置,openclash也配置好了
接着我们需要配置防火墙,将搭建好的节点暴露在公网,让公网用户可以连接,如果你家的路由器有公网ipv4地址,那就设置端口转发,点击添加,随便给个名称,外部端口填写7788,内部ip选择路由器的内网ip,内部端口也填写7788,点击保存,最后点击保存并应用,ipv4就算是配置好了
如果路由器没有公网ipv4地址,可以使用公网ipv6地址,怎么配置ipv6我之前已经详细介绍过了,可以回看这期内容配置好ipv6,ipv6不需要配置端口转发,直接来到通信规则,点击添加,随便给个名称,源区域设置为wan,目标区域设置为设备,目标端口设置为7788,操作为接受,高级设置的协议栈改成仅ipv6,点击保存,最后点击保存并应用,ipv6就算是配置好了
接着访问这个网址,相关网址我会放在视频下方说明栏,不管你用的是homeproxy、passwall还是openclash,也不管你是ipv4还是ipv6,跟着配置完成之后,在这里输入你路由器的ip地址和端口,应该就能直接ping通显示绿色,如果显示红色,说明无法从公网访问到路由器的7788端口,需要仔细检查自己的配置是否有误,确保能ping通之后,路由器这边就算是设置好了,总结起来就三步,添加节点,允许数据发送到内网,配置防火墙确保节点能被公网用户连接
接着就可以开始配置各个客户端了,macos端主要演示小火箭、clash for windows、圈X、sing-box,iphone的小火箭、圈X和singbox的操作逻辑和macos是一样的,只是界面布局稍有区别,就不单独演示了,参考macos的配置方式即可,windows端主要演示v2rayN和clash for windows,安卓端主要演示v2rayNG、nekobox、surfboard
另外为了应对公网ip地址发生变化,建议你配置好ddns,在这两期教程中分别介绍了两种设置ddns的方式,可以回看参考,本期就不浪费时间介绍了,我已经做好了ddns,这是我的节点信息,接下来我们就要靠这个节点访问家里的内网了。
首先演示小火箭,我的mac现在是通过热点连接手机的5G网络,目前选中了香港节点,开启代理,全局路由为配置模式,可以正常科学上网,接着添加我们刚才在路由器里搭建的节点,选择对应的代理协议,如果你用的是openclash则使用socks5,接着填写节点对应的信息,ip地址填写ddns的域名,端口填写7788,再填入对应的密码和加密方式,备注设置为home,点击保存,测试节点连接应该能通,接着选中他,如果你家路由器能科学上网,那么这个节点也应该能够科学上网,但是你无法使用这个节点访问路由器的管理地址,因为小火箭会绕过内网地址走直连,即使开启全局代理,接下来我们要实现正常的科学上网使用正常的节点,访问家里的内网就使用home节点,来到配置,进入你使用的配置文件,来到通用,在跳过代理中,将你家的内网网段从列表里删除,比如我家的内网网段是192.168,那就删掉这个,点击保存,接着进入规则,点击添加,类型选择ip-cidr,策略选择我们刚才创建的home节点,启用不解析域名,这里填入你家的内网网段,我的路由器地址是192.168.2.1,那么这里填写192.168.2.0/24,点击保存,此时就算是配置好了,再来重新访问,就可以成功进入家里的路由器管理界面了,并且当我们切换到香港节点之后,同样可以正常访问家里的内网,因为分流规则已经把内网网段交给了home的节点了,可以正常登录路由器管理,尝试进一步验证,在这里启用代理日志,刷新网页,接着查看日志,可以看到访问谷歌的内容是使用香港节点,而访问路由器的内容是使用home节点,这样翻墙就不需要使用家里那小的可怜的上行带宽了。
接着配置clash for windows,目前开启了系统代理,可以正常科学上网,使用的是香港的节点,这是一个常见的分流配置,接下来将home节点插入到当前模板中,并且将192.168的内网网段通过home节点代理,如果你的home节点是ipv6地址,那就启用ipv6,来到配置页面,右键编辑proxies,找到proxies,点击添加,按要求填写节点信息,点击保存,再编辑rules,点击添加,输入你家内网网段,选择ip-cidr,选择刚才添加的home节点,点击保存,再点击edit,来到rules模块,在刚才添加的规则后面加上,no-resolve防止dns泄漏,点击保存,此时就算是配置好了,谷歌同样是使用香港节点访问,访问内网就是使用home节点,但此时你会发现无法访问,而如果你是使用tun模式的话应该是可以正常访问的,如果使用系统代理模式则还是无法访问,需要进一步设置,找到代理设置页面,在这里将你家内网网段删掉,此时系统代理模式下也可以正常访问了,另外我们可以在日志页面查看,访问家里的路由器是使用home节点,其他翻墙流量还是使用你原来的分流配置
接着配置圈X,同样正常使用香港节点翻墙,接着配置home节点,点击添加,按需求添加ss节点,需要注意的是圈x的图形界面默认只能添加ss节点,如果你是socks5,需要手动在配置文件中添加,接着添加分流配置,类型选择ip-cidr,参数填写内网网段,策略先临时选择proxy,点击添加,接着点击这里编辑配置文件,在常规配置下的排除路由里,删掉你家内网网段,接着在本地规则里,将我们刚才临时设置的proxy改成home,点击保存,此时就算是配置好了,进不去的话重启一下圈x,就可以正常访问了,访问谷歌还是使用香港节点,在网络活动下,可以看到访问路由器就是使用home节点,其他依然使用分流规则里的香港节点
最后配置singbox,同样启动之后可以正常科学上网,接着来到profiles,编辑当前使用的配置文件,找到outbound,在第一个花括号之后按回车插入一行,然后使用我给大家提供的ss模板,或者socks模版,这些信息我会放在视频下方的说明栏,按需求填入节点相关的信息,将其复制粘贴到刚才插入的位置,注意最后有一个英文逗号,接着找到route下的rules,在方括号后面插入一行,将这个配置插入进去,注意这里改成你家的内网网段,名称要和刚才添加的tag对应,同样注意最后有一个英文的逗号,最后点击保存,这样就算是配置好了,接着重启singbox,可以正常科学上网,使用的还是分流规则里的香港节点,访问内网也没问题,使用的是home节点
接着配置windows端,clash for windows的配置方式和mac是一样的,就不重复演示了,只演示v2rayN,点击这里添加home节点,按要求填写相应的节点信息,由于v2rayN不像clash for windows一样可以非常方便的添加节点分流策略,所以只能实现需要连接家里的时候就使用home节点,需要科学上网的时候就手动切换到其他节点,虽然不是很方便但好过没有,你也可以直接跑内核自己手动编辑节点分流,对于本教程来讲超纲了,感兴趣的朋友请自行研究,接着来到路由设置,编辑绕过大陆模式,点击添加规则,在这里输入你的内网网段,点击确定,右键刚才添加的规则,将其上移置顶,点击确定,接着当你需要连接家里的时候,就可以将home节点设置为活动服务器,然后就能访问家里的内网了,如果你是使用系统代理模式,同样需要和mac一样,找到代理服务器设置,将你家的内网网段从这个绕过列表里删除,点击保存,这样就可以正常访问内网了
最后讲解安卓端,安卓手机目前通过wifi热点连接到移动的5G网络,先演示v2rayNG,同样的v2rayNG也只能实现需要连接家里的时候就手动切换到home节点,先添加home节点,填写节点对应的信息,点击保存,接着进入设置,预定义规则选择绕过大陆,这样就算是设置好了,之后想直接用节点上网的话就选择节点,想回家的话就选择home,然后启动代理,可以正常访问内网,也可以正常访问内网其他服务
接着演示nekobox,用法和v2rayNG一样,需要的时候手动切换节点,设置上稍有区别,先添加home节点,输入节点相关信息,点击保存,此时尝试开启代理会发现无法连接,来到设置,如果绕过局域网地址启用了的话,要取消,如果你的节点是ipv6地址,要启用这里的ipv6路由,接着再尝试连接,就可以正常连接了,可以正常访问家里的内网服务
最后再介绍一个支持配置节点分流策略的surfboard冲浪板,启用后可以正常科学上网,来到配置页面,先复制一个配置出来,点击编辑,首先在常规设置下的跳过代理,删掉你的内网网段地址,接着来到proxy代理配置,在这里插入一行,把home节点插入进去,这个软件有个问题,ss节点无法使用ipv6地址,所以如果你和我一样使用的是ipv6,需要换成其他协议,比如socks或者vmess之类的,以socks为例,你可以继续在软路由里添加一个socks节点,也可以将原来的ss节点改成socks节点,点击编辑,类型改成socks,设置节点的用户名和密码,接着保存并应用即可,然后按照这个模板修改对应的节点信息,类型是socks5,你的节点域名,节点使用的端口,以及账号和密码,用英文逗号风格,接着将其复制粘贴到这里,找到rule模块,在最上方插入一行,复制这行代码,注意这里要改成你家内网网段,粘贴上去,点击保存,接着切换到刚修改的配置文件,回到仪表盘,进入设置下的vpn,勾选局域网流量过滤,最后重启vpn,此时就算是配置好了,可以正常访问谷歌,也可以正常访问路由器,包括内网其他nas服务,来到工具页面下的最近请求,可以看到访问内网走的是home节点,科学上网使用的是分流策略的香港节点
这就是本期给大家介绍的所有客户端,由于个人精力有限,不可能把所有客户端都讲一遍,但万变不离其宗,总共也就三步,添加home节点、添加分流规则,排除局域网路由,不管是什么客户端只要跟着这个思路去配置,就能将内网网段交给节点代理,从而实现远程访问家里的内网服务了
另外有个注意事项是本地局域网和家里的局域网不能在同一网段,比如从公司连接家里的内网,家里网段是192.168.2.1,那公司局域网只能是192.168.2.1以外的网段,如果两端是一样的网段,你将永远只能访问到公司的局域网.
----------------------------------------------
VPN通信流程,wireguard VPN搭建指南
相关文档
wireguard:https://www.wireguard.com/install/
免费DDNS:https://dynv6.com/
Windows 安全补丁:https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-38063
除了安全问题,各种服务要暴露在公网, 配置起来也比较费劲,又是改防火墙配置,又是申请tls证书,服务多了不好管理,那么有没有办法不将内网服务暴露在公网,也能从异地访问内网服务呢?当然有,假设你家在山东,目前在上海出差,现在想访问家里的内网服务,只要将网线的一头插在你山东家里的路由器lan口上,另一头插在你在上海的电脑网口上,就能直接访问家里的内网服务了,这根网线就是你一个人用的专线,访问家里的网络也是你一个人用的专用网络,但显然现实中不会真的有这么一根物理的网线直接从山东拉到上海,即使有你也负担不起这个费用,既然物理专用网络玩不起,那虚拟的行不行?假装从山东拉了一根网线到上海,这就是本期要讲的虚拟专用网络,英文全称Virtual Private Network,简称vpn,运行vpn之后的效果就相当于在公网创建了一条vpn隧道,这条隧道你可以想象成是一根虚拟的网线,一头插在你山东家里的路由器上,另一头插在你上海的电脑上,这样就能直接访问家里的内网服务了,很多朋友听到vpn的第一反应就是用来翻墙的,但实际上vpn的出现主要是为了解决我们刚才说的异地访问内网服务,尤其是大公司使用非常广泛,只不过vpn对数据进行了加密,顺便实现了翻墙,类似翻墙技术的shadowsocks、vmess、vless、trojan,vpn技术的协议实现有wireguard、openvpn、IPsec VPN、L2TP等等,根据使用场景主要分为点对点vpn和远程访问vpn两种类型
点对点vpn简单理解就是vpn隧道部署在两台路由器上,也就是虚拟的网线两端都插在路由器上,实现两个路由器内部网络直接互通,这种方式在企业中应用广泛,如果你有两个家的话也可以用这种部署方式
远程访问vpn简单理解就是虚拟网线一头插在路由器上,另一头直接插在用户电脑上,此时的路由器充当了vpn服务器,电脑通过vpn客户端拨号连接vpn,大部分个人用户以及外地出差连接公司网络都是使用这种方式,我们也主要讲解这种配置方式
以linux之父将其称为艺术品的wireguard为例,wireguard即支持点对点的配置方式,也支持远程访问的配置方式
我在这期讲解各种代理模式的教程中也简单提到了wireguard vpn,当时说有机会再讲,转眼已经过去一年多了,其实如果你懂了clash的tun模式,那么理解wireguard也就水到渠成了,二者区别主要在于vpn可以直接封装网络层
假设家里的路由器wan口是运营商分配的公网ip2.2.2.2,lan口局域网网段是192.168.2.1,当路由器运行wireguard vpn之后,wireguard会开启一个udp端口,假设为23456,同时系统会创建一个虚拟的网络接口,并给接口配置了一个内网网段,假设为192.168.5.1/24
电脑的物理网卡通过网线连接到互联网,获取到运营商分配的公网ip假设为3.3.3.3,注意电脑并不需要在公网环境,我这里只是为了简便省略nat环节
当电脑使用wireguard客户端连接vpn的时候,同样会在电脑创建一个虚拟网络接口,ip地址假设为192.168.5.2,vpn成功连接之后,相当于电脑的虚拟网卡接口和路由器的虚拟网卡接口通过虚拟的网线连在一起,这条虚拟的连接就是vpn tunnel,也就是隧道,既然是虚拟的,那么该怎么通信呢?
假设此时我想访问家里192.168.2.2在80端口开启的nas服务,电脑直接在浏览器输入nas的内网地址192.168.2.2,浏览器会生成一条http请求,通过tcp传输,从本机随机开启的9527端口发送到目标192.168.2.2的80端口,这个数据包会被路由进wireguard开启的tun虚拟网卡,而wireguard可以直接从虚拟网卡里读取数据,并将数据加密,注意wireguard是加密包含了ip头部的整个网络层数据包,而clash的tun模式从虚拟网卡读到数据后,由于ss vmess之类的代理协议无法处理ip头部,所以还要使用gvisor或者system协议栈去掉ip头部解析出上层的payload,才能交给对应的代理协议进行加密封装处理,这也是二者主要的区别
接着wireguard使用他的协议格式对加密后的数据进行封装,通过udp将数据从本机开启的随机端口4134,发送到路由器的公网ip地址2.2.2.2对应的23456端口,数据将从电脑的物理网卡发出,通过公网传输,由于数据经过了加密,公网其他人看不到数据包内容,不过知道你传输的是wireguard数据,路由器将在物理网口wan收到加密数据,并将数据交给监听了23456端口的wireguard,wireguard收到数据后对其进行解密,再将解密后的数据写入虚拟网卡中,此时路由器发现数据包是发给192.168.2.2,于是将其转发给lan区域的nas服务,nas将在80端口收到192.168.5.2从4134端口发给他的数据
接着nas需要返回数据给他,从nas的80端口将数据发给192.168.5.2的9527端口,由于不是同一网段,数据将会发给路由器,路由器根据目标ip将数据发给wireguard的虚拟网卡,wireguard从网卡里读取数据并进行加密,然后重新封装成wireguard协议,并从物理网卡发出,数据经过公网传输来到了电脑,电脑从物理网卡收到数据后,将其转交给wireguard开启的4134随机端口,wireguard将解密后的数据写入虚拟网卡,经过层层解封装,数据将会交给浏览器的9527端口,经过浏览器的渲染,页面呈现在我们面前,虽然我们是经过公网传输数据,但从虚拟接口的角度来看,就像数据是从电脑的虚拟接口,直接通过vpn隧道将数据传送到路由器的虚拟接口,实现两个内网互通,这就是vpn的工作原理,另外由于我们的vpn是搭建在路由器上,所以电脑的上网数据也可以通过vpn传输到路由器,路由器再帮我们转发到互联网,如果路由器运行了代理插件,电脑也能通过vpn实现科学上网了,此时你应该就能回答,为什么vpn可以获取真实的ping延迟,因为ping是网络层的工具,vpn可以封装代理网络层,而ss vmess无法代理网络层,所以在tun模式下,要么无法ping通,要么返回1ms假延迟,要么绕过代理返回直连的ping延迟,总之不可能获取到被墙ip的ping值
接下来就手把手教大家在软路由上搭建wireguard,考虑到很多朋友家里没有公网ipv4地址,所以教程是基于ipv6搭建的,开始之前先确保你的网络接口有公网ipv6地址,可以参考之前的教程先配置好ipv6,只要确保路由器接口有ipv6地址就可以了,局域网其他设备没有ipv6也不影响
本次教程需要用到这三款插件,跟着视频操作安装,来到系统下的软件包,先更新列表,搜索ddns,安装这个luci插件,用这款的目的主要是为了方便使用免费的ddns服务,如果你有自己的域名,并且用上期软路由教程中介绍过的ddns-go插件做好了ddns配置,可以不用安装本期介绍的这款ddns插件,接着搜索wireguard,同样安装这个luci插件,最后安装qrencode,用于生成wireguard配置二维码,来到启动项,找到network,点击重启,这一步很关键,重启之后wireguard才会生效,接着状态下就会出现wireguard的选项,目前我们没有还没有配置接口,来到网络下的接口页面,在配置wireguard接口之前,我们先给这个ipv6地址做ddns配置,可以使用这个免费的ddns服务,点击右上角的sign up进行注册,填写邮箱和密码注册,收到激活邮件后激活就行了,我已经注册过了就点击sign in进行登陆,登录之后要求我们创建一个域名,按你的个人喜好设置前缀,由于是免费服务,有些后缀可能存在dns污染,比如这个后缀的ipv4被污染到127.0.0.1,尽量选择冷门的,点击创建,此时就获取到了一个免费域名了,你可以在这里手动添加解析记录当普通域名用,我们主要让软路由自动帮我们添加和更新解析,回到软路由,进入刚才安装的动态dns插件,将两个示例配置删除,添加一个新服务,名称随便填,版本选择ipv6,服务提供商选择刚才注册的dynv6,点击创建,接着点击编辑,这里填入我们刚才申请的域名,这里也一样,用户名随便输入,密码填入这个,其他保持默认,高级设置里,将ip来源改成接口,选择ipv6地址所在的接口,其他保持默认,计时器按需设置,比如多久检测一次接口ip是否发生改变,以及即使接口ip没有发生改变也强制更新域名解析,不填就按默认值,点击保存,最后点击保存并应用,然后点击重新加载,此时就会变成运行中,可以在日志查看器中查看详细的运行状态,可以看到在wan口获取到了ipv6地址,然后会和域名原来的解析记录进行对比,刚注册的域名没有任何解析,当发现二者不一样之后,将会更新域名的解析,这里表示更新成功,接着等待600秒之后再检测,也就是我们刚才在计时器中设置的10分钟,这里有个注意事项,你的路由器本身必须要能够获取域名的ipv6解析记录,ddns插件才能正常运行,因为路由器要进行dns查询获取到域名的ipv6才能和接口上的ipv6进行对比,有些朋友可能看了这期教程关闭了ipv6的dns解析就会导致ddns插件无法正常工作,可以回看教程重新开启或者部分域名开启ipv6解析功能
此时回到ddns网站,可以看到这里自动添加了一条ipv6的解析记录,ip就是我路由器wan口的ip地址,稍等片刻后尝试进行dns查询,可以正确获取到域名的ipv6地址,确保没有出现被污染的ipv4地址,至此ddns的设置就算是完成了
接下来开始配置wireguard vpn,来到网络接口,添加新接口,随便给个名称,协议选择wireguard vpn,点击创建,点击生成密钥对用于加解密数据,随便设置一个端口,比如23456,设置该接口所使用的ip段,不能和已存在的内网网段冲突,我现在的内网网段是192.168.2,那我可以设置成192.168.5,点击添加,其他保持默认,防火墙设置为lan区域,个人使用没必要再单独划一个区域给自己找麻烦,点击添加对端,随便给个方便区分的描述,比如是给手机用的,点击生成密钥对,预共享密钥可以不用设置,允许的ip随便填写一个网段内的ip,比如这个接口的ip刚才设置的是192.168.5.1,那我这里可以设置为192.168.5.2,点击添加,其他保持默认,最后点击生成配置,这就是wireguard客户端需要用到的配置文件,非常简洁,左侧还有配置对应的二维码,这里可以看到端点自动配置成了我们的ddns域名,来到最上方,你如果是用其他插件设置的ddns,可以在这里手动填写域名,接着这个配置就可以在其他设备上使用了,可以在这个网址获取各个操作系统的软件安装包,先演示手机端,在app store使用非国区ID下载wireguard, 软件很简洁,点击中间的添加隧道,选择扫描二维码,随便设置一个名称,点击允许,这样就添加了一条配置,现在还不能连接,即使连接了也没网,因为路由器还没保存配置,点击保存,接着保存并应用,最后重启一下wireguard的网络接口,另外由于我们开启了防火墙,还需要对外放行wireguard监听的端口23456,来到防火墙下的通信规则,点击添加,随便给个名称,wireguard是通过udp传输的,所以只需放行udp,源区域设置为wan,目标区域设置为设备,目标端口填写23456,动作为接受,在高级设置里将协议设置为仅ipv6,点击保存,最后点击保存并应用,这样一切准备就绪了,回到接口,可以看到wireguard的网络接口已经有数据了
手机目前是使用运营商的5g网络,已经连接到了vpn,此时我使用手机访问家里的路由器管理地址192.168.2.1,成功进入了路由器的管理界面,接口的数据量也相应的增加了,此时这台手机就好像是连接了家里的wifi一样,可以直接通过局域网ip访问内网资源,假设这台电脑在8000端口开了NAS服务,不需要将其暴露在公网,现在这台连接了wireguard vpn的手机可以直接通过内网ip访问相应的资源,非常方便,可以看到相应的访问日志,访问者的ip是我们在wireguard里设置的192.168.5.2,需要注意的是192.168.2和192.168.5是不同的网段,由于二者都在lan区域,需要开启lan区域内的转发才能成功互访,之前已经详细介绍过了
另外连上wireguard之后,同样可以利用软路由上的代理插件实现科学上网,分流也是按照你路由器的设置,网速取决于你家带宽的上行速度以及节点的速度,总之手机就像是连上了家里的wifi,这就是真正的vpn所实现的效果,可以在状态下的wireguard查看已连接的对段信息,包括手机的公网ipv6地址,以及传输的流量
可以继续添加其他对端,回到网络接口,编辑wireguard接口,点击添加对端,随便给个描述,操作方式是一样的,ip填写一个没有被占用的,比如192.168.5.3,其他保持默认,点击生成配置,这个配置就可以在你的其他设备使用了,记得要先保存配置,并且重启wireguard的网络接口,否则不会生效
以mac为例,windows也是一样的操作方式,选择添加空隧道,复制刚才的配置文件,将里面的内容替换掉,随便给个名称,点击保存,接着就可以启动了,启动之后就像手机一样,相当于连接到家里的局域网了
另外有些朋友可能连上wireguard之后会出现网络卡顿严重,远达不到家里的上行带宽,很大概率是wireguard默认mtu太大导致数据包被分片,分片会严重影响网络性能,你可以使用抓包工具wireshark观察这一现象,测速的时候如果wireguard数据包中掺杂了大量如图所示的白色背景数据包,就是经过了分片,需要调小wireguard的mtu,比如1400或者1380,如果还存在分片的话可以继续调小,至于mtu啥作用有机会再细讲
最后再来讲讲通过ss/vmess节点访问家里的内网
虽然没法像vpn一样代理网络层,但我可没说过不能代理内网ip地址
首先还是和上期讲过的一样,在软路由上搭建一个节点,不管是homeproxy还是openclash或者其他代理插件都可以,我在7788端口搭建了一个vmess节点,接着我用小火箭连接这个节点,节点可以正常科学上网,但是我不能访问路由器的管理地址,分流是配置模式,来测试一下192.168.2.1是怎么路由的,可以看到是直连,我们需要让这个地址被代理,搜索对应的规则,将其改成代理,保存之后重新访问,你会发现依然无法访问,因为这种内网地址大多数代理工具会默认绕过,即使开了全局模式,来到通用设置,可以看到这个内网段被跳过了代理,这里的优先级要比你自己的分流配置文件高,将其删除,保存配置,此时我们再来访问路由器,就可以成功通过内网地址访问了,同样也可以访问内网nas服务,访问日志显示是路由器的192.168.2.1,所以不要将你家的节点随便分享给别人,指不定你内网某些隐私服务就被别人扒拉干净了,还有那些暴露在公网的clash,真的以为自己只是暴露了个节点吗?
其他客户端也是和小火箭一样操作,让你局域网的网段通过节点代理就行了.
No comments:
Post a Comment