可以从 crontab 运行 FortiGate 的 CLI 命令吗?

网络工程 加强 财富网
2022-02-11 13:13:19

我每天晚上 02:30(凌晨 2:30)经常发生 DNS 名称解析失败的情况。
我想在 02:20 在我们的 FortiGate 60D 上运行以下 CLI 命令,所以我将有一些数据来调试 DNS 问题:

dia debug reset 
dia de flow filter port 53 
dia de consol time en 
dia de flow show fun en 
dia de flow trace start 100000000 
dia de en

我正在考虑使用 crontab 来执行 CLI 脚本或 CLI 命令列表,例如:

ssh <my_fortigate_ip> "dia debug reset ; dia de flow filter port 53 ; dia de consol time en ; dia de flow show fun en ; dia de flow trace start 100000000 ; dia de en" 

  1. 可以在 CLI shell 行上输入多个 CLI 命令吗?CLI 命令之间的分隔符是什么?
  2. 是否可以执行 ssh 密钥交换(或等效项),以便我可以从某台机器登录到 FortiGate,而不会提示输入密码?
  3. 是否有另一种方法可以在特定时间之间在 FortiGate 上以非交互方式收集数据?
1个回答

60D 有点棘手,因为它不会在本地记录太多。我一直不明白为什么它不能登录到本地 U 盘。我建议设置一个系统日志服务器。

可以在 CLI shell 行上输入多个 CLI 命令吗?CLI 命令之间的分隔符是什么?

不,我认为 FortiOS 不支持。您需要在两者之间发送换行符。

是否可以执行 ssh 密钥交换(或等效项),以便我可以从某台机器登录到 FortiGate,而不会提示输入密码?

是的。您可以通过运行设置本地管理员密码

config system admin
    edit admin
      set ssh-public-key1 "<key-type> <key-value>"

有关详细信息,请参阅https://kb.fortinet.com/kb/documentLink.do?externalID=11985

是否有另一种方法可以在特定时间之间在 FortiGate 上以非交互方式收集数据?

我只需使用过滤器集运行数据包捕获,以便在问题发生之前它不会用完。

您可以从 GUI 或 CLI 运行数据包捕获

diag sniffer packet <interface> <'filter'> <verbose> <count> a

有关详细信息,请参阅https://kb.fortinet.com/kb/documentLink.do?externalId=11186

你也可以安排一个脚本,但我还没有真正做到这一点。