2017-2021.2内网设计

由于自己昨天升级了 FTTH,改完桥接后发现自己当前网关并不能承载 250mbps 的 PPPoE,于是 换了一个普普通通的家用路由。本文仅作自己之前设计内网的回忆。

开始

这一切还得从自己初中开始搞翻墙的时候说起,当时为了搞透明代理逐渐入坑玩路由器,买了台 MiWifi Mini 刷 openwrt,从此一发不可收拾。17 年入手了自己的第一台正儿八经的路由器——EdgeRouter ER-X。也在这时候,自己逐渐开始脑抽瞎折腾,也逐渐明白了家用路由在为我们提供网络服务的时候都做了什么工作。

后来大概在 19 年的时候(高考前),我入手了 UAP-AC-LITE,并拿了一台 Raspberry Pi 3b 做 controller,一直用到现在。

拓扑

1
光猫(Bridged) <-PPPoE-> ER-X <--> UAP-AC-LITE

其中 controller 在 ER-X 下。

期间拓扑变过很多次,最终定型如下:

网段说明:

  • 192.168.1.0/24 为用户段 能访问打印机与当前网段设备
  • 192.168.3.0/24 为打印机段 只能被动接受来自用户段与自用段的连接
  • 192.168.10.0/24 为访客段 无法访问任何内网资源 且限速限 P2P 限端口
  • 192.168.50.0/24 为 AP 段 用于 AP 与 controller 通信 只能访问 controller
  • 192.168.100.0/24 为自用段 可访问内网任意资源
  • 192.168.200.0/24 为 NAS 段(以及其上运行的各种虚拟机) 只能被动接受自用段访问
  • 192.168.201.0/24 为 controller 段 只能访问 AP

设置 ER-X

详细参考EdgeOS UserGuide,这里只会列出关键设置。

设置 PPPoE 以及 IPv6

篇幅限制,抹去敏感信息与无关信息。

这里的 ISP 好像开启 rapid-commit 会出现问题,故 disable 掉。

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
interfaces {
ethernet eth3 {
description "PPPoE Interface"
pppoe 0 {
default-route auto
dhcpv6-pd {
pd 0 {
interface eth4.10 {
host-address ::1
prefix-id 0
service slaac
prefix-length 60
}
prefix-only
rapid-commit disable
}
ipv6 {
address {
autoconf
}
dup-addr-detect-transmits 1
enable {
}
}
}
}
}
service {
nat {
rule 5000 {
description Core
log disable
outbound-interface pppoe0
type masquerade
}
}
}

DDNS

Google Domains 由于在国内不可访问,可自己写一个简单的 API 来中转请求(dyndns2),详细请参照对应的文档

由于 EdgeMax 的 ddclient 并不支持 IPv6,可参考SpartaEN/ubnt-ddns-ipv6实现。

AP 设置

需要在 AP 段的 DHCP 中设置 Controller Address,并保证 AP 与 Controller 的连通性,剩下的可在 Controller 的 WebUI 中解决。

这里的 Controller 使用了树莓派 3b,可直接加入 Unifi 的 repo 安装。

监控

封面图片工具来源SpartaEN/mini-network-monitor-ssd1306

最后来张纪念图