高校环境中灵活的科学上网配置
TL;DR:
- 内网访问:添加你的 DNS 地址到配置的 nameserver 列表
- 学术网站认证 IP: 将域名前缀匹配定为直连 DIRECT
背景
为狠抓学术交流的效率,贯彻信息获取的多元,落实知识共享的实效,科学上网已成为必不可少的手段。
在掌握了科学上网后,有些场景下面临尴尬情况:
- 高校机构的部分网页需要内网环境
- 某些学术网站(如 science)需要校园网的 IP 认证才能获取权限
对于这个问题,其实可以灵活地取消科学上网,但是这样,部分服务的连接或者登录状态会丢失,如 Google Drive
,并且不能获取科学上网的好处。
针对这个痛点,其实可以许多科学上网客户端可以通过自定义配置来进行不同规则下的代理。本文针对高校使用场景提供一些配置的参考。
配置文件
本文档仅针对小猫咪🐱这一客户端软件。
如何找到配置文件:
- 菜单栏
- 配置
- 打开配置文件夹
- 找到你现在生效的配置的
yaml
文件 - 用你熟悉的文本编辑器打开
如果你使用了一些 formater 工具,可能会让配置文件格式失效,可以选择 save but not format
内网环境
针对西湖大学而言,集群主页和学生的信息系统这两个网站是平时访问最多的,也是需要内网环境访问的。对于很多内网环境而言,由于存在多个子域名,所以这些子域名的 DNS 解析是内部提供的,而配置中是可以修改 DNS 的。
因此,思路明确:
首先,找到你的内网的 DNS,以 MacOS 为例
- 系统设置
- Wi-Fi
- 当前连接 Wi-Fi 的详细信息
- DNS
- 找到内网 DNS
然后,找到配置文件中的 DNS 部分,如:
dns:
enable: true
listen: 127.0.0.1:8853
default-nameserver:
- 223.5.5.5
- 8.8.4.4
ipv6: false
enhanced-mode: fake-ip
fake-ip-filter:
....
找到其中的nameserver
部分,将你的 DNS 添加到列表中。
重新加载配置即可生效。
学术认证
以 science 为例,如果它对你的高校或机构提供服务,那么在高校网络环境下是可以有权限的,但是科学上网后反而不行。其实可以配置规则,将 science 网站的代理变成直连。
同上,修改配置文件,找到rules
部分:
rules:
......
将符合 science 关键词的域名定义为DIRECT
,如下所示:
rules:
- DOMAIN-KEYWORD,science,DIRECT
这样一来,即使是在代理模式下,依然能以高校 IP 登陆学术网站。
自动更新
小猫咪软件的默认的自动 fetch 更新时间为 48 小时,每次更新会覆盖你的修改。可以选择不自动更新,或者准备一个 script 来一键更新配置。
更多
实际上,你也可以在系统层面来管理,在 MacOS 的网络设置中,你可以选择哪些网站不走代理,默认的白名单包含 Apple 公司的某些服务和时间戳服务,可以在白名单中添加域名。但是实际体验中,这个白名单经常会被重新覆盖,每次都要打开系统设置重新添加,略有点麻烦,不如上述措施。
另外,如果你不想看到某些吃相难看网站,你也可以在代理规则中将符合规则的网站拒绝连接。