首页 > 解决方案 > Windows 防火墙添加带有远程 IP 的路由?

问题描述

我正在构建一个能够在某些条件下为某些 IP(v4)开放端口的软件。我有这个代码来添加路线。工作正常:

procedure TfrmMain.AddAntiHookAllowRuleTest();
var
 fwPolicy2       : INetFwPolicy2;
 newRule         : INetFWRule;
begin
    // Create the FwPolicy2 object
    fwPolicy2   := INetFwPolicy2(CreateOleObject( 'HNetCfg.FwPolicy2' ));

    // Create a Rule object
    newRule := INetFWRule(CreateOleObject('HNetCfg.FWRule'));

    // Configure Rule object
    newRule.Name := 'AHOOK_SELF_ALLOW_RUTE';
    newRule.Description := 'Permitir todas las conexiones al Anti Hook a distintos puertos basado en el IP de los usuarios';
    newRule.Applicationname := Application.ExeName;
    newRule.Action := NET_FW_ACTION_ALLOW;
    newRule.Direction := NET_FW_RULE_DIR_IN;
    newRule.Protocol := NET_FW_IP_PROTOCOL_TCP;
    newRule.LocalPorts :=  '8080,8081';
    newRule.Enabled := true;
    newRule.InterfaceTypes := 'LAN';

    //newRule.Grouping := 'CCN Antihook';

    //Add a new rule object
    FwPolicy2.Rules.Add( newRule );
end;

但我需要能够在范围的远程地址部分添加或删除一些 IP。在 Windows 防火墙中,当编辑路由对象时,这可以在范围选项卡中完成。我怎样才能做到这一点?提前致谢。

仅供参考:我导入 NetFwTypeLib_TLB。使用这个库更容易。

标签: delphiwindows-firewall

解决方案


推荐阅读