
shorewall的 (海岸防火墙)是一个倾斜的防火墙系统Netfilter的(iptables的/ ipchains的)的Linux内核,以方便先进的网络配置管理。 在开始的shorewall的安装,您必须先卸载任何其他防火墙。 例如:纵火:
# apt-get remove --purge firestarter
# apt-get install shorewall shorewall-common shorewall-shell shorewall-doc dash
1) Partiamo con la configurazione del file interfaces:
#的/ etc / shorewall的/接口
我们内部复制此:
#shorewall的3.0版-样品接口文件为一个接口配置。
#
#的/ etc / shorewall的/接口
#
#你必须添加在此为每个网络接口上的文件项
#防火墙系统。
#
#列如下:
#
#这个接口区区。 必须符合一个名字
#区在/ etc / shorewall的定义/区。 你可能不
#列举在此列防火墙区。
#
#如果接口有多方面的区域,将
#定义在/ etc /的shorewall / hosts文件,你应该
#广场“ - ”在此列。
#
#如果有多个接口,同一地区,
#你必须列出单独的条目有:
#
#示例:
#
#禄eth1 -
#禄eth2 -
#
#接口的接口的名称。 每个接口可以只列出
#一旦在此文件。 您可能没有指定名称
#别名(例如,eth0的:0)这里,见
##网址:Http:/ / www.shorewall.net / FAQ.htm faq18
#
#你可以指定通配符这里。 例如,如果您
#想要进行的项适用于所有购买力平价
#接口,使用'购买力平价+'。
#
#没有必要界定环回接口(罗湖)
#在这个文件中。
#
#广播的子网的广播地址为其中
#接口属于。 对于点对点接口,这
#列留下blank.If接口有多个
#在多个子网地址,然后列出广播
作为一个逗号分隔的列表#地址。
#
#如果您使用特殊值“检测”,防火墙
#将检测您的广播地址。 如果你
#选择此选项,接口必须前
#启动防火墙,您必须的iproute
#安装。
#
#如果你不想作此列值,但
#你想进入,在选项栏中,输入值
#“ - ”在此列。
#
#选项以逗号分隔的,包括选择列表
#以下:
#
#的DHCP -指定此选项时,任何
#以下是真:
#1。 该接口获得其IP地址
#通过DHCP
#2。 该接口使用
#DHCP服务器上运行的防火墙
#3。 你有一个静态的IP,但都是在一个LAN
#与很多笔记本电脑的DHCP段
#客户端。
#4。 该接口是一个桥梁
#关于一个端口DHCP服务器和DHCP
另一个端口#客户端。
#
#Norfc1918 -此接口不应该接受
#如果包是谁的来源是一
#由RFC 1918在保留的范围
#(即私人或“非路由”
#地址。 如果包压延或
#连接跟踪匹配启用
#你的内核,数据包是谁的目的地
#地址是预留1918
#还拒绝。
#
#Routefilter -打开内核这种过滤路由
#接口(反欺骗措施)。 这个
#选项也可以在全球范围内启用
#的/ etc /的shorewall / shorewall.conf文件。
#
#Logmartians -火星上打开内核日志(日志
#与不可能源包
#地址。 有人建议,如果你
#设置的接口routefilter
#你还logmartians 9月。 这个选项
#5月也将在全球范围内启用
#的/ etc /的shorewall / shorewall.conf文件。
#
#黑名单-检查数据包到达这个接口
对在/ etc / shorewall的#/黑名单
#文件。
#
#Maclist -从这个接口的连接请求
#比较反对的内容
#的/ etc /的shorewall / maclist。 如果此选项
#指定的接口必须
#以太网网卡,必须前
#shorewall的启动。
#
#Tcpflags -数据包到达的这个接口
#检查了某些非法组合
#在TCP标志。 数据包被发现
#这样的标志的组合处理
#根据成立
#TCP_FLAGS_DISPOSITION后,被
#记录根据设立
#TCP_FLAGS_LOG_LEVEL。
#
#Proxyarp -
#集
#/ Proc/sys/net/ipv4/conf / <接口/ proxy_arp。
#不要使用此选项如果您是
#雇用代理ARP透过作品
#的/ etc /的shorewall / proxyarp。 这个选项
#独资用于与ARP代理使用
#小组所描述的网络:
#网址:Http:/ / www.tldp.org / HOWTO /取得迷你/代理服务器的ARP子网
#
#Routeback -如果指定,表示的shorewall
#应该包含的规则,使
#在此过滤交通到达
#接口回指出,相同的接口。
#
#Arp_filter -如果指定这个接口将只
#响应的ARP谁,已IP请求
#地址配置的接口。
#如果没有指定,该接口可
#响应的ARP谁,已请求
#IP地址的任何防火墙
#接口。 该接口必须建立
#当shorewall的启动。
#
Arp_ignore#[= <数值]
# -如果指定,该接口将
#回应人们对基于ARP请求
#价值<数字。
#
#1 -答复只有当目标的IP地址
#是本地地址的配置
#传入接口
#
#2 -答复只有当目标的IP地址
#是本地地址的配置
#传入的接口,而且既符合
#发件人的IP地址是来自同一地区
#在这个子网接口
#
#3 -不答复本地地址
#配置主机与范围,只
#决议全球和链接
#地址的回答
#
#4-7 -保留
#
#8 -不要答复所有本地
#地址
#
#如果没有<number>是,当时他们的价值
#1假设
#
#警告-不指定arp_ignore
任何接口#的所有涉及中ARP代理。
#
#Nosmurfs -过滤数据包的蓝精灵
#(数据包广播
#地址作为源)。
#
#蓝精灵将选择的记录
#在设置的SMURF_LOG_LEVEL
#Shorewall.conf。 登录后,在
#包被丢弃。
#
#Detectnets -泰勒区自动命名
#在区列只包括那些
#主机路由通过接口。
#
#即插即用-从这个接口传入的请求
#重新映射5月通过UPnP(upnpd)。
#
#警告:不要设置选项来对detectnets
#互联网接口。
#
#中的顺序列出的选项,您不
#可观,但该名单应该没有嵌入白色
#空间。
#
#示例1:假设你有eth0的连接到DSL调制解调器和
#Eth1连接到本地网络,您的
#本地子网是192.168.1.0/24。 该接口获得
#这是通过DHCP的IP地址的子网
#27分之206191149192。 您有一个子网非军事区
#192.168.2.0/24使用eth2。
#
#这个设置你的作品会是什么样子:
#
#净eth0的的DHCP 206191149223
#本地eth1 192.168.1.255
#非军事区eth2 192.168.2.255
#
例子#2:同样的配置,而不指定广播
#地址是:
#
#净eth0的检测的DHCP
#禄eth1检测
#非军事区eth2检测
#
示例3:你有一个简单的拨号系统,没有以太网
#连接。
#
#净ppp0会-
#
#有关其他信息,请参阅
##接口http://shorewall.net/Documentation.htm
#
################################################## #############################
#区接口的广播选项
净eth0的检测routefilter,的DHCP,tcpflags,logmartians,nosmurfs
#最后一行-添加您截止前这一个-不要脱去
警告:如果您有调制解调器,而不是改变ppp0会eth0的路由器。 在任何情况下,努力适应我们的需要和配置。
2)配置策略文件:
#Gedit的/ etc / shorewall的/政策
我们内部复制此:
#shorewall的3.0版-样品的政策文件为一个接口配置。
#
#的/ etc / shorewall的/政策
#
#今年参赛作品的秩序的文件非常重要,
#
#这个文件确定如何处理一个新的连接请求,如果我们
#不要从/ etc / shorewall的一场比赛/规则文件。 对于每个
#源/目的对,该文件是为了处理,直到
#找到匹配(“所有”将匹配任何客户端或服务器)。
#
#内区政策是预定义
#
#$防火墙对于所有的划并在/ etc / shorewall的/区的定义,
#从区,本身对于连接的政策是接受(无
#日志或TCP连接速率限制,但可以重写一个
在此文件中#项。 压倒一切的参赛作品必须是明确的(不能使用
#“所有”的源或培训部)。
#
#列如下:
#
#源源区。 必须是一个区域的名称定义
#在/ etc / shorewall的/区,$防火墙或“所有”。
#
#培训部目标区。 必须是一个区域的名称定义
#在/ etc / shorewall的/区,$防火墙或“所有”
#
#如果没有政策的政策从规则文件找到匹配。 必须
#成为“接受”,“降”,“拒绝”,“继续”或“无”。
#
#接受-接受连接
#降-忽略连接请求
#拒绝的TCP - ,发送RST。 对于所有其他,
#发送“端口不可达”的ICMP。
#队列-请求发送到用户空间
#应用程序使用队列目标。
#继续-连接请求传递过去
#任何其他规则,也可能
#匹配(如来源或
#在这些规则的目标区域是
#阿源或培训部的超集
#在这个政策)。
#无-假设也不会有任何
从这个来源#包
#为了这个培训部。 不会设置的shorewall
截至任何基础设施#处理这些
#数据包,您可能没有任何
这个消息来源和DeST#规则
#的/ etc /的shorewall /规则文件。 如果
#_is_这样的数据包收到,
#结果是不确定的。 无不得
#二手如果源或培训部列
#包含防火墙区($星期六)或
#“全部”。
#
#如果此列包含接受,DROP或REJECT和
#通讯共同行动的定义
#的/ etc /的shorewall /行动(或
#/ Usr /共享/的shorewall / actions.std),然后采取行动
#将调用此列前命名的政策
#得到实施。
#
#日志级别,如果提供的,每个连接在默认的处理
#政策将记录在该水平。 如果不提供,不
#日志消息生成。 见syslog.conf中(5)1
#的日志级别描述。
#
#开始的shorewall版本1.3.12,你可以
#还指定乌洛格(必须大写)。 这将
#记录到目标乌洛格送到一个单独的日志
通过使用ulogd#
#(网址:Http:/ / www.gnumonks.org /项目/ ulogd)。
#
#如果您不希望登录,但需要指定
#以下栏,地方“ - ”在这里。
#
#极限:爆破,如果获得通过,指定最大的TCP连接速率
#而可接受的突发大小。 如果没有指定,
#TCP连接数不限。
#
见http://shorewall.net/Documentation.htm##更多的信息政策。
#
################################################## #############################
#源培训部政策日志级别限制:爆
$防火墙净接受
所有降信息网
#以下政策必须是最后
所有信息都拒绝
#最后一行-添加您的参赛作品的这条线以上-不要脱去
3)创建配置文件区:
#Gedit的/ etc / shorewall的/区
我们内部复制此:
#shorewall的版本3.0 -示例特区之一,文件的接口配置。
#
#的/ etc / shorewall的/区
#
#这个文件确定您的网络区域。
#
#列如下:
#
#区简称本区(5个字符或更少的时间)。
#的名字“所有”和“没有”保留,不得
#用作区名。
#
#凡区是嵌套在一个或多个其他地区,
#你可以按照(分)区域的名称由“:”和
#逗号父区隔开。 父
#区已确定要在以前的记录本
#文件。
#
#示例:
#
##带型期权
#IPv4的
#乙的ipv4
#荤:甲,乙的ipv4
#
#目前,使用此信息的shorewall只是重新安排
#区名单,让父母带其子区域后出现在
#清单。 在未来,更多的shorewall可广泛使用
#这一信息。
#
#类型的IPv4 -这是标准的shorewall区域类型,是
#默认,如果你离开此列空,或者如果你输入
#“ - ”在列。 通信与一些区域主机
#5月被加密。 加密指定的主机使用
#在/ etc / shorewall的的'ipsec'option /主机。
#Ipsec的-与所有区域的主机通信是加密
#你的内核和iptables必须包括政策
赛事#支持。
#防火墙
# -指定防火墙本身。 您必须有
#整整'防火墙'区。 没有选择
#允许的'防火墙'区。 您的名称
#请在区列将存储在壳
#变量$防火墙,您可以使用其他配置
#文件到指定地区的防火墙。
#
#选项以逗号分隔的选项如下:
#在选项中,
输出#选项= reqid <数值其中<number>指定
#使用setkey(8)采用独特的:<数>
#为社民党级别选项。
#
#灵宝= <数值> <数值在哪里的SPI
#的SA用来加密/解密数据包。
#
#原=啊| ESP | ipcomp
#
重置#= <数值>(套在TCP数据包的重置字段)
#
#模式=运输|隧道
#
#隧道- src的= <地址[/ <mask>](只
#与模式=隧道可用)
#
#隧道的DST = <地址[/ <mask>](只
#与模式=隧道可用)
#
#严格意味着数据包必须匹配的所有规则。
#
#下一页分隔规则只能用于
#严格..
#
#示例:
#模式=运输,reqid = 44
#
#在选项栏中的选项适用于传入
#和传出的流量。 各项方案,适用于传入
#交通(除了选择)和有选择权
#应用到输出的流量。
#
#如果你要离开一列空,但需要在入境
#在下面的列,使用“ - ”。
#
#在此文件中的参赛作品的顺序是很重要如果您有嵌套的或
#是相互重叠的界定通过/ etc /的shorewall /主机。
#
##见http://www.shorewall.net/Documentation.htm嵌套
################################################## #############################
在输出#带型期权
#选项选项
防火墙防火墙
净的ipv4
#最后一行-添加您的参赛作品的上述这一个-不要脱去
4)配置文件的规则。
#Gedit的/ etc / shorewall的/规则
我们内部复制此:
#shorewall的3.0版-样品规则文件的一个接口配置。
#
#的/ etc / shorewall的/规则
#
在此文件#规则管理连接建立。 请求和
#反应自动获准使用连接跟踪。 对于任何
#(特别是源,DeST的)的地区对,这些规则的评价
#在它们出现的顺序在这个文件的第一场比赛是1
#这决定了请求处分。
#
#在大多数地方的IP地址或者子网是允许的,你
#可以先在地址/有“子!” (例如:192.168.1.0/24)的
#表示该规则匹配的地址以外的所有地址/子网
#考虑。 请注意,没有空白之间的“允许!” 和
#地址/子网。
#--------------------------
#警告:如果您冒用或使用本地系统到互联网SNAT的
#你不能使用一个接受的规则,允许从互联网流量
#这一制度。 * *您必须使用DNAT的规则,而不是。
#--------------------------
#
#规则的文件分为几个部分。 每节介绍
#A“部分头”,这是符合该节开始后
#板块名称。
#
#第如下,必须出现在列出的顺序:
#
#成立于ESTABLISHED状态的处理包
#根据本节规定。
#
#只在本节允许的行动是
#接受,下落,拒绝,记录和队列
#
#有一个隐含的接受规则插入
#在本节结束。
#
相关#在国家相关的数据包处理
本节#规则。
#
#只在本节允许的行动是
#接受,下落,拒绝,记录和队列
#
#有一个隐含的接受规则插入
#在本节结束。
#
在新的和无效的状态是新的数据包#
#加工在本节规定。
#
#警告:如果您指定shorewall.conf FASTACCEPT =是那么
#设定和相关部门必须是空的。
#
#注:如果您不Netfilter的熟悉,以至于你
#舒适与各方面之间的分歧
#跟踪状态,那么我建议你省略成立
#相关的科室和地点在新的第您的所有规则。
#
#您可以省略任何部分,你不需要。 如果没有出现第标题
#在文件中的所有规则,然后假定在新的一节。
#
#列如下:
#
#行动接受,下落,拒绝,转译,转译用户重定向,继续,
#记录,队列或<action>的。
#
#接受-允许连接请求
#接受+ -如接受,而且不包括
#连接的任何后继
#转译[ - ]或重定向[ - ]规则
#诺纳-不包括从任何连接
#随后转译[ - ]或重定向[ - ]
#规则,但不生成规则
#要接受交通。
#降-忽略的要求
#拒绝-不允许请求并返回一个
#ICMP的访问或一个RST数据包。
#转译-转发到另一个请求
#系统(和可选的另一
#端口)。
#转译-高级用户只。
#像转译,但只产生
#转译iptables的规则,而不是
#的同伴接受的规则。
#相同的-同转译惟
#端口可能无法重新映射时
#多个服务器地址
#上市,所有来自特定要求
#远程系统去同
#服务器。
#相同-高级用户只。
#一样,相同的,但只产生
#iptables的NAT的规则,而不是
#的同伴接受的规则。
#重定向-将请求重定向到本地
#端口在防火墙上。
#重定向-
# -高级用户只。
#像REDIRET但只有生成
#重定向iptables的规则,而不是
#的同伴接受的规则。
#
#继续- (仅对专家)。 不处理
#造成此问题的任何下列规则
#(来源区,目标区)。 如果
#源和/或目的地IP
#地址属于定义区
#后来在/ etc / shorewall的/区,这
#连接请求将被传递
#要为所定义的规则
#(这些)区(拧)。
#日志-只是简单地记录数据包并继续。
#队列-队列的数据包到用户空间
#应用程序,如ftwall
#(网址:Http:/ / p2pwall.sf.net)。
#动作<action> -定义的名称在行动
#的/ etc /的shorewall /行动或
#/ Usr /共享/的shorewall / actions.std。
#<macro> -这个名字在一个定义的宏
#文件名为宏。<macro-name>。 如果
#宏接受一个行动
#参数(看看宏
#源代码,看看它的PARAM在
#目标列),则宏
#名称,接着是“/”和
#行为(接受,下落,拒绝,...)
#要取代的
#参数。 例如:的FTP /接受。
#
#可以选择的行动应遵循
#按“:”和系统日志记录级别(例如,拒绝:信息或
#转译:调试)。 这将导致数据包被
#记录在指定的水平。
#
#如果行动名字的定义在行动
#的/ etc /的shorewall /行动或
#/ Usr /共享/的shorewall / actions.std然后:
#
# -如果日志级别,其次是“! 那么所有的规则
#在操作被记录在日志级别。
#
# -如果日志水平不其次是“!” 那么只有
#在行动没有指定这些规则
#日志记录在指定的水平。
#
# -特别日志级别'没有!' 抑制记录
#通过的行动。
#
#你也可以指定乌洛格(必须大写)作为
#将记录到日志level.This乌洛格路由目标
#要通过使用单独的日志ulogd
#(网址:Http:/ / www.gnumonks.org /项目/ ulogd)。
#
#指定日志记录可能会采取的行动应遵循的一个
#记录标签(1串字母数字字符)
#被追加到所生成的字符串
#LOGPREFIX(在/ etc /的shorewall / shorewall.conf)。
#
#例如:接受:信息:的FTP将包括'的FTP'
在日志的末尾#所产生的前缀
#LOGPREFIX设置。
#
#源源主机,该规则适用。 可能是一个区域
#定义在/ etc / shorewall的/区,$防火墙设置
#防火墙本身,“所有”,“所有+”或如果行动“无”
#是指定地区转译或更改,次区
#5月被排除规则遵循区
#名称中包含“! 和一个逗号分隔的列表分区
#名称。
#
#当“无”的使用,也可以在源或培训部
#列,该规则将被忽略。
#
#当“所有”主要是用在源或培训部或列
#内区的交通没有受到影响。 当“一切+”是
#使用,内区的交通受到影响。
#
除非“所有[+]”被指定#,客户端可能会
#进一步限制在子网和/或主机列表
#追加“:”和一个逗号分隔的子网
#及/或主机。 可以指定主机的IP或MAC
#地址,MAC地址必须以“〜”,必须使用
#“ - ”作为分隔符。
#
#主机可能被指定为一个IP地址范围使用
#语法<low地址> - <high地址>。 这就要求
#你的内核和iptables包含iprange匹配的支持。
#如果你的内核和iptables有IPSET比赛支持
#然后你可能会在开头由IPSET名称“+”。
IPSET#该名称可以选择后跟一个数字
#月1日至方括号([])6
#指示的源绑定水平数目
#匹配。
#
#非军事区:192.168.2.2在DMZ主机192.168.2.2
#
#网:155.186.235.0/24子网的155.186.235.0/24
#互联网
#
#禄:192.168.1.1,192.168.1.2
#主机192.168.1.1和
#192.168.1.2在当地。
#禄:〜00 -累啊,随着c9 - 15 - 39 - 78在与当地主机
#MAC地址00:累啊:随着c9:15:39:78。
#
#净:192.0.2.11 - 192 .0.2.17
在192.0.2.11-192.0.2.17#主机
#净区。
#
#此外,客户可以指定接口
#附加“:”以区域名称的后
#接口的名称。 例如,禄:eth1指定
#客户端通信的防火墙系统
#通过eth1。 这可能是选择之后
#另一个冒号(":")和IP /澳门/子网地址
#如上所述(例如,禄:eth1:192.168.1.5)。
#
培训部#位置的服务器。 可以定义在一个区域
#的/ etc / shorewall的/区,$防火墙设置防火墙
#本身,“所有”。 “所有+”或“没有”。
#
#当“无”的使用,也可以在源或培训部
#列,该规则将被忽略。
#
#当“所有”主要是用在源或培训部或列
#内区的交通没有受到影响。 当“一切+”是
#使用,内区的交通受到影响。
#
除非“所有[+]”#指定的服务器可能
#进一步限制在一个特定的子网,主机或
#接口附加“:”和子网,主机或
#接口。 见上文。
#
#限制:
#
#1。 MAC地址都是不允许的。
#2。 在转译规则,只有IP地址
#允许的,没有的FQDN或子网地址
#都是允许的。
#3。 您可能不会同时指定一个接口,
#一个地址。
#
就像在源列#,您可以指定的范围
#多达256个IP地址的使用语法
#<first Ip> - <上一页ip>。 当行动是转译或转译,,
#的连接将被分配到的地址的
#范围在循环赛的方式。
#
#如果你的内核和iptables有IPSET比赛支持
#然后你可能会在开头由IPSET名称“+”。
IPSET#该名称可以选择后跟一个数字
#月1日至方括号([])6
#指示的目的地层数绑定
#为了匹配。 只有源和DeST一列
#5月指定一个IPSET名称。
#
#的端口服务器监听,可
#包括从服务器的IP地址分隔
#“:”。 如果省略,防火墙将不会3,427.65的
#目标端口。 阿目标端口只可
#包括该行动是否转译或重定向。
#
#例如:禄:192.168.1.3:3128指定了一个本地
#服务器在IP地址192.168.1.3和监听端口
#3128。 端口号必须被指定为一个整数
#而不是作为从/ etc名称/服务。
#
#如果该诉讼是重定向,此栏只需要
#包含在防火墙上的端口号
#请求应该被重定向到。
#
#原癌协议-必须是“技术合作”,叫“UDP”,“ICMP协议”,“ipp2p”
#“Ipp2p:UDP数据”,“ipp2p:所有”的号码,或“所有”。
#“Ipp2p *”需要你的内核支持ipp2p匹配
#和iptables。
#
#目标端口(拧)目的地端口。 以逗号分隔的列表港
#名称(从/ etc /服务),端口号或端口
#范围,如果协议是“ICMP协议”,这列
#解释为目标的ICMP类型(拧)。
#
#如果协议是ipp2p,这列被解释
#Ipp2p作为一个没有领导“ - ”(例如选择
#“位位torrent”)。 如果没有给出端口,“ipp2p”是
#假设。
#
#一个端口范围表示为<low port>:<high port>。
#
#此列则忽略协议=所有,但必须
#输入如果下列ields任何输出。
# In that case, it is suggested that this field contain
# "-"
#
# If your kernel contains multi-port match support, then
# only a single Netfilter rule will be generated if in
# this list and the CLIENT PORT(S) list below:
# 1. There are 15 or less ports listed.
# 2. No port ranges are included.
# Otherwise, a separate rule will be generated for each
# port.
#
# CLIENT PORT(S) (Optional) Port(s) used by the client. If omitted,
# any source port is acceptable. Specified as a comma-
# separated list of port names, port numbers or port
# ranges.
#
# If you don't want to restrict client ports but need to
# specify an ORIGINAL DEST in the next column, then
# place "-" in this column.
#
# If your kernel contains multi-port match support, then
# only a single Netfilter rule will be generated if in
# this list and the DEST PORT(S) list above:
# 1. There are 15 or less ports listed.
# 2. No port ranges are included.
# Otherwise, a separate rule will be generated for each
# port.
#
# ORIGINAL DEST (0ptional) — If ACTION is DNAT[-] or REDIRECT[-]
# then if included and different from the IP
# address given in the SERVER column, this is an address
# on some interface on the firewall and connections to
# that address will be forwarded to the IP and port
# specified in the DEST column.
#
# A comma-separated list of addresses may also be used.
# This is usually most useful with the REDIRECT target
# where you want to redirect traffic destined for
# particular set of hosts.
#
# Finally, if the list of addresses begins with "!" then
# the rule will be followed only if the original
# destination address in the connection request does not
# match any of the addresses listed.
#
# For other actions, this column may be included and may
# contain one or more addresses (host or network)
# separated by commas. Address ranges are not allowed.
# When this column is supplied, rules are generated
# that require that the original destination address
# matches one of the listed addresses. This feature is
# most useful when you want to generate a filter rule
# that corresponds to a DNAT- or REDIRECT- rule. In this
# usage, the list of addresses should not begin with "!".
#
# See http://shorewall.net/PortKnocking.html for an
# example of using an entry in this column with a
# user-defined action rule.
#
# RATE LIMIT You may rate-limit the rule by placing a value in
# this colume:
#
# <rate>/<interval>[:<burst>]
#
# where <rate> is the number of connections per
# <interval> ("sec" or "min") and <burst> is the
# largest burst permitted. If no <burst> is given,
# a value of 5 is assumed. There may be no
# no whitespace embedded in the specification.
#
# Example: 10/sec:20
#
# USER/GROUP This column may only be non-empty if the SOURCE is
# the firewall itself.
#
# The column may contain:
#
# [!][<user name or number>][:<group name or number>][+<program name>]
#
# When this column is non-empty, the rule applies only
# if the program generating the output is running under
# the effective <user> and/or <group> specified (or is
# NOT running under that id if "!" is given).
#
# Examples:
#
# joe #program must be run by joe
# :kids #program must be run by a member of
# #the 'kids' group
# !:kids #program must not be run by a member
# #of the 'kids' group
# +upnpd #program named upnpd (This feature was
# #removed from Netfilter in kernel
# #version 2.6.14).
#
# Example: Accept SMTP requests from the DMZ to the internet
#
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
# # PORT PORT(S) DEST
# ACCEPT dmz net tcp smtp
#
# Example: Forward all ssh and http connection requests from the
# internet to local system 192.168.1.3
#
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
# # PORT PORT(S) DEST
# DNAT net loc:192.168.1.3 tcp ssh,http
#
# Example: Forward all http connection requests from the internet
# to local system 192.168.1.3 with a limit of 3 per second and
# a maximum burst of 10
#
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE
# # PORT PORT(S) DEST LIMIT
# DNAT net loc:192.168.1.3 tcp http – – 3/sec:10
#
# Example: Redirect all locally-originating www connection requests to
# port 3128 on the firewall (Squid running on the firewall
# system) except when the destination address is 192.168.2.2
#
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
# # PORT PORT(S) DEST
# REDIRECT loc 3128 tcp www – !192.168.2.2
#
# Example: All http requests from the internet to address
# 130.252.100.69 are to be forwarded to 192.168.1.3
#
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
# # PORT PORT(S) DEST
# DNAT net loc:192.168.1.3 tcp 80 – 130.252.100.69
#
# Example: You want to accept SSH connections to your firewall only
# from internet IP addresses 130.252.100.69 and 130.252.100.70
#
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
# # PORT PORT(S) DEST
# ACCEPT net:130.252.100.69,130.252.100.70 $FW \
# tcp 22
################################################################
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/
# PORT PORT(S) DEST LIMIT GROUP# Reject Ping from the "bad" net zone.. and prevent your log from being flooded..
Ping/REJECT net $FW
# Permit all ICMP traffic FROM the firewall TO the net zone
ACCEPT $FW net icmp
#LAST LINE — ADD YOUR ENTRIES BEFORE THIS ONE — DO NOT REMOVE
In questo file vengono settate le regole di accesso, quindi è qui che a secondo delle esigenze di ognuno di noi vanno aperte le porte per i programmi che noi utilizziamo. Facendo degli esempi con Amule, Deluge, Ftp, prima dell'ultima riga:
#LAST LINE — ADD YOUR ENTRIES BEFORE THIS ONE — DO NOT REMOVE
vanno inserite le regole:
# aMule
ACCEPT net $FW tcp 4662
ACCEPT $FW net tcp 4662
ACCEPT net $FW udp 4672
ACCEPT $FW net udp 4672
ACCEPT net $FW udp 4665
ACCEPT $FW net udp 4665# Ftp modo passivo
ACCEPT net $FW tcp 21
ACCEPT $FW net tcp 21
ACCEPT net $FW tcp 50000:50100
ACCEPT $FW net tcp 50000:50100#deluge
ACCEPT net $FW tcp 6881:6889
ACCEPT $FW net tcp 6881:6889
5) Per attivare shorewall all'avvio:
# gedit /etc/default/shorewall
e rimpiazzare "startup=0" con "startup=1"
6) Lanciare shorewall:
# shorewall start
7) Dopo aver fatto qualche modifica:
# shorewall restart
Per moltissime altre info, soprattutto più esaurienti e complete direttamente qua .
邮政类似的(或几乎):
- 对Gmail脚本 来获取邮件从Gmail我...
- Cryptare file Ognuno di noi, chi più chi meno, è geloso di...
- 超级蛴螬在USB记忆棒 超级grub对磁盘 磁盘 是非常有用的 , 因为我们知道,是一...
- Cifrare documenti con Encfs Esiste un altro modo oltre a questo per...
- Mcrypt, 这是一个小把戏来加密快速 加密文件 ...
















dicembre 9th, 2008 alle 23:08
A me pare inutile riportare tutta sta roba se poi ci sono solo due righe scarne di spiegazione…
Bah,
dicembre 10th, 2008 alle 07:54
@ FussyPenguin
In realtà io ho riportato quella che può essere una configurazione base, per un uso più o meno immediato, e mi sembra che sia abbastanza esauriente :) Certamente, a secondo delle nostre esigenze di configurazione, di approfondimenti ce ne sarebbero tanti, ma per quello e meglio rimandare alle faq di shorewall, altrimenti si rischia di scrivere un volume lungo come quello di Guerra e Pace. 您好;)
agosto 21st, 2009 alle 16:08
Ciao Edmond,
dato che sei esperto in shorewall e lo uso anch io, ti posto un quesito a cui non so ancora rispondermi…..
In shorewall e possibile differenziare i log in più file???
da 2 regole tipo
DNAT:info1 wan lan:10.0.0.2 tcp 22
DNAT:info2 wan lan:10.0.0.2 tcp 110
in modo da avere 2 file distinti quali
/var/log/info1
/var/log/info2
grazie ciao…
agosto 21st, 2009 alle 23:59
Ciao newsert in questo momento non riesco a fare delle prove, spero di riuscire a risponderti al più presto, nel caso trovassi tu per primo la soluzione postala pure.
agosto 22nd, 2009 alle 01:11
Soluzione….
Installare syslog-ng, nel file /etc/syslog-ng/syslog-ng.conf alla voce destinations aggiungere questo script
destination df_dnatTCP22 { file(\/var/log/info1.log\); };
filter f_dnat0 { match(\DNAT\); };
filter f_dnat1 { match(\DPT=22\); };
log {
source(s_all);
filter(f_dnat0);
filter(f_dnat1);
destination(df_dnatTCP22);
};
destination df_dnatTCP110 { file(\/var/log/info2.log\); };
filter f_dnat0 { match(\DNAT\); };
filter f_dnat1 { match(\DPT=110\); };
log {
source(s_all);
filter(f_dnat0);
filter(f_dnat1);
destination(df_dnatTCP110);
};
Cosi ho risolto la mia necessità… comunque il sistema non ha una immediata elasticità come immaginavo, per ogni porta bisogna fare una regola e la cosa e un pochino complessa….
Comunque a me basta e spero anche a voi…..
Edmond scusa, hai mai usato fwlogwatch???
e un bel programmino che sto usando per implementare shorewalll..
CiauzzZzz
agosto 22nd, 2009 alle 01:30
Grazie per aver postato la soluzione, spero di poterla provare al più presto. Per quanto riguarda fwlogwatch non l'ho mai provato anche perchè non ho necessità di report per quanto riguarda la mia rete. 您好;)