Warning: count(): Parameter must be an array or an object that implements Countable in /www/wwwroot/mdaeo.org/usr/plugins/AMP/Action.php on line 388
Shorewall 完整的防火墙配置

Shorewall 完整的防火墙配置

2011-05-18T12:07:22

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

 
安装
$ apt-get install shorewall


配置
 
$  cp /usr/share/doc/shorewall/default-config/modules /etc/shorewall/
$  cp /usr/share/doc/shorewall/default-config/policy /etc/shorewall/
$  cp /usr/share/doc/shorewall/default-config/nat /etc/shorewall/
$  cp /usr/share/doc/shorewall/default-config/zones /etc/shorewall/
$  cp /usr/share/doc/shorewall/default-config/maclist /etc/shorewall/
$  cp /usr/share/doc/shorewall/default-config/blacklist /etc/shorewall/
$  cp /usr/share/doc/shorewall/default-config/interfaces > /etc/shorewall/
$  cp /usr/share/doc/shorewall/default-config/rules > /etc/shorewall/
$  cp /usr/share/doc/shorewall/default-config/hosts > /etc/shorewall/
$  cp /usr/share/doc/shorewall/default-config/masq > /etc/shorewall/


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

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

net    eth0       
lan    eth1        192.168.1.2
#net    eth0        detect        dhcp,routefilter,norfc1918,tcpflags

配置网络别名
$ nano /etc/shorewall/zones
在倒数第二行,也就是在 “#LAST LINE – ADD YOUR ENTRIES BEFORE THIS ONE – DO NOT REMOVE” 这一行之前添加:

fw firewall  
net ipv4  
lan      ipv4

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

$ nano /etc/shorewall/masq

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

eth0   eth1


配置策略

$ nano /etc/shorewall/policy

fw                all            ACCEPT   info
net               all            ACCEPT   info
lan               all            ACCEPT   info
#fw               lan            ACCEPT   info
#all              fw             ACCEPT   info
#lan              net            ACCEPT   info
#net              lan            ACCEPT   info
#fw               net            ACCEPT   info
all              all            REJECT   info

配置防火墙规则

$ nano  /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
#
#
映射外网IP到内网IP上面
#DNAT   net   lan:192.168.1.3:3389  tcp  3389
#DNAT  net:113.106.10.2  lan:192.168.1.2  tcp 80
DNAT net lan:192.168.1.2 all  -  - 113.106.10.2
#DNAT net lan:192.168.1.2 tcp 3389 - 113.108.10.2


修改 shorewall.conf 自动开启 IP 转发
$ nano /etc/shorewall/shorewall.conf
查找到:

IP_FORWARDING=Keep
修改为:

IP_FORWARDING=On
保存关闭文件

修改 /etc/default/shorewall 自动运行防火墙
$ nano /etc/default/shorewall
查找到:

startup=0
修改为:

startup=1
启动防火墙
$ shorewall start
至此防火墙配置完成。

 
 

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »
因本文不是用Markdown格式的编辑器书写的,转换的页面可能不符合MIP标准。