通过Azure Run Command操作Fortinet虚拟机串行控制台配置失败问题咨询
问题根本原因
你遇到的Not supported报错核心原因是:FortiOS虽然底层基于Linux,但官方封闭了原生Linux Shell入口。Azure RunShellScript 命令的实现逻辑是调用虚拟机内部的标准Linux Shell执行脚本,而FortiOS的运行环境默认不对外开放该Shell权限,仅允许访问专属的FortiOS CLI控制台,也就是你SSH、Bastion连接时默认进入的管理界面,因此直接传入FortiOS配置命令到RunShellScript接口必然无法执行。
可行解决方案
- 方案1:使用Azure串行控制台直接配置
登录Azure门户,进入对应FortiGate VM的「串行控制台」页面,该控制台会直接对接FortiOS CLI,你可以直接输入配置命令完成修改,无需额外工具:config system interface edit port1 set allowaccess ping https ssh fgfm snmp next end - 方案2:自动化配置改用FortiOS原生管理接口
如果你需要批量、自动化执行配置,不要使用AZ CLI的run-command能力,替换为以下方式:- 用Ansible FortiOS模块、Paramiko等SSH自动化工具,直接对接VM的SSH端口,传入配置命令执行
- 开启FortiOS的API权限,调用官方REST API接口下发配置
- 方案3:新部署VM时提前注入配置
如果是首次部署FortiGate VM,可以在创建配置的「自定义数据」字段中直接写入你需要执行的FortiOS配置命令,VM初始化过程中会自动加载执行该配置,无需后续手动修改。
注意:不要尝试破解开启FortiOS的底层Linux Shell,该操作属于官方不支持的操作,会导致固件运行异常、安全策略失效,同时失去官方保修支持。
内容的提问来源于stack exchange,提问作者Elias Arellano
相关产品推荐
相关产品推荐

