定制iptables防火墙策略

2009-05-13 14:35:43来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

由于安装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
#Define string(定义变数)
IPT=/sbin/iptables
FW_IP="163.26.197.8"

#打开核心 forward 功能
作法如下∶
###-----------------------------------------------------###
echo "1" > /proc/sys/net/ipv4/ip_forward

#清除所有的规则
一开始要先清除先前所有的规则,重新开始,以免旧有的规则影响新的设定。作法如下∶
# 清除预设表 filter 中,所有规则链中的规则
$IPT -F [-t filter]
# 清除预设表 filter 中,使用者自订链中的规则
$IPT [-t filter] -X


# 清除mangle表中,所有规则链中的规则
$IPT -F  -t mangle
# 清除mangle表中,使用者自订链中的规则
$IPT -t mangle -X


# 清除nat表中,所有规则链中的规则
$IPT -F -t nat
# 清除nat表中,使用者自订链中的规则
$IPT -t nat -X

#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


IP 伪装
使内部网路的封包经过伪装之后,使用对外的 eth0 网卡当作代表号,对外连线。作法
如下∶
###-----------------------------------------------------###
# 启动内部对外转址
###-----------------------------------------------------###
$IPT -t nat -A POSTROUTING -o eth0 -s 172.16.0.0/16 -j SNAT --to-source
$FW_IP

上述指令意指∶把 172.16.0.0/16 这个网段,伪装成 $FW_IP 出去。
虚拟主机
利用转址、转 port 的方式,使外部网路的封包,可以到达内部网路中的伺服主机,俗
称虚拟主机。这种方式可保护伺服主机大部份的 port 不被外界存取,只开放公开服务
的通道(如 Web Server port 80),因此安全性甚高。
作法如下∶
###-----------------------------------------------------###
# 启动外部对内部转址
###-----------------------------------------------------###
# 凡对 $FW_IP:80 连线者, 则转址至 172.16.255.2:80
$IPT -t nat -A PREROUTING -i eth0 -p tcp -d $FW_IP --dport 80 -j DNAT
--to-destination 172.16.255.2:80

开放内部主机可以 telnet 至外部的主机
开放内部网路,可以 telnet 至外部主机。
作法如下∶(预设 policy 为 DROP)
###-----------------------------------------------------###
# open 外部主机 telnet port 23
###-----------------------------------------------------###
$IPT -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0
--dport 23 -j ACCEPT
$IPT -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 23 -d $FW_IP

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:FreeBSD分支介绍

下一篇:FTP超详解释