科学上网技术原理和及配置教程

科学上网技术原理及配置教程

1.什么是科学上网?

由于中国大陆的一些政治原因,我们上国际互联网的流量在出国的时候一般会受到政府的审查。(其他的国家没有上网流量审查,中国特有,上国内的网站不会被屏蔽),类似于google,facebook,twitter的一些网站一般会都会被政府的屏蔽,导致我们在中国大陆是无法直接访问这些被屏蔽的网站的,因此我们需要借助一些特别的技术手段实现访问这些被屏蔽的网站
我们通常上网的流量在访问国际互联网首先要经过政府的流量审查设备GFW(Great FireWall),因此我们要访问那些被屏蔽的网站,如google,首先就要过GFW这一关
要绕过GFW我们首先要明白GFW的工作原理

  • GFW工作原理
    GFW通常通过域名、IP、关键字等进行流量审查(但不仅限于这些手段),因此我们要绕过GFW就要绕过GFW就要借助这些特点
    sequenceDiagram
     用户->> GFW:访问google
     GFW -->> Google: 丢弃数据包
    
    如果我们使用科学上网一般是这样的
    sequenceDiagram
    用户 ->> GFW:访问代理服务器
    GFW ->> 代理服务器: (正常访问)
    代理服务器 ->> Google: (访问成功)
    

2.常用的科学上网手段

  • VPN
    VPN(Virtual Private Network)虚拟专用网络,一般用于企业中为了实现多地区组网实现加密通讯的一种协议。正是由于VPN加密的特点,使得VPN可以用于科学上网,不过近些年由于GFW的不断升级,GFW现如今很容易识别到VPN流量,因此现如今使用VPN实现科学上网的方式并不安全。

  • Shadowsocks协议
    一种简单的基于socks5代理方式的加密传输协议,最早由clowwindy为了实现科学上网而开发,轻量而且抗封锁

  • ShadowosocksR协议
    Shadowsocks协议的加强版本

  • VMess协议
    VMess协议是v2ray原创的加密通讯协议(也是为了实现科学上网)

  • VLess协议
    VLESS是一种无状态的轻量级数据传输协议,被定义为下一代V2ray数据传输协议。

  • Trojan协议
    Trojan使用TLS加密模式模仿互联网最常见的https流量,以逃过防火墙的识别。

  • hyster*

3.详细技术原理

1.以shadowsocks为例
shadowsocks程序中有两个核心程序分别为ss-server和ss-local

整个工作流程

graph TD
client-->|socks5|ss-local
ss-local--crypto-->ss-server
ss-server--decrypto-->destination_site
destination_site-->ss-server
ss-server-->|crypto|ss-local
ss-local-->|decrypto|client

1.客户端需要代理的程序首先将需要代理的流量封装成socks5数据包发送给本地代理客户端ss-local

2.ss-local接收到来自客户端程序发送来的流量之后,将数据包解封装还原成原始流量,并将数据包重新封装成shadowsocks数据包,并将数据包进行加密,发送给远程shdowsocks服务器ss-server。

3.ss-server接收到ss-local客户端发送来的数据后,首先将数据解析,并将数据进行解密,还原成原始数据报文,并根据数据报文中的信息,请求客户端实际需要请求的服务器。

4.ss-server接收到实际请求的服务器返回来的数据报文,将数据报文首先进行加密,并将数据报文封装成shadowsocks数据包文,发送给远程客户端ss-local。

5.客户端ss-local接收到数据包后将数据包进行解密,还原数据原始报文,并将数据包文封装成socks5协议数据包返回给实际代理的应用程序。

4.科学上网服务器部署

以下部署环境均基于Ubuntu-20.04环境进行部署

1.shadowsocks

1.1 shadowsocks服务端

1.安装shadowsocks服务文件

1
2
3
#获取源码
wget https://github.com/shadowsocks/shadowsocks-libev/releases/download/v3.3.5/shadowsocks-libev-3.3.5.tar.gz
#编译完得到ss-server可执行文件

2.修改配置文件(服务端)

1
2
3
4
5
6
7
8
{
"server":["::0","0.0.0.0"], //监听的地址
"server_port":8388, //监听的端口
"method":"chacha20-ietf-poly1305", //加密算法
"password":"ExamplePassword", //密码
"mode":"tcp_and_udp", //模式
"fast_open":false //是否打开fast_open,(fast_open可以减少多次tcp传输数据之前的握手次数。)
}

3.创建service文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
vim /usr/lib/systemd/system/shadowsocks-libev-server@.service

[Unit]
Description=Shadowsocks-Libev Custom Client Service for %I
Documentation=man:ss-local(1)
After=network.target

[Service]
Type=simple
User=nobody
Group=nogroup
LimitNOFILE=32768
ExecStart=/usr/bin/ss-server -c /etc/shadowsocks-libev/config.json

[Install]
WantedBy=multi-user.target

#重载systemd
systemctl daemon-reload

4.启动shadowsocks服务器

1
systemctl start shdowsocks-libev-server@.service

1.2 shadowsocks客户端

1.安装shadowsocks服务文件

1
2
3
#获取源码
wget https://github.com/shadowsocks/shadowsocks-libev/releases/download/v3.3.5/shadowsocks-libev-3.3.5.tar.gz
#编译完得到ss-localr可执行文件

2.创建配置文件

1
2
3
4
5
6
7
8
9
10
vim /etc/shadowsocks-libev/config.json

{
    "server" : "127.0.0.1", //ss-server的ip地址
    "server_port": 8388, //ss-server监听的端口
    "local_port": 1080, //本地提供socks5代理的端口
    "password": "ExamplePassword", //服务端验证密码
    "timeout": 300, //超时时间
    "method": "chacha20-ietf-poly1305" //加密方法
}

3.创建service文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
sudo vim /usr/lib/systemd/system/shadowsocks-libev-local@.service

[Unit]
Description=Shadowsocks-Libev Custom Client Service for %I
Documentation=man:ss-local(1)
After=network.target

[Service]
Type=simple
# CapabilityBoundingSet=CAP_NET_BIND_SERVICE
User=nobody
Group=nogroup
LimitNOFILE=32768
ExecStart=/usr/bin/ss-local -c /etc/shadowsocks-libev/config.json


[Install]
WantedBy=multi-user.target

sudo systemctl daemon-reload

4.启动shadowsocks客户端

1
sudo systemctl restart shadowsocks-libev-local@.service

2.xray

2.1 xray服务端配置

1.获取Xray内核,这里直接从github下载二进制文件

1
2
3
wget https://github.com/XTLS/Xray-core/releases/download/v1.7.5/Xray-linux-64.zip
#一键安装脚本
bash <(curl -Ls https://raw.githubusercontent.com/daveleung/hijkpw-scripts-mod/main/xray_mod1.sh)

2.解压文件

1
2
mkdir /usr/local/xray
sudo unzip Xray-linux-64.zip -d /usr/local/xray #将v2ray压缩包指定解压到v2ray目录下

解压完一会得到几个文件

  • xray xray的核心文件
  • geosite.dat 用于流量分流的域名规则
  • geoip.dat 用于流量分流的ip规则
  • readme.md 说明文档

3.创建服务端配置文件
基于vless+kcp传输协议

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
sudo mkdir /etc/xray
sudo vim /etc/xray/config.json
{
"log": {
"access": "/var/log/xray/access.log",
"error": "/var/log/xray/error.log",
"loglevel": "info"
},
"inbounds": [
{
"port": 443,
"protocol": "vless",
"settings": {
"clients": [
{
"id": "63a1897b-895d-4307-ae9f-558cf04d4138" //表示符用于客户端验证
}
],
"decryption": "none",
"fallbacks": [
{
"dest": 80
}
]
},
"streamSettings": {
"network": "kcp",
"security": "tls",
"tlsSettings": {
"certificates": [
{
"certificateFile": "/root/.acme.sh/v.tbctl.cn_ecc/fullchain.cer",
"keyFile": "/root/.acme.sh/v.tbctl.cn_ecc/v.tbctl.cn.key"
}
]
},
"tcpSettings": {},
"httpSettings": {},
"kcpSettings": {
"mtu": 1350,
"tti": 50,
"uplinkCapacity": 100,
"downlinkCapacity": 100,
"congestion": false,
"readBufferSize": 2,
"writeBufferSize": 2,
"header": {
"type": "wechat-video"
},
"seed": "9yPvIsO0"
},
"wsSettings": {},
"quicSettings": {}
},
"domain": "v.tbctl.cn"
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
},
{
"protocol": "blackhole",
"settings": {},
"tag": "block"
}
],
"routing": {
"rules": [
{
"type": "field",
"ip": [
"0.0.0.0/8",
"10.0.0.0/8",
"100.64.0.0/10",
"169.254.0.0/16",
"172.16.0.0/12",
"192.0.0.0/24",
"192.0.2.0/24",
"192.168.0.0/16",
"198.18.0.0/15",
"198.51.100.0/24",
"203.0.113.0/24",
"::1/128",
"fc00::/7",
"fe80::/10"
],
"outboundTag": "block"
}
]
}
}

4.创建service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
sudo vim /usr/lib/systemd/system/xray.service

[Unit]
Description=Xray Service
Documentation=https://github.com/xtls
After=network.target

[Service]
User=root
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
NoNewPrivileges=true
ExecStart=/usr/local/xray/xray run -config /etc/xray/config.json
RestartPreventExitStatus=23


[Install]
WantedBy=multi-user.target



#重载文件
systemd daemon-reload

4.启动xray服务器

1
sudo systemctl start xray.service

2.2 xray客户端

1.获取Xray内核

这里直接从github下载二进制文件

1
wget https://github.com/XTLS/Xray-core/releases/download/v1.7.5/Xray-linux-64.zip
2.解压文件
1
2
mkdir /usr/local/xray
sudo unzip Xray-linux-64.zip -d /usr/local/xray #将v2ray压缩包指定解压到v2ray目录下
3.配置客户端配置文件
1
vim /etx/xray/config.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155

{
"log": {//日志
"loglevel": "warning",
"error": "/var/log/xray/error.log",
"access": "/var/log/xray/access.log"
},
"inbounds": [
{
"tag": "all-in",
"port": 12345,
"protocol": "dokodemo-door", //用于透明代理,这里默认监听到0.0.0.0,不能监听到127.0.0.1,如果监听到127.0.0.1会导致透明代理失败,对于端口对外暴漏的问题可以通过设置防火墙规则来实现
"settings": {
"network": "tcp,udp",
"followRedirect": true
},
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls"]
},
"streamSettings": {
"sockopt": {
"tproxy": "tproxy"
}
}
},
{
"tag": "socks", //如果需要socks代理可以设置这一段,注意,socks代理端口不能对外暴露,尤其是在云服务器上,
"port": 1080,
"listen": "127.0.0.1", //这里一定要监听到本地
"protocol": "socks",
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls"
],
"routeOnly": false
},
"settings": {
"auth": "noauth",
"udp": true,
"allowTransparent": false
}
}
],
"outbounds": [
{
"tag": "direct",
"protocol": "freedom",
"settings": {
"domainStrategy": "UseIPv4"
},
"streamSettings": {
"sockopt": {
"mark": 2 //用于tproxy对流量进行分类,防止流量回环,这个值要和后面的iptables的配置值对应。
}
}
},
{
"tag": "proxy",
"protocol": "vless",
"settings": {
"vnext": [
{
"address": "v.tbctl.cn",
"port": 443,
"users": [
{
"id": "63a1897b-895d-4307-ae9f-558cf111111",
"alterId": 0,
"email": "t@t.tt",
"security": "auto",
"encryption": "none",
"flow": ""
}
]
}
]
},
"streamSettings": {
"network": "kcp",
"security": "tls",
"tlsSettings": {
"allowInsecure": false,
"show": false
},
"kcpSettings": {
"mtu": 1350,
"tti": 50,
"uplinkCapacity": 12,
"downlinkCapacity": 100,
"congestion": false,
"readBufferSize": 2,
"writeBufferSize": 2,
"header": {
"type": "wechat-video"
},
"seed": "9yPvIsO0" //kcp seed
}
},
"mux": {
"enabled": false,
"concurrency": -1
}
}
],
"dns": { //dns服务器
"hosts": {
"dns.google": "8.8.8.8"
},
"servers": [
{
"address": "https+local://dns.alidns.com/dns-query",
"domains": ["domain:geosite:cn","bing.com"],
"expectIPs": ["geoip:cn"],
"skipFallback": false
},
{
"address": "https+local://doh.pub/dns-query",
"domains": ["domain:geosite:cn"],
"expectIPs": ["geoip:cn"],
"skipFallback": false
},
"https://1.1.1.1/dns-query",
"https://1.0.0.1/dns-query",
"https://dns.google/dns-query"
]
},
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"inboundTag": ["all-in"],
"port": 53,
"outboundTag": "dns-out"
},
{
"type": "field",
"ip": ["8.8.8.8", "1.1.1.1"],
"outboundTag": "proxy"
},
{
"type": "field",
"domain": ["geosite:category-ads-all"],
"outboundTag": "block"
},
{
"type": "field",
"domain": ["geosite:geolocation-!cn"],
"outboundTag": "proxy"
}
]

4.启动客户端
1
sudo systemctl start xray.service
*5.配置透明代理(可选)
5.1 配置路由转发
1
2
3
vim /etc/sysctl.conf
#添加
net.ipv4.ip_forward=1
5.2 配置流量重定向(使用iptables)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
iptables -t mangle -N XRAY
#法网内网服务器的数据包不转发
iptables -t mangle -A XRAY -d 10.0.0.0/8 -j RETURN
iptables -t mangle -A XRAY -d 100.64.0.0/10 -j RETURN
iptables -t mangle -A XRAY -d 127.0.0.0/8 -j RETURN
iptables -t mangle -A XRAY -d 169.254.0.0/16 -j RETURN
iptables -t mangle -A XRAY -d 172.16.0.0/12 -j RETURN
iptables -t mangle -A XRAY -d 192.0.0.0/24 -j RETURN
iptables -t mangle -A XRAY -d 224.0.0.0/4 -j RETURN
iptables -t mangle -A XRAY -d 240.0.0.0/4 -j RETURN
iptables -t mangle -A XRAY -d 255.255.255.255/32 -j RETURN
iptables -t mangle -A XRAY -d 192.168.0.0/16 -p tcp ! --dport 53 -j RETURN
iptables -t mangle -A XRAY -d 192.168.0.0/16 -p udp ! --dport 53 -j RETURN
#ssh数据包不转发,不配置会导致ssh连接不上
iptables -t mangle -A XRAY -p tcp --dport 22 -j RETURN
#ocserv数据包不转发
iptables -t mangle -A XRAY -p tcp --dport 8443 -j RETURN
iptables -t mangle -A XRAY -p udp --dport 8443 -j RETURN
#数据包转发到本地12345端口
iptables -t mangle -A XRAY -p tcp -j TPROXY --on-port 12345 --tproxy-mark 1
iptables -t mangle -A XRAY -p udp -j TPROXY --on-port 12345 --tproxy-mark 1
#将所有的即将路由的流量重定向到XRAY链(实现局域网其他设备透明代理)
iptables -t mangle -A PREROUTING -j XRAY

#创建XRAY_SELF链
iptables -t mangle -N XRAY_SELF

#内网ip段直连
iptables -t mangle -A XRAY_SELF -d 10.0.0.0/8 -j RETURN
iptables -t mangle -A XRAY_SELF -d 100.64.0.0/10 -j RETURN
iptables -t mangle -A XRAY_SELF -d 127.0.0.0/8 -j RETURN
iptables -t mangle -A XRAY_SELF -d 169.254.0.0/16 -j RETURN
iptables -t mangle -A XRAY_SELF -d 172.16.0.0/12 -j RETURN
iptables -t mangle -A XRAY_SELF -d 192.0.0.0/24 -j RETURN
iptables -t mangle -A XRAY_SELF -d 224.0.0.0/4 -j RETURN
iptables -t mangle -A XRAY_SELF -d 240.0.0.0/4 -j RETURN
iptables -t mangle -A XRAY_SELF -d 255.255.255.255/32 -j RETURN
iptables -t mangle -A XRAY_SELF -d 192.168.0.0/16 -p tcp ! --dport 53 -j RETURN
iptables -t mangle -A XRAY_SELF -d 192.168.0.0/16 -p udp ! --dport 53 -j RETURN
iptables -t mangle -A XRAY_SELF -p tcp --sport 22 -j RETURN
#这里之所以要跳过8443端口,是因为后面需要通过ocserv服务器中转,8443是这里配置的ocserv的监听端口
iptables -t mangle -A XRAY_SELF -p tcp --sport 8443 -j RETURN
iptables -t mangle -A XRAY_SELF -p udp --sport 8443 -j RETURN
iptables -t mangle -A XRAY_SELF -m mark --mark 2 -j RETURN
#tproxy有一个特性,所有经OUTPUT链打标签的流量将重新发送到PREROUTING链上重新路由,因此这里将标签打1,流量会重新到达PREROUTING链
iptables -t mangle -A XRAY_SELF -p tcp -j MARK --set-mark 1
iptables -t mangle -A XRAY_SELF -p udp -j MARK --set-mark 1

#将本地OUTPUT链的流量重定向到XRAY_SELF链,实现本地主机透明代理
iptables -t mangle -A OUTPUT -j XRAY_SELF
#添加策略路由

#防止端口暴露,阻止外部连接代理端口(尤其实在云服务器上,如果暴露端口,很可能会被云服务器厂商警告)
iptables -t filter -A INPUT -p tcp --dport 12345 ! -i lo -j DROP
iptables -t filter -A INPUT -p udp --dport 12345 ! -i lo -j DROP
#防ping
iptables -t filter -A INPUT -p icmp --icmp-type echo-request -j DROP
iptables -t filter -A INPUT -p icmp --icmp-type echo-reponse -j DROP
5.3 配置路由策略
1
2
sudo ip route add local default dev lo table 100 # 添加路由表 100(匹配到这个规则的数据包都被视为lo网卡发出的
sudo ip rule add fwmark 1 table 100 # 为路由表 100 设定规则
*5.4 设置开机自启动(可选)

保存iptables规则

1
sudo bash -c "iptables-save > /etc/iptabels/iptables.rules"

创建service文件

1
sudo vim /usr/lib/system/system/iptables.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description=IPv4 Packet Filtering Framework
Before=network-pre.target
Wants=network-pre.target
After=network.target xray.service

[Service]
User=root
Type=simple
ExecStartPre=/bin/bash -c "sudo ip route add local default dev lo table 100; sudo ip rule add fwmark 1 table 100"
ExecStart=/usr/sbin/iptables-restore /etc/iptables/iptables.rules

[Install]
WantedBy=multi-user.target

1
2
3
4
5
#配置xray开机自启动
sudo systemctl enable xray

#配置iptables开机自动重载规则
sudo systemctl enable iptables
*6.通过ocserv服务器进行中转(可选)

为了使用更加的方便,可以将xray客户端搭建在云服务器上,然后再云服务器上搭建ocserv服务端,通过配置路由规则,将ocserv客户端的流量通过ocserv服务器用xray进行转发,实现科学上网

整个技术架构

sequenceDiagram  
OcservClient->>OcservServer:Crypto(DTLS)
OcservServer->>XrayClient:Origin
XrayClient->>XrayServer:Crypto(VLESS+kcp+tls)
XrayServer->>RealServer:Origin

实现通过ocserv进行中转的前提是服务器已经配置好透明代理,只要配置好透明代理,服务器上所有的流量都会走xray进行路由匹配,如果检测到需要路由的流量,xray会对流量进行自动代理。因此要实现通过ocserv对流量进行中转只需要将服务器的ocserv配置好即可,并且将ocserv和客户端通信的流量从xray过滤即可,防止ocserv直连客户端的流量同样走代理

6.常用的客户端软件配置(基于windows)

6.1 基于Windows

6.1.1.ClashForWindows

Clash for Windows是代理工具Clash在Windows系统的唯一图形客户端,同时还支持Windows、Linux、macOS三大系统,功能强大且支持多种代理协议,如Shadowsocks(SS)、ShadowsocksR(SSR)、Socks、Snell、V2Ray、Trojan等代理协议。以下是配置步骤

1.获取ClashForWindows
下载windows下clash客户端💻
2.点解clash主界面的profile选项
点解profile
3.输入订阅链接(由购买的机场提供)后并点击下载
输入订阅链接
4.点击下载好的配置文件
点击下载好的配置文件
5.返回节点列表,进行刷新,选择合适的可用的节点
选择合适的节点

6.1.2.V2rayN

v2rayN是Windows系统下的代理软件客户端,功能强大且支持多种代理协议,如VMess、VLESS、Trojan、Socks、Shadowsocks等代理协议
1.获取V2rayN文件
下载V2rayN

2.解压并启动V2rayN
解压3.添加订阅连接
添加订阅链接
4.返回节点列表,选择节点
选择节点

6.2.基于Linux

6.2.1 Clash

1.获取Linux平台下clash可执行文件
下载Linux下clash客户端💻
2.解压配置文件

1
2
3
4
5
6
#解压
gunzip clash-linux-amd64-v1.12.0.gz
#重命名并附加可执行权限
mv clash-linux-amd64-v1.12.0 clash && chmod +x clash && mv clash /usr/local/bin/clash
#创建clash配置文件目录
sudo mkdir /usr/local/etc/clash

3.获取配置文件

1
curl -o /usr/local/etc/clash/config.yaml $URL #URL由机场进行提供

4.第一次启动clash(去下载geoip库)

1
clash -d /usr/local/etc/clash

5.使用systemd管理clash启动与停止

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
vim /usr/lib/systemd/system/clash.service
[Unit]
Description=A rule based proxy in Go for %i.
After=network.target

[Service]
Type=simple
User=%i
Restart=on-abort
ExecStart=/usr/local/bin/clash -d /usr/local/etc/clash #根据实际clash可执行文件和clash配置文件所在的位置自行修改

[Install]
WantedBy=multi-user.target

systemctl daemon-reload

6.启动clash

1
systemctl start clash.service

7.*配置透明代理

1
2
3
4
5
6
iptables -t nat -N CLASH_TCP_RULE
#创建新的规则链
iptables -t nat -A PREROUTING -p tcp -j CLASH_TCP_RULE
iptables -t nat -A CLASH_TCP_RULE -p tcp -d 192.168.0.0/16 -j RETURN
#不对局域网地址进行转发
iptables -t nat -A CLASH_TCP_RULE -p tcp -j REDIRECT --to-ports 1082(此为clash配置的透明代理端口)

7.如何借助局域网已经科学上网设备设备实现科学上网?

1.代理模式

此次实例仍然基于clash进行演示。
对于不便于装上科学上网的客户端的设备可以使用局域网已经实现科学上网的设备实现科学上网,基本原理如下
大体流程
配置流程

1.开启clash的局域网访问

提前准备

2.获取主机的ip和端口

1.获取ip
对于windows系统,Win+R键,输入cmd,输入ipconfig
win+r

获取ip
由于我这里连接的是网线,因此有效的ip应该是以太网,如果你使用的是wifi连接,则关注wlan连接的ip信息。

3.手机上配置相关代理

点击代理
点击手动
输入主机名和端口

主机名为之前查看的ip地址,端口号为clash主界面配置的端口号
注意事项
配置完成即可实现科学上网,如果不行,请检查电脑端clash是否科学上网正常。

2.网关模式

网关模式即透明代理模式,需要配置好科学上网的设备上配置好路由转发和透明代理,其他的设备只需要将网关修改为目标主机的ip地址,即可实现科学上网

对于节点机场购买可以参考毒药官网


科学上网技术原理和及配置教程
https://dreamaccount.github.io/2022/12/22/科学上网技术原理及配置教程/
作者
404NotFound
发布于
2022年12月22日
许可协议