一、linux防火墙基本知识:
,shorewall的文件很多,但是一般用户用到的不多,特别是我们这种单机拨号的用户。-------------
1.首先配置/etc/shorewall/zones文件,浏览至最后,添加代码如下:
#ZONE TYPE OPTIONS
fw firewall #文件原本存在的这行,fw为防火墙本身,必须
net ipv4
loc ipv4
#LAST LINE -- DO NOT REMOVE
其中关于各个type,options的解释,该配置文件前面部分有,大家如果严格要求,可以参照文件配置,一般用户配置成上面就可以了。
2.配置/etc/shorewall/interfaces
(这里用到的ZONE的名字是在上个文件/etc/shorewall/zones中定义的名字,所以顺序不要弄错了。这种zone名字的方法是比较简单的,推荐这种方法。)
#ZONE INTERFACE BROADCAST OPTIONS
net ppp0
#LAST LINE -- DO NOT REMOVE
同样配置文件对各个参数进行了详尽的解释
--------------
3.配置/etc/shorewall/rules 和 /etc/shorewall/policy
关系: policy是定义默认的策略给所有的连接(从一个zone到另外一个zone, 比如我们定义的从loc到net);
rules是定义特殊的防火墙规则,即是policy里面没有的。
先后条件:任何连接,防火墙先检查rules,如果rule中没有关于这个连接要求的描述,就调用policy的默认配置。
/etc/shorewall/policy的配置如下(默认)
#SOURCE ZONE DESTINATION ZONE POLICY LOG LIMIT:BURST
# LEVEL
loc net ACCEPT
net all DROP info
all all REJECT info
#LAST LINE -- DO NOT REMOVE
我一般改为下面,省得每次开端口麻烦。
fw net ACCEPT
net all DROP info
all all REJECT info
上面的含义是允许本机所有连接网络的要求;网络连接到我的所有zones(比如防火墙fw,本地loc)都丢弃该连接要求的tcp封包,并记入日志。拒绝所有连接要求并记入日志(当连接被拒绝了,防火墙就会返回一个RST (加入协议是TCP) 或者一个 ICMP端口不能到达的包给其他协议)