如何使用 Python 和 routeros_api 禁用 MikroTik 路由器上的所有非动态防火墙规则

不想要 Python 脚本,而只需要一个 RouterOS 命令?请查看如何删除 MikroTik 路由器上的所有防火墙规则

disable_firewall_rules.py

def disable_all_non_dynamic_firewall_rules(api):
    """
    禁用路由器上所有非动态防火墙规则。

    :param api: RouterOS API 对象。
    """
    # 访问防火墙资源
    firewall_resource = api.get_resource('/ip/firewall/filter')

    # 获取所有防火墙规则
    firewall_rules = firewall_resource.get()
    print(f"正在禁用所有非动态防火墙规则")

    # 遍历所有防火墙规则并禁用每一条
    for firewall_rule in firewall_rules:
        if firewall_rule['dynamic'] == 'false':
            print(f"正在禁用防火墙规则 {firewall_rule['comment']}")
            rule_id = firewall_rule['id']
            firewall_resource.set(id=rule_id, disabled='yes')

按类别查看类似文章: RouterOS MikroTik Python