DNS

校园网给出的三个 DNS,经反查后对应信息为

1
2
3
202.201.112.1    dns.nmu.edu.cn
202.100.96.68 宁夏银川市 电信DNS服务器
221.199.12.157 宁夏银川市 大博金网吧(胜利南街永春巷27号)

校园网服务商为电信,连接校园网需要校内验证,综上前两个 DNS 问题不大。第二个视情况可以挑选一个西夏区的电信 DNS。不过第三个就有点抽象了。。。

Against NUN

2024年03月18日 18:58:53,经运维人员证实,校园网锁死 10Mbps,特此启动Against NUN计划。

双网卡策略

ssh 连接问题

如果去搜索指定网卡进行 ssh 连接,大概率会从 CSDN 上看到一个互相抄来抄去的解决方案:通过 ssh -B/-b 绑定建立连接的 IP/网卡。但是情况是 Windows 并不支持这种方式。

1
2
3
4
5
6
7
8
9
10
ssh -B -h
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
[-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
[-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
[-i identity_file] [-J [user@]host[:port]] [-L address]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-Q query_option] [-R address] [-S ctl_path] [-W host:port]
[-w local_tun[:remote_tun]] destination [command]

BindInterface not supported on this platform.

所以只能通过修改路由表解决。首先找到连接校园网的网卡的 IP 地址:

1
2
3
4
5
6
7
8
9
ipconfig /all

# 以下内容省略了不重要的部分

无线局域网适配器 WLAN 2:
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : MERCURY Wireless N Adapter
物理地址. . . . . . . . . . . . . : D4-84-09-5C-ED-6F
IPv4 地址 . . . . . . . . . . . . : 172.26.15.89(首选)

接着,在管理员模式下,添加路由表记录:

1
route add 172.16.16.242 mask 255.255.255.255 172.26.15.89

这会将前往 172.16.16.242 的请求路由到 172.26.15.89,也就是校园网给网卡 2 分配的 IP 地址。

当然,可能你会发现路由表中,新增的这条记录跃点数较低:

1
2
3
4
5
6
7
8
9
10
11
12
13
route print


IPv4 路由表
===========================================================================
活动路由:
网络目标 网络掩码 网关 接口 跃点数
0.0.0.0 0.0.0.0 192.168.15.58 192.168.15.141 30
0.0.0.0 0.0.0.0 172.26.255.254 172.26.15.89 55
127.0.0.0 255.0.0.0 在链路上 127.0.0.1 331
127.0.0.1 255.255.255.255 在链路上 127.0.0.1 331
127.255.255.255 255.255.255.255 在链路上 127.0.0.1 331
172.16.16.242 255.255.255.255 在链路上 172.26.15.89 56

但路由选择的过程是这样的:

  1. 路由器查找路由表,寻找与目标 IP 地址最匹配的条目(与掩码进行与运算)。
  2. 如果找到精确匹配(如 /32 或 255.255.255.255),则直接发送到那个地址,因为目标就在本地网络上。
  3. 如果没有精确匹配,路由器会查找具有最长网络前缀匹配的条目(即最具体的网络掩码)。
  4. 如果没有找到具体的匹配项,路由器会使用默认路由(0.0.0.0/0)来路由数据包,并且在这种情况下,会选择跃点数最低的默认路由。

删除路由:

1
route delete 172.16.16.242 mask 255.255.255.255

添加或修改路由(如果需要指定新的下一跳地址):

1
route add 172.16.16.242 mask 255.255.255.255 172.26.15.90

内网访问

1
2
3
网络目标        网络掩码          网关       接口   跃点数
0.0.0.0 0.0.0.0 192.168.15.58 192.168.15.141 30
0.0.0.0 0.0.0.0 172.26.255.254 172.26.15.89 55

根据路由表能看出,校园网路由的跃点为 55,大于手机热点的跃点。即使断开热点再连上,也不过是两个路由记录的顺序调换一下,跃点数仍然一大一小。这导致热点的默认网关优先级更高,导致内网无法访问。

不过在翻了翻 虚空终端 Docs 之后,找到了出站接口的设置参数。因此,只需要在 mihomo 的配置文件指定流量出口的网卡即可解决。

1
interface-name: WLAN

这里的网卡名称通过 ipconfig /all 可以查到,“无线局域网适配器”后面的内容就是网卡名称:

1
2
3
4
ipconfig /all

无线局域网适配器 WLAN
......

当然,直接通过控制面板或者 powershell 去修改对应网络的跃点数也行,不过这样更麻烦不是吗。