public IPBanLinuxFirewall(string rulePrefix = null) : base(rulePrefix) { MigrateOldDefaultRuleNames(); firewall6 = new IPBanLinuxFirewall6(RulePrefix + "v6_"); /* * // restore existing sets from disk * RunProcess("ipset", true, out IReadOnlyList<string> existingSets, $"-L | grep ^Name:"); * foreach (string set in existingSets.Where(s => s.StartsWith("Name: " + RulePrefix, StringComparison.OrdinalIgnoreCase)) * .Select(s => s.Substring("Name: ".Length))) * { * RunProcess("ipset", true, $"flush {set}"); * } */ foreach (string setFile in Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory, "*.set")) { RunProcess("ipset", true, $"restore < \"{setFile}\""); } allowedIPAddresses = LoadIPAddresses(AllowRuleName, "ACCEPT", "ip", allowRuleMaxCount); bannedIPAddresses = LoadIPAddresses(BlockRuleName, "DROP", "ip", blockRuleMaxCount); // restore existing rules from disk string ruleFile = GetTableFileName(); if (File.Exists(ruleFile)) { RunProcess("iptables-restore", true, $"< \"{ruleFile}\""); } }
protected override void OnInitialize() { base.OnInitialize(); firewall6 = new IPBanLinuxFirewall6(RulePrefix); }