概述


本文将介绍如何在系统日志中为 UniFi 安全网关(USG)开启 Netconsole 调试日志。因为调试信息通常必须通过将串行控制台连接到设备来获取,所以该功能对获取调试信息很有用。

本文适用于固件版本 4.4.34 及以上版本。


内容目录



介绍


回到顶部

在 4.3.34 及以上版本的 USG 中包含了 ubnt-netconsole 实用程序,以帮助配置 netconsole 日志记录。这将帮助即时获取崩溃信息细节,例如操作系统可能无法通过网络发送日志,以及在重启时丢失日志。

为了启用 netconsole,需要设置系统日志服务器来接受远程日志记录数据。请在 UniFi 控制器“设置>站点”向下滚动找到“远程日志”,以启动远程系统日志服务器。接下来,勾选“启用远程系统日志服务器”

如果要查看 ubnt-netconsole 命令的用法,请将 SSH 加入 USG 并运行 sudo ubnt-netconsole

$ sudo ubnt-netconsole
Usage: /usr/sbin/ubnt-netconsole <device> <remote ip> [remote port] [remote mac]
      /usr/sbin/ubnt-netconsole status
      /usr/sbin/ubnt-netconsole disable

启用 Netconsole 日志


回到顶部

如要启用 Netconsole 日志,您需指定用于访问系统日志服务器的接口、系统日志服务器的 IP 和端口以及该服务器的 MAC 地址(可选)。如果系统日志服务器不能直接连接 USG 的接口,您需要指定下一个连接路由器的 MAC 地址(例如:如果系统日志服务器可通过 Internet 访问,则为您的 ISP 路由器)。

举例说明:系统日志服务器在 LAN 的 192.168.1.50 ,接口为 USG 的 eth1 ,使用 514 端口,服务器的 MAC 地址为 12:34:56:78:90:aa

$ sudo ubnt-netconsole eth1 192.168.1.50 514 12:34:56:78:90:aa
Netconsole : enabled
Device     : eth1
Local IP   : 192.168.1.1
Local port : 6665
Local mac  : 80:2a:a8:8e:f8:3d
Remote IP  : 192.168.1.50
Remote port: 514
Remote mac : 12:34:56:78:90:aa

显示“已启用 Netconsole”,说明配置成功。


检查 Netconsole 状态


回到顶部

运行 sudo ubnt-netconsole status 对 Netconsole 状态进行检查,结果可能显示已启用或未启用。

$ sudo ubnt-netconsole status
Netconsole : enabled
Device     : eth1
Local IP   : 192.168.1.1
Local port : 6665
Local mac  : 80:2a:a8:8e:f8:3d
Remote IP  : 192.168.1.50
Remote port: 514
Remote mac : 12:34:56:78:90:aa

$ sudo ubnt-netconsole status
Netconsole not active

关闭 Netconsole 日志


回到顶部

运行 sudo ubnt-netconsole disable 关闭 Netconsole 日志。执行关闭后不会有结果显示,但可以在状态检查中确认,重启后依旧会处于关闭状态。

$ sudo ubnt-netconsole disable
$ sudo ubnt-netconsole status
Netconsole not active

重启后再启用


回到顶部

如果您希望在重启后再次启用 Netconsole 日志,您可在所使用的启用命令 exit 0 上面添加一行 /etc/rc.local。比如在上面的举例中,/etc/rc.local 底部应如下所示。

/usr/sbin/ubnt-netconsole eth1 192.168.1.50 514 12:34:56:78:90:aa
exit 0