Unifi 安装设置分享

本来前面文章提供的 TP-Link POE AC 方案已经不错了,但是 TL-R479GPE-AC 的路由功能太弱(或者是没有开发给网页设置)导致放在多个内网主机上的服务无法直接暴露给外网,只能在 nas 上开了几个反代。而且没有自定义 dns 记录的途径,又得在内网跑一个 dns 服务,强迫症迫使我放血入了一套 Unifi, usg + unifi-switch-8 + wap-ac-iw * 2

安装

我的局域网网段是 192.168.0.1/24, usg 的默认 IP 是 192.168.1.1
先在以前的路由器上关闭 dhcp 服务,修改网关 ip 为 192.168.0.2,固定好本机 IP 以及设置网 关为 192.168.0.1
先将 usg lan 口接入电脑,访问 https://192.168.1.1 修改网关 IP 为 192.168.0.1
进入已经安装好的 unifi controller 例如 https://192.168.0.12:8443,这时 usg 就会出现在待采用列表里,采用之后设置 PPPOE 拨号,dhcp 等等
以上步骤完成之后就可以断掉老路由器了,再把 unifi switch 以及 ap 接入对应端口并采用,安装完成。

设置

unifi controller 提供了部分的 usg 配置项,例如端口转发等,但是高级点设置需要使用点手段
首先 ssh 到 usg(ssh 的凭证可以在 unifi controller 的 DEVICE AUTHENTICATION 中编辑) 上执行 mca-ctrl -t dump-cfg > config.gateway.json 导出 usg 的当前配置,将文件复制到本地修改,移除不需要自定义的部分,保留需要自定义的部分,以下两个例子:

static host mapping

添加 sub.mydomain.com -> 192.168.0.1 解析记录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"system": {
"static-host-mapping": {
"host-name": {
"sub.mydomain.com": {
"inet": [
"192.168.0.1"
]
},
"nas": {
"inet": [
"192.168.0.10"
]
}
}
}
}
}

nat destination

该设置可以弥补端口转发没有在网关 ip 上生效的缺陷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
"service": {
"nat": {
"rule": {
"3000": {
"description": "some http server",
"inside-address": {
"address": "192.168.0.xx",
"port": "80"
},
"destination": {
"port": "8004"
},
"inbound-interface": "eth1",
"log": "disable",
"protocol": "tcp_udp",
"type": "destination"
}
}
}
}
}

将修改后的 config.gateway.json 放入 unifi controller 的 site data 目录(例如:/unifi/data/sites/default),然后执行强制同步使配置生效。
当然,在此之前可以在 usg 上通过命令测试配置,可以通过搜索 EdgeOS 的资料找到方法,但是下次重启后没有写入 unifi 配置文件以及 unifi gui 上填充的配置都会被丢弃