在本课中,你将学习如何诊断和解决与FortiManager和托管设备相关的问题。
在本课中,你将学习上图显示的主题。
通过展示理解各种FortiManager部署场景、keepalive消息以及如何更换托管FortiGate设备的能力,你将能够在各种场景中部署FortiGate设备并管理FortiGate设备。
在上图显示的场景中,FortiManager在NAT设备后面运行。默认情况下,只有FortiManager可以发现新设备。如果FGFM隧道被拆除,只有FortiManager会尝试重新建立FGFM隧道。这是因为,默认情况下,没有在FortiGate中央管理上配置NAT后的FortiManager的IP地址。
FortiGate如何向NAT后的FortiManager宣布自己,或者如果FGFM隧道被拆除,如何尝试重建?
你可以在中央管理配置下在FortiGate上配置FortiManager NAT IP地址。这允许FortiGate向FortiManager宣布自己,并在FGFM隧道被拆除时尝试重新建立。在FortiGate上配置FortiManager NAT IP地址允许FortiManager和FortiGate重新建立FGFM隧道。此外,如果你在FortiManager系统管理员设置下配置FortiManager NAT IP地址,FortiManager将在发现过程中在FortiGate上设置此地址。
在这种情况下,FortiGate在NAT设备后面运行。FortiManager可以通过FortiGate NAT IP地址发现FortiGate。FortiGate也可以向FortiManager宣布自己。如果FGFM隧道被中断怎么办?如果FGFM隧道被拆除,只有FortiGate会尝试重新建立连接。FortiManager将NAT FortiGate视为无法访问的设备,并且不会试图重新建立FGFM隧道。但是,你可以通过单击设备管理器中托管设备的托管FortiGate中的刷新设备图标,强制从FortiManager尝试一次性连接。
如果两个设备 (FortiManager和FortiGate) 都在NAT设备后面呢?然后,FortiManager通过FortiGate NAT IP地址发现FortiGate设备。就像在NAT FortiManager场景中一样,在这种情况下,FortiManager NAT IP地址没有在FortiGate中央管理配置下配置。如果FGFM隧道中断,FortiManager不会尝试将FortiGate到FortiManager(FGFM)隧道重新建立到FortiGate NAT IP地址。如果在中央管理配置下在FortiGate上配置了FortiManager NAT IP地址,FortiGate会尝试重新建立FGFM隧道,如果它被拆掉。
Keepalive消息,包括配置校验和,以配置的间隔从FortiGate发送。这些消息还显示了FortiGate设备的入侵防御系统(IPS)版本。Keepalive消息包括:
● fgfm-sock-timeout:最大FortiManager或FortiGate通信套接字空闲时间,以秒为单位
● fgfm_keepalive_itvl:FortiGate向FortiManager设备发送keepalive信号以保持FortiManager或FortiGate通信协议处于活动状态的间隔
如果在sock超时值的持续时间内没有对keepalive消息的响应,隧道将被拆除,两端尝试重新建立隧道。
当从FortiManager到FortiGate进行安装时,FortiManager总是尝试确保与托管FortiGate设备的连接。如果连接失败,FortiManager会尝试通过取消设置导致隧道下降的命令来恢复FGFM隧道。
对于每次安装,FortiManager都会向托管的FortiGate设备发送以下命令:
● 设置命令,需要应用配置更改
● 取消设置命令,以恢复配置更改
当应用更改时,FortiGate:
● 应用设置命令,仅使用内存,不写入配置文件
● 测试FGFM与FortiManager的连接
如果连接无法重新建立,FortiGate会在15分钟后应用未设置的命令(不可配置,也不基于sock超时值)。如果连接仍然停机,并且在FortiManager上启用了rollback-allow-reboot,FortiGate会重新启动以从其配置文件中恢复之前的配置。
FortiManager保存托管设备的配置修订。但是,如果你因硬件故障或退货授权(RMA)而需要更换独立托管设备,会发生什么?
你可以通过在FortiManager上手动将故障设备的序列号更改为替换设备的序列号来更换故障的独立设备。然后,你重新部署配置。序列号在每个管理连接之前都会被验证,因为许可证附加到FortiGate序列号上。更换FortiGate集群成员时,FortiManager通过FGFM隧道学习新的序列号。
请注意,在运行execute device replace sn
要将故障设备更换为新设备,请采取以下步骤:
1. 注意原始FortiGate的设备名称。如果替换设备已列为未注册设备,那么你需要将其从根ADOM的未注册设备列表中删除。
2. 添加替换FortiGate的序列号。执行替换命令后,FortiManager会更新其数据库中的序列号。
3. 验证新设备序列号是否与FortiManager中的故障设备相关联。你可以使用FortiGate的CLI或系统信息小部件执行此操作。
4. 从替换设备发送请求,将其注册到FortiManager。
如果你在更新序列号后连接失败,你可能需要回收管理隧道。设备名称是可选的。如果你在没有设备名称的情况下运行命令,FortiManager会尝试从所有托管设备中回收隧道。
另外,你还可以通过运行execute device replace pw
答案:A
答案:A
非常好!你现在了解了部署场景。接下来,你将学习如何使用一些诊断命令来对FortiManager连接和性能问题进行故障排除。
通过展示使用诊断和故障排除技术的能力,你将能够管理和维护网络中FortiGate设备的完整性。
上图显示了一些CLI命令,你可以使用这些命令对FortiManager连接和资源问题进行故障排除。
这些命令类似于FortiGate命令,你可以使用这些命令来诊断和故障排除常见问题。例如,要查看正在运行的进程排名,你可以运行execute top。你可以使用execute iotop命令来识别具有高l/O使用率的系统进程(通常是磁盘活动)。你可以查看崩溃日志条目。如果FortiManager正在丢弃数据包或未接收数据包,你可以运行数据包捕获(sniffer)来帮助诊断原因。你还可以测试设备的可达性,并确认FGFM隧道的状态。
get system performance命令提供有关系统资源使用情况的信息,并按资源类型显示输出:
● CPU:提供系统上CPU使用信息的概述。它显示了哪种类型的进程正在使用CPU的百分比
● 内存:提供设备可用的总内存以及当前使用的内存量
● 硬盘:提供硬盘使用情况信息,包括可用磁盘总空间和使用量
● 闪存盘:提供闪存盘使用信息
始终检查Used列以检查资源使用情况。如果资源使用率高,你可能会遇到从FortiManager管理设备的问题。例如,添加设备或安装更改可能需要很长时间。
execute top命令显示对系统监控非常有用的实时系统统计信息。统计信息以行显示,如下所示:
第1行:当前时间、正常运行时间、用户会话、平均系统负载(最后一分钟、五分钟和15分钟)
第2行:正在运行的进程总数,进程主动运行,进程处于睡眠状态,停止,处于僵尸状态
第3行:CPU使用情况:用户进程、系统进程、优先级进程、CPU空闲、等待I/O的进程、硬件irq、软件irq和窃取时间
第4行和第5行:内存使用
第6行:进程ID、用户、优先级进程、进程的漂亮价值、虚拟内存使用是交换文件、内存使用是RAM、CPU使用、内存使用百分比、总活动时间、进程状态和进程名称
当你对高CPU或内存使用率的问题进行故障排除时,请检查整体系统资源。然后检查单个进程的CPU或内存使用率是否高。
当你使用命令execute iotop时,FortiManager会显示负责高l/O等待状态的单个进程。当你对与大量l/O使用率相关的性能问题进行故障排除时,你可以使用此命令来识别导致高I/O使用率的进程。
你可能想要监控的另一个领域,纯粹是为了诊断,是崩溃日志。崩溃日志可通过CLI获得。最近的崩溃日志列在输出的底部。在本例中,进程fgdsyr以信号11重新启动,并在崩溃日志文件中记录崩溃信息。崩溃日志在第一行显示固件信息,然后是进程名称和信号信息。
崩溃日志中的大多数日志都是正常的。崩溃日志中的一些日志可能表明存在问题。因此,Fortinet技术支持可能会出于故障排除目的请求崩溃日志。
数据包嗅探器命令对于故障排除连接和流量相关问题非常有用。上图显示的数据包嗅探器命令设置为从端口541上的主机192.168.1.99捕获数据包,并仅显示五个数据包的数据包头(verbose 1)和本地时间戳。与FortiOS不同,FortiManager仅支持详细选项1、2和3。
例如,如果你遇到FortiManager和FortiGate之间的连接问题,你可以在TCP端口541上嗅探管理流量,以查看两个设备之间是否有任何通信。
diagnose system print df命令在FortiManager上显示磁盘分区信息。它显示文件系统、大小、使用情况、可用磁盘空间、百分比使用情况和挂载点。在对磁盘相关问题进行故障排除时,此命令可能很有用。了解这些分区在FortiManager上的用途可能会有所帮助:
● /dev/shm作为共享内存。
● /tmp是临时文件存储文件系统。
● /data是闪存磁盘分区的指针。
● /var用于FortiManager数据库存储。
● /drive0用作FortiAnalyzer档案和postgres数据库。
● /Storage用于FortiAnalyzer日志和报告存储。
在FortiManager上,进程锁定和解锁数据库,但它们不应该停留在锁定状态。闲置系统上不应该有锁。
如果FortiManager完成任务的时间太长怎么办?你可以使用proc list命令来识别任何卡住的进程或任务。卡住的任务可能会阻止其他后续任务的处理。如果一项任务处理时间太长,请在此处列出。你可以从系统设置窗格上的任务监视器中取消或删除挂起(卡住)任务。
有时任务监视器不会从GUl中取消或删除卡住或挂起的任务,但你可以运行CLI命令来取消或删除:
● diagnose dvm task repair: 在修复任务数据库时保留日志。在哪里作为
● diagnose dvm task reset: 从FortiManager任务数据库中完全删除日志
这些CLI命令在修复任务数据库后重新启动FortiManager。
你可以使用这些调试命令对FortiManager和FortiGate之间的问题进行故障排除。这些问题可能与添加、删除、刷新、自动更新和安装等操作有关。
在运行任何调试命令之前,请检查是否启用了任何其他调试命令。运行调试会显示所有其他已启用的调试的输出,如果它们没有被禁用或重置。在启用任何新调试之前,请务必重置调试级别。
FortiManager的不当关机可能会导致文件系统和内部数据库损坏。这既适用于硬件,也适用于虚拟机。作为最佳做法,你应该检查警报消息控制台和事件日志以获取重要消息。
如果FortiManager断电,控制台连接上的一条消息建议你修复文件系统。请记住,在修复文件系统之前,请务必备份FortiManager。还强烈建议你将FortiManager连接到不间断电源(UPS),以防止意外关机。
为了确保FortiManager上的数据库完整性,你应该遵循以下最佳做法:
● 始终优雅地关闭FortiManager。使用不当关机可能会损坏内部数据库。
● 如果多个管理员正在FortiManager上执行操作,请启用ADOM锁定以避免配置冲突。
● 始终遵循正确的升级路径。如果你不这样做,可能会导致数据库中的不一致。
● 确保所有管理员都已注销,并在执行固件升级之前执行数据库完整性检查。
如果你无法解决数据完整性问题,你可以在FortiManager上执行出厂重置,然后使用良好的备份配置恢复配置。
如果你在FortiManager上遇到异常行为,请检查数据库完整性问题。数据库完整性命令修改发现的任何数据库错误。建议你在执行数据库完整性命令之前执行备份。此外,如果在运行完整性检查命令之前启用了工作空间模式,建议所有管理员注销并解锁所有ADOM。当你不想保留完整性命令所做的更改,并且需要恢复FortiManager配置时,备份会很有帮助。
作为最佳实践,配置FortiManager的预定备份。FortiManager在计划备份之前自动运行数据库完整性命令,并创建日志。如果数据库完整性存在任何问题,你必须重新运行命令来解决问题。
上图列出了可用于验证和维护数据库完整性的命令。如果你执行对数据库进行更改或更正的数据库完整性命令,建议你再次运行该命令,以验证任何更改或更正是否正确。
上图显示了数据库完整性检查的示例。FortiManager发现设备管理器数据库没有问题。第二个示例展示了如何检查单个ADOM上的数据库完整性。
答案:B
答案:A
非常好!你现在了解了如何使用FortiManager诊断和解决各种问题。接下来,你将学习如何对设备和ADOM数据库进行故障排除。
通过展示理解如何使用与设备级和ADOM级数据库相关的CLI命令的能力,你将学习如何对设备级和ADOM级问题进行故障排除。
如果你需要验证哪些模板应用于哪个FortiGate设备,你可以从分发模板小部件或单个设备配置和安装状态小部件进行检查。
在本例中,默认系统模板应用于Local-FortiGate和Remote-FortiGate用于DNS设置。
你可以使用此命令查看模板的CLI配置。你可以看到哪些CLI命令将被推送到FortiGate。
提示:使用?寻求帮助。在本例中,默认系统模板配置了主要和次要DNS条目。请记住,默认系统模板应用于Local-FortiGate和Remote-FortiGate,如上一张图片所示。
你可以使用CLI命令查看托管设备的整个配置,或查看单个对象配置。
execute fmpolicy print-device-database命令显示设备配置,包括从FortiManager进行的设备级更改。它不会显示因应用系统模板而引起的更改。此外,从FortiManager进行的ADOM级配置更改,如防火墙策略和对象,不会显示。这些更改在安装时被应用(复制)到设备级数据库中。
如果你从托管设备的配置和安装状态小部件执行安装预览,它会显示设备级配置更改,但以下情况除外:
● 系统模板
● ADOM级配置更改
上图显示了Local-FortiGate的DNS设置示例。Local-FortiGate使用此处显示的DNS配置进行本地配置。本示例中使用的DNS条目与默认系统模板中使用的DNS条目不同。当将设备级配置安装到Local-FortiGate时,安装会跳过主DNS条目,只安装辅助DNS条目。这是因为主DNS条目是相同的,基于应用的默认系统模板和Local-FortiGate。
在之前的图片中,你学习了如何查看与特定托管设备相关的配置。你还可以使用上图显示的命令在ADOM级别查看策略和对象。
上图显示了在特定策略包中查看一个或多个策略的示例。在本例中,Local-FortiGate策略包最初只有一个名为Ping_Access的策略。FortiManager管理员在Local-FortiGate策略包中配置了一个名为Full_Access的新策略。从ADOM级别查看策略时,它同时显示现有策略和需要安装的新策略。
如果你在设备级别查看Local-FortiGate的策略,是否显示新配置的防火墙策略?在设备级别,从FortiManager进行的ADOM级别(防火墙策略和相关对象)配置更改直到执行策略和对象安装后才会显示。
上图显示了在设备级别为特定设备查看的策略或策略的示例。在本例中,在设备级别查看Local-FortiGate策略。在执行策略和对象安装之前,不会显示ADOM级别的配置更改。
答案:B
答案:A
非常好!你现在了解了如何在FortiManager上诊断和故障排除设备和ADOM数据库问题。接下来,你将学习如何对导入和安装问题进行故障排除。
通过展示理解导入和安装问题的能力,你将能够在网络中出现问题时对其进行故障排除。
在本例中,配置在修订历史记录中被正确检索和保存,但是,在更新设备数据库时会出现问题。通常,像这样的问题是由FortiGate配置不一致或损坏造成的。
你可以对重新加载失败进行故障排除,以查看配置在哪个阶段无法加载到设备级数据库中。
当你执行重新加载失败命令时,FortiManager将连接到FortiGate并下载其配置文件。然后,FortiManager在设备数据库上执行重新加载操作。
有两种可能的结果:
● 如果FortiGate配置中没有错误,则重新加载成功,设备级数据库将使用FortiGate配置进行更新。但是,请注意,没有创建新的修订历史记录条目。
● 如果FortiGate配置中存在错误,则重新加载命令的输出指示配置中设备级数据库未能更新的点。
你还可以检查事件日志,看看它们是否包含有关故障原因的详细信息。
当你使用添加设备向导添加FortiGate设备或使用导入策略向导导入策略时,请始终确保策略和对象已成功导入。
在本例中,FortiManager ADOM数据库有一个名为Test_PC的防火墙地址对象,该对象与接口any相关联。
第二台FortiGate还有一个名为Test_PC的防火墙地址对象,它与接口port6相关联。此防火墙地址对象在第二台FortiGate的防火墙策略中引用。
当将策略包添加到或导入第二台FortiGate时,它无法导入防火墙地址对象Test_PC以及相关的防火墙策略。FortiManager下载导入报告提供了对象或策略导入失败的原因。
如果地址对象名称相同,但本地包含不同的值,FortiManager可以为地址对象创建动态映射。然而,有一个限制——关联的接口不能不同。这是因为,在ADOM级别,此地址对象可能会被其他策略包使用,这些策略包可能没有相同的接口。
部分政策包导入的影响是什么?
事件日志上的失败导入日志提供了更多详细信息,并固定了导致导入失败问题的对象。
在你从FortiManager对部分导入的策略包进行配置更改,并尝试使用策略和对象的安装向导进行安装后,FortiManager将删除失败的对象和策略。这是因为策略包没有意识到缺少或失败的策略和对象。
有两种方法可以解决这个问题:
● 你可以删除接口绑定,使其与FortiManager ADOM对象相同。
● 如果需要保持部分策略导入问题的FortiGate的接口绑定,你可以将地址对象重命名为不属于ADOM数据库的唯一名称。
要使用这些方法中的任何一种,你可以使用远程FortiGate直接(通过CLI)选项从FortiManager运行脚本,也可以在本地登录FortiGate进行配置更改。
请注意,FortiManger允许你从FortiManage或FortiGate中选择对象,如果两者具有相同的对象名称,并且没有按设备映射。
当你执行策略包安装时,复制操作是FortiManager在执行实际安装之前执行的第一个操作。这是FortiManager尝试将ADOM级对象或策略复制到设备数据库的操作。这与进口操作相反。复制失败问题通常是由于从ADOM数据库复制到设备数据库时对象依赖项不正确或缺失造成的。不正确或缺失的对象依赖项是由FortiManager数据库中的损坏或不一致引起的。
查看进度报告部分可帮助你识别失败的问题。
当发生复制失败时,设备数据库在复制尝试之前将恢复到原始状态。
始终检查视图安装日志,以查看FortiGate未执行或接受哪些CLI命令。它通常由以下原因引起:
● ADOM和FortiGate不匹配版本,它使用不正确的CLI语法创建了一个对象
● ADOM升级,由于数据库损坏,它错误地修改了现有对象
● 不遵循FortiManager上的正确操作顺序,例如,在没有在FortiManager上启用SD-WAN的情况下推送SD-WAN策略
这是失败安装的安装日志。在上图显示的示例中,由于FortiGate上没有virtual-wan-link接口不可用,因此没有添加(失败)名为SD-WAN的新防火墙策略。在这种情况下,在推送SD-WAN策略之前,管理员没有按照正确的步骤启用SD-WAN接口,FortiGate拒绝了添加SD-WAN防火墙策略。
验证报告显示了预期安装的配置与FortiGate设备上安装的配置之间的差异。
由于virtual-wan-link不可用,因此没有在FortiGate设备上创建防火墙策略。
有多种方法可以解决安装失败问题。
首先,验证FortiGate版本是否与ADOM版本相同或受其支持。
如果ADOM版本不支持FortiGate版本,或者FortiManager不支持某些FortiGate CLI功能,那么:
1. 将FortiGate设备移动到受支持的ADOM,或使用脚本来解决问题。
2. 再次执行安装。
如果ADOM版本正确或执行了ADOM升级,那么:
1. 检索FortiGate配置,以便FortiManager使用正确的语法更新设备数据库。
2. 进行一个小的设备级别更改并安装它,以确保没有设备数据库问题。如果安装不成功,请检查并修复设备级设置。如果安装成功,请检查并在需要时重新创建对象或策略。
3. 重新安装。
确保遵循FortiManager的正确操作顺序。例如,在创建或推送SD-WAN防火墙策略之前启用SD-WAN。作为最后手段,为了隔离和修复安装失败问题,你可以:
1. 在FortiGate上创建一个具有匹配固件的新ADOM。
2. 将FortiGate移动到新的ADOM。
3. 检索配置并导入策略包。
4. 从FortiManager GUI(如果支持)或使用脚本重新创建对象或策略,并执行安装。
答案:B
答案:A
恭喜!你已经完成了本课。接下来,你将复习本课中涵盖的目标。
通过掌握本课程中涵盖的目标,你学会了如何诊断和排除与FortiManager和托管设备相关的问题。