如何设置 Shorewall
- 使用 apt 安装 shorewall:
apt-get install shorewall shorewall-common shorewall-shell
- 复制 shorewall 自带的一些示例:
cp /usr/share/doc/shorewall-common/default-config/interfaces /etc/shorewall/ cp /usr/share/doc/shorewall-common/default-config/policy /etc/shorewall/ cp /usr/share/doc/shorewall-common/default-config/rules /etc/shorewall/ cp /usr/share/doc/shorewall-common/default-config/zones /etc/shorewall/
- 在/etc/shorewall/shorewall.conf 设置以下参数
STARTUP_ENABLED=Yes
(如果不存在,从/usr/share/doc/shorewall-common/examples/one-interface/shorewall.conf.gz解压)
4. 配置防火墙的接口。
在/etc/shorewall/interfaces 添加
net eth0 detect dhcp
- 配置防火墙的默认策略。
在
/etc/shorewall/policy
添加
$FW net ACCEPT net all DROP info all all DROP info
- 配置防火墙的规则。
添加
ACCEPT net $FW tcp 8899
- 配置防火墙的区域。
添加
fw firewall net ipv4 loc ipv4
- 最后,启动Shorewall的服务,
/etc/init.d/shorewall start
如果失败,可以检查的日志文件:
- /var/log/shorewall-init.log 用于 shorewall 启动消息
- /var/log/messages 规则相关问题
Linux 上有一些用于 iptables 的防火墙界面选项,包括 GUI(图形用户界面)和 CLI(命令行界面)。
GUI 上的 FireStarter 用户界面易于使用和配置。
唯一的问题是它不能与 PPTP VPN 拨号正常工作,它会阻止协议 GRE。
它确实提供了一种解决方法(不要问,记住它太痛苦了)但是这些步骤太乏味并且涉及在命令行和 GUI 中设置的混合,并且这种设置总是会带来麻烦。
Shorewall 是另一个在 CLI 上运行的防火墙接口。
Shorewall是用于配置 Netfilter 的高级工具。
我们使用一组配置文件中的条目描述防火墙/网关要求。
Shorewall读取这些配置文件并在 iptables 的帮助下, iptables-restore, ip 和 tc 实用程序,Shorewall 配置 Netfilter 和 Linux 网络子系统以满足要求。
Shorewall 可用于专用防火墙系统、多功能网关/路由器/服务器或者独立的 GNU/Linux 系统. Shorewall 不使用 Netfilter 的 ipchains 兼容模式,因此可以利用 Netfilter 的连接状态跟踪功能.”
Shorewall 配置 iptables 防火墙的方法很简单,只需将规则和接口描述到几个文件中,防火墙就可以使用了。