搭建基于netfilter/iptables的防火墙实验环境

http://tech.ddvip.com   2006年04月03日    社区交流 收藏本文

本文详细介绍搭建基于netfilter/iptables的防火墙实验环境

  218,197.93.115 *255.255.255.0U 0 0 0 eth0

  192.168.1.0*255.255.255.0U 0 0 0 eth1

  192.168.2.0*255.255.255.0U 0 0 0 eth2

  还要为系统增加一条缺省路由,因为缺省的路由是把所有的数据包都发往它的上一级网关,因此增加如下的缺省路由记录:

  # route add default gw 218.197.93.254

  这样系统的静态路由表建立完成,它的内容是

  # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface

  218,197.93.115 *255.255.255.0U 0 0 0 eth0

  192.168.1.0*255.255.255.0U 0 0 0 eth1

  192.168.2.0*255.255.255.0U 0 0 0 eth2

  default218.197.93.254 0.0.0.0 UG 0 0 0 eth0

  二>在C上开启www,ftp服务:

  #service httpd start

  #service vsftpd start

  三>在防火墙上初始化设置

  ◆防火墙上初始化

  #service iptables stop

  #iptables -F

  #iptables -t nat -F

  #iptables -X

  #iptables -t nat -X

  #iptables -Z

  #iptables -t nat -Z

  #iptables -P INPUT DROP

  #iptables -P OUTPUT DROP

  #iptables -P FORWARD DROP

  #iptables -t nat -P POSTROUTING DROP

  #service iptables start

  ◆最后一步,要增加系统的IP转发功能,执行如下命令打开ip转发功能:

  echo 1 > /proc/sys/net/ipv4/ip_forward

  四>在防火墙上实现端口地址映射:

  ◆允许A机器访问WAN

  iptables -A FORWARD -s 192.168.2.0/24 -i eth2 -j ACCEPT

  ◆A往C的包都允许

  iptables -A FORWARD -s 192.168.2.0/24 -d 192.168.1.0/24 -i eth2 -j ACCEPT

  ◆WAN往A的包都不允许

  iptables -t nat -A PREROUTING -s 0.0.0.0/0 -d 192.168.2.0/24 -i eth0 -j DROP

  ◆允许WAN向内部发送已建立连接的包和相关连接的包。

  iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 218.197.93.115

  ◆允许WAN发往www,ftp服务器的包并把对网关的www,ftp请求转发到内部的www,ftp服务器上。

  #iptables -t nat -A PREROUTING -p tcp --dport 80 -d 218.197.93.115 -s 0.0.0.0/0 -i eth0 -j DNAT --to 192.168.1.2

  #iptables -A FORWARD -p tcp -s 0.0.0.0/0 -d 192.168.1.2 -i eth0 --dport 80 -j ACCEPT

  #iptables -A FORWARD -p tcp -d 0.0.0.0/0 -s 192.168.1.2 -i eth1 --sport 80 ! --syn -j ACCEPT

  #iptables -t nat -A PREROUTING -p tcp --dport 20,21 -d 218.197.93.115 -s 0.0.0.0/0 -i eth0 -j DNAT --to 192.168.1.2

  #iptables -A FORWARD -p tcp -s 0.0.0.0/0 -d 192.168.1.2 -i eth0 --dport 20,21 -j ACCEPT

  #iptables -A FORWARD -p tcp -d 0.0.0.0/0 -s 192.168.1.2 -i eth1 --sport 20,21 ! --syn -j ACCEPT

  #iptables -t nat -A PREROUTING -s 0.0.0.0/0 -d 192.168.1.0/24 -i eth0 -j DROP

  C不能访问A,B

  iptables -A FORWARD -s 192.168.1.0/24 –d 0.0.0.0/0 -i eth1 -j DROP

责编:豆豆技术应用

正在加载评论...