定制防火墙策略
都是2.4.20的内核版本,当然要用netfilter/iptables。由于安装Linux系统的时候,选择了“无防火墙”这个选项,那么在/etc/sysconfig
下将没有iptables这个文件存在。还是让我们随心所欲的来定制防火墙访问策略吧。
在目录 /etc/rc.d 下创建脚本文件
myfirewall.sh,用命令 touch /etc/rc.d/myfirewall.sh并给文件执行权限
chmod 711 myfirewall。然后用 vi 编辑这个文件。我写的这个
vi /etc/rc.d/myfirewall.sh
#!/bin/bash
#Define string
IPT=/sbin/iptables
#Refresh rules
$IPT -F FORWARD
$IPT -F INPUT
$IPT -F OUTPUT
#Default policy
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT
#Enable loopback
$IPT -A INPUT -i lo -p all -j
ACCEPT
#Enable icmp
$IPT -A INPUT -p icmp –j ACCEPT
#Interface forward
$IPT -A FORWARD -s 192.168.1.0/24 -j
ACCEPT
$IPT -A FORWARD -d 192.168.1.0/24 -j
ACCEPT
#Enable ssh
$IPT -A INPUT -p tcp --dport 22 -j
ACCEPT
#Add other access rule
//可根据实际情况添加或减少规则
$IPT -A INPUT -p tcp --dport 20 -j
ACCEPT
$IPT -A INPUT -p tcp --dport 21 -j
ACCEPT
$IPT -A INPUT -p tcp --dport 80 -j
ACCEPT
$IPT -A INPUT -p tcp --dport 53 -j
ACCEPT
$$IPT -A INPUT -p udp --dport 53 -j
ACCEPT
$IPT -A INPUT -p tcp --dport 23 -j
ACCEPT
$IPT -A INPUT -p tcp --dport 110 -j
ACCEPT
$IPT -A INPUT -p tcp --dport 25 -j
ACCEPT
$IPT -A INPUT -p tcp --dport 443 -j
ACCEPT
规则只开放了较少的允许访问的策略(可以ping
,收发邮件,浏览网页,ssh,https,telnet,ftp,其它的访问则全部丢弃)。$IPT
–A OUTPUT ACCEPT
没有设置成DROP的原因是由于大部分网络服务所使用的协议是tcp协议,众所周知,tcp协议是面向连接的,如果设置
$IPT –A OUTPUT DROP,
那么任何协议为tcp的连接就要写两条了。况且防火墙对外的访问总是允许的,因此这样做是为了简化规则。
修改完成后保存,然后在当前目录运行命令
./myfirewall.sh,在上述脚本没有书写错误的情况下,规则生效,但它仅仅在内存里,用命令
service iptables save 将自动生成文件
/etc/sysconfig/iptables,前面设定的访问策略就被保存到硬盘,系统重启时,系统将自动地从文件
/etc/sysconfig/iptables 获得定制的访问策略。
到这里,一个透明的linux
防火墙就架设好了。更改计算机的BIOS设置,使它可以在没有键盘的情况下启动系统。启用ftp,以便可以在需要时可以向防火墙主机拷贝文件。把键盘和显示器拿掉,剩下的操作只是摁一下电源开关。