科学上网解释( 写给新手) #1256
kulongwangzhi85
started this conversation in
General
科学上网解释( 写给新手)
#1256
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
科学上网解释
这里只记录v2ray软件方法,其它软件自行脑补
根据使用场景可分为:
1、终端直连v2ray服务器,例如手机,或笔记本电脑直连进行科学上网。该场景相对简单不做讨论
2、使用v2ray软件作为内网透明代理网关,将内网有科学上网需求的流量加密转发至国外v2ray。该场景相对复杂,根据流量是否经过v2ray,又可分为主路由模式和旁路由模式。
NOTE:为什么是按照流量呢?而不是按照v2ray软件所安装位置呢?
2.1、所有流量经过v2ray
有的将v2ray安装在主路由上,所有流量都经过v2ray,包括国内ip以及域名。v2ray表示亚历山大。虽然v2ray只需要简单判断与路由就直接从freedom出站接口出去,但对于整个网络路径来说就变长了些。原本有些网络数据报文直接从内核处理完成就出去了,但现在必须再往上传到v2ray等代理软件处理。好处是维护简单,我们只需维护一份geoip和geosite。坏处是国内流量也必须经过v2ray处理。
还有的将v2ray安装在旁路由上,例如树莓派等。但是在主路由上将dhcp配置时,将网关设置为了旁路由。因此该模式虽然v2ray安装在旁路由上,但和安装在主路由上的没神马区别。
2.2、国内流量直接出网关,科学上网流量经过v2ray
这个方法需要DNS配合使用,也就是你的DNS必须解析出正确的IP地址,无污染的。可以使用v2ray提供的DNS模块。
如果只使用DNS的话,对于那些不做解析的软件,直接使用IP地址发起连接的则无能为力。需要配合防火墙使用,将国外IP使用防火墙转发至v2ray上。
我在该使用方法上再配合fakedns,将我想要的域名解析成了内网地址。这样只需一条路由即可完成。而且我的IPhone手机在外出时使用wireguard连接回家里,科学上网回家里出去,正常国内流量直接出手机。也只需一条路由完成。客户端要钱!虽然有美区账号,但不想再掏钱了,vps主机用的是aws lightsail 3.5$每月!!
上面这几种使用方法你使用哪一种呢?
下面我将我的配置方法与避坑要点奉上!
环境说明
网关:debian10
宽带:某运营商光纤入户,PPPoE拨号
防火墙:nftables
dns服务器:coredns
代理软件:v2ray(安装在网关上)
网络环境:ip4+ip6双栈
VPS:AWS 美国节点 lightsail,ip4+ip6双栈
服务端配置
服务器端非常简单,
注意:如果你有ipv6环境,建议开启vps安全组或防火墙入站方向的ICMPv6,因为ipv6需要借助ICMPv6协议进行一些PMTU(路径最大传输单元)等功能,如果你不希望被ping6到,请使用防火墙完成。ipv4的icmp不用打开。
网关代理服务器配置
使用coredns作为DNS后端服务器用来缓存使用。采用监听两个端口5353可以解析到国内域名,5335解析国外域名,该5335使用8.8.8.8作为上游dns,从v2ray出去。
注意:如果你想直接使用范例,请将注释删除。带#号后面的就是注释
由于使用fakedns,所以无需解析国外域名
这里大家有没发现,route中没有proxy的设置。所以第一个出站一定是你的代理。
还有一点就是发现 ,使用了"domainStrategy": "Asis",国外网站由于使用fakedns,可以不使用coredns地址,也就是出国部分的域名,直接出代理不做解析。
防火墙配置(nftables)
路由与路由规则
Beta Was this translation helpful? Give feedback.
All reactions