您如何在充当路由器的计算机上管理Linux iptables配置?


8

我有几台Linux机器充当网络的路由器/防火墙,并且有一个脚本运行所有iptables命令来设置规则。在我看来,这似乎是一种非常愚蠢的方式。

你怎么做到这一点?是否有一个带有配置文件的程序,该程序更易于管理?它具有GUI或Web界面吗?

Answers:


6

我将firehol与我开发的用于管理配置文件的Web界面结合使用。

我真的很喜欢firehol,它提供了一种更简单的语法,然后直接使用iptables。

  • 您可以使用firehol debug命令准确地生成什么iptables命令
  • 如果您的配置中有错误,并且启动了防火墙,firehol将检测到该错误并恢复为先前的状态。
  • Firehol有一个“ try”命令,您可以使用该命令远程启动防火墙,如果您的更改终止了您的连接,firehol将恢复到以前的状态,如果您没有终止连接,则将要求您确认更改。
  • Firehol有大量预定义的服务,因此您不必确切记住要为某些晦涩的协议打开哪些端口。

4

对于RedHat和相关的OS(可能还有其他OS),您可以使用脚本创建防火墙,然后service iptables ...从那里进行处理。这就是我的工作。更改iptables配置时,将使用脚本。然后我用

service iptables save

此时,计算机将始终提出新规则。您可以使用以下命令转储当前规则的简短版本:

service iptables status

4

我们使用了Shorewall- “使iptables变得容易”。可通过Webmin 1.060和更高版本获得GUI

Shoreline防火墙(通常称为“ Shorewall”)是用于配置Netfilter的高级工具。您可以使用一组配置文件中的条目来描述防火墙/网关的要求。Shorewall会读取这些配置文件,并借助iptables,iptables-restore,ip和tc实用程序来配置Netfilter和Linux网络子系统以符合您的要求。Shorewall可以在专用防火墙系统,多功能网关/路由器/服务器或独立GNU / Linux系统上使用。


3

我使用过Firewall Builder,我非常喜欢它-这是一个GUI程序,旨在管理防火墙配置,主要是在远程主机上,该主机可以是服务器,路由器等。界面乍一看有点令人生畏,但根据我的经验,花几个小时左右就可以弄清楚。(显然,自从我上次检查以来,它们才是最近发布的版本3,因此很可能GUI变得更加直观了)


现在已经废弃了-该网站不再起作用,并且fwbuilder.sourceforge.net底部版权行的最后日期是2012
。– markhep

2

假设每台机器都有不同的规则,我看不出您的方法有什么问题。

我通常设置防火墙规则的方法是,在命令行上正常输入它们,然后运行iptables-save > /etc/iptables_rules,然后将以下内容插入其中,/etc/network/if-pre-up.d/iptables以便在网络接口启动时自动导入规则。

#!/bin/bash
/sbin/iptables-restore < /etc/iptables_rules

2

除了将规则分成几个子文件(专用,dmz,vpn)并设置变量文件以使规则更易读之外,我完全按照您的描述进行操作。


2

您可以使用pfSense代替路由器,它具有许多功能

  • 防火墙功能
  • 网络地址转换(NAT)
  • 冗余
  • 负载平衡报告和监控
  • RRD图

    pfSense中的RRD图保留了有关以下内容的历史信息。

    • CPU利用率
    • 总吞吐量
    • 防火墙状态
    • 所有接口的吞吐量
    • 所有接口的每秒数据包速率
    • WAN接口网关ping响应时间
    • 启用流量整形的系统上的流量整形器队列
  • 虚拟专用网
    • 安全协议
    • PPTP
    • 开放VPN
  • 动态DNS

    通过:

    • 动态域名
    • 国土安全部
    • 动态神经
    • easyDNS
    • 无IP
    • ODS.org
    • 区域编辑
  • 专属门户
  • DHCP服务器和中继

它具有很好的,易于使用的基于Web的配置,只需查看屏幕截图即可

最重要的是,您可以使用商品硬件自己构建它,并且它是开源的

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.