包过滤防火墙配置举例

来源:互联网 发布:如无必要 勿增实体知乎 编辑:程序博客网 时间:2024/05/03 07:37

包过滤防火墙配置举例

1、网络说明:为了将内部网段192.168.0.0/24internet隔离,在内部网络和internet之间使用包过滤防火墙,防火墙的内网接口是eth1192.168.0.254)外网接口是(192.168.1.254)。内网有3台服务器对外提供服务

WWW 服务器:IP地址为192.168.0.251

FTP服务器:IP地址为192.168.0.252

E-MAIL服务器为:IP地址为192.168.0.253

2、建立包过滤防火墙

// 首先在/etc/rc.d/目录下生成空的脚本文件,并添加可执行权限

# touch /etc/rc.d/filter-firewall

# chmod  u+x /etc/rc.d/filter-firewall

//编辑/etc/rc.d/rc.local文件,使脚本能在系统启动时自动运行

# echo “/etc/rc.d/filter-firewall” >>/etc/rc.d/rc.local

编辑filter-firewall

//插入下面的内容

# !/bin/bash

# 在屏幕上显示信息

Echo “Starting iptables rules…..”

# 开启内核转发功能

Echo “1” >/proc/sys/net/ipv4/ip_forward

# 定义变量

IPT=/sbin/iptables

WWW-SERVER=192.168.0.251

FTP-SERVER=192.168.0.252

EMAIL-SERVER=192.168.0.253

IP_RANGE=192.168.0.0/24

# 刷新所有链的规则

$IPT –F

# 首先禁止所有转发的包,然后再进一步设置允许通过的包

# 首先设置防火墙FORWARD的策略为DROP

$IPT –P FORWARD DROP

# 设置服务器规则

1# 针对来自internet数据包的过滤规则

# WWW服务端口80采用tcpudp协议

$IPT –A FORWARD –p tcp –d $WWW-SERVER  --dport www –i eth0 –j ACCEPT

# ftp服务,命令端口21,数据端口20

$IPT –A FORWARD –p tcp –d $FTP_SERVER  --dport ftp –i eth0 –j ACCEPT

#email服务

$IPT –A FORWARD –p tcp –d $MAIL-SERVER –dport smtp –i eth0 –j ACCEPT

2、针对intranet的规则

//允许intranet客户采用被动模式访问internetFTP服务器

$IPT –A FORWARD –p tcp –s 0/0 –sport ftp-data –d $IP_RANGE –i eth0 –j ACCEPT

#  接受来自internet的非连接请求tcp

$IPT –A FORWARD –p tcp –d $IP_RANGE ! –syn –i eth0 –j ACCEPT

# 接收所有UDP

$IPT –A FORWARD –p udp –d $IP_RANGE –i eth0 –j ACCEPT

3、接收来自整个intranet的数据包过滤

$IPT –A FORWARD –s $IP_RANGE –i eth1 –j ACCEPT

# 处理ip碎片

$IPT –A FORWARD –f –m limit --limit 100/s --limit-burst 100 –j ACCEPT

# 设置ICMP包过滤

$IPT –A FORWARD –p icmp –m limit --limit 1/s --limit-burst 10 –j ACCEPT

 

 

 

原创粉丝点击