Shorewall防火墙生成器配置

Shorewall是一个流行的防火墙生成器;它比Firestarter更加复杂和灵活,并且它适合用于更加复杂的网络。Shorewall的学习曲线类似于iptables,不过,其文档资料丰富,并且提供提供不同情况的解决方法指南,如单一主机防火墙,两接口和三接口防火墙,以及拥有多个公共IP地址的防火墙等等。你可以获得许多关于过滤P2P服务的帮助,如Kazaa速率限制、QqS(质量服务)、VPN转移归向等内容。

安装

$ sudo aptitude install shorewall

配置

复制配置文件

$ sudo cp /usr/share/doc/shorewall/default-config/modules /etc/shorewall/
$ sudo cp /usr/share/doc/shorewall/default-config/policy /etc/shorewall/
$ sudo cp /usr/share/doc/shorewall/default-config/nat /etc/shorewall/
$ sudo cp /usr/share/doc/shorewall/default-config/zones /etc/shorewall/
$ sudo cp /usr/share/doc/shorewall/default-config/maclist /etc/shorewall/
$ sudo cp /usr/share/doc/shorewall/default-config/blacklist /etc/shorewall/
$ sudo gunzip -c /usr/share/doc/shorewall/default-config/interfaces.gz > /etc/shorewall/interfaces
$ sudo gunzip -c /usr/share/doc/shorewall/default-config/rules.gz > /etc/shorewall/rules
$ sudo gunzip -c /usr/share/doc/shorewall/default-config/hosts.gz > /etc/shorewall/hosts
$ sudo gunzip -c /usr/share/doc/shorewall/default-config/masq.gz > /etc/shorewall/masq

配置网卡

假设:你的两块网卡,一块接外网(eth0),一块接内网(eth1)。接外网的网卡是 eth0 ,通过 ppp0 上 Internet.

$ sudo gedit /etc/shorewall/interfaces

在倒数第二行,也就是在 “#LAST LINE – ADD YOUR ENTRIES BEFORE THIS ONE – DO NOT REMOVE” 这一行之前添加:

net    ppp0        detect        dhcp,routefilter,norfc1918,tcpflags
loc    eth0        detect        tcpflags

配置网络别名

$ sudo gedit /etc/shorewall/zones

在倒数第二行,也就是在 “#LAST LINE – ADD YOUR ENTRIES BEFORE THIS ONE – DO NOT REMOVE” 这一行之前添加:

net	Net		Internet
loc	Local		Local Networks

配置IP伪装,也就是透明代理

$ sudo gedit /etc/shorewall/masq

在倒数第二行,也就是在 “#LAST LINE – ADD YOUR ENTRIES BEFORE THIS ONE – DO NOT REMOVE” 这一行之前添加:

ppp0			eth0

配置防火墙规则

$ sudo gedit /etc/shorewall/rules

在倒数第二行,也就是在 “#LAST LINE – ADD YOUR ENTRIES BEFORE THIS ONE – DO NOT REMOVE” 这一行之前添加:

#
#	允许 DNS 从 防火墙 连接到 Internet
#
AllowDNS	fw		net
#
#	允许本地网络可以使用 SSH 来管理服务器
#
AllowSSH	loc		fw
#
#	允许 Ping 到防火墙和允许防火墙 Ping 其它网络
#
AllowPing	loc		fw
AllowPing	net		fw
AllowPing	fw		loc
AllowPing	fw		net
#
#	允许 Internet 访问防火墙上的 WEB 服务
#
AllowWeb	net		fw
#
#	允许 Internet 访问防火墙上的 FTP 服务
#
AllowFTP	net		fw
#
#	允许 Internet 访问防火墙上的 邮件 服务
#
AllowSMTP       net		fw
AllowIMAP       net		fw
#
#	允许本地网络可以访问 Internet
#
AllowWeb	loc		net
#
#	允许本地网络可以收发邮件
#
AllowSMTP	loc		net
AllowIMAP	loc		net
AllowPOP3	loc		net
#
#	允许本地网络使用 FTP 到 Internet
#
AllowFTP	loc		net
#
#	允许本地网络从 Internet 查询 DNS 
#
AllowDNS	loc		net
#
#	允许本地网络使用 NSM 
#
ACCEPT          loc     	net     tcp     1863
ACCEPT          loc     	net     tcp     443
ACCEPT          loc     	net:gateway.messenger.hotmail.com all
#
#	将WEB访问重新定向到 3128 ,通过squid完成访问 ,访问服务器地址 192.168.0.1 除外。
#
#REDIRECT        loc     3128    tcp     www     - 	!192.168.0.1

修改 shorewall.conf 自动开启 IP 转发

$ sudo gedit /etc/shorewall/shorewall.conf

查找到:

IP_FORWARDING=Keep

修改为:

IP_FORWARDING=On

保存关闭文件

修改 /etc/default/shorewall 自动运行防火墙

$ sudo gedit /etc/default/shorewall

查找到:

startup=0

修改为:

startup=1

启动防火墙

$ sudo shorewall start

至此防火墙配置完成。

server/security/shorewall-conf.txt · 最后更改: 2010/03/30 13:35 (外部编辑)
[unknown link type]到顶部
GNU Free Documentation License 1.3
京ICP备05034962号 Debian Driven by DokuWiki get firefox browser Recent changes RSS feed Valid XHTML 1.0