Linux系统Iptables的常用防火墙配置方法.doc_第1页
Linux系统Iptables的常用防火墙配置方法.doc_第2页
Linux系统Iptables的常用防火墙配置方法.doc_第3页
Linux系统Iptables的常用防火墙配置方法.doc_第4页
Linux系统Iptables的常用防火墙配置方法.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux系统Iptables的常用防火墙配置方法实验环境介绍:本脚本环境为eth0外网,eth1内网;#!/bin/sh #外网网卡 EXT_IF=eth0 FW_IP=1 #内网网卡 INT_IF=eth1 LAN_IP= LAN_IP_RANGE=/ #加载模块,一般已内建 #Module loading. #echo modprobe modules #modprode ip_tables #modprode ip_nat_ftp #modprode ip_conntrack #modprobe ip_conntrack_ftp #启用转发(forward)功能 echo enabling IP FORWARDING. echo 1 /proc/sys/net/ipv4/ip_forward #规则初始化,设置默认都为drop echo enabling iptables rules #reset the default policies in the tables #Iptables 命令参数iptables -F iptables -X iptables -F -t mangle iptables -X -t mangle iptables -F -t nat iptables -X -t nat iptables -Z -t nat #set policies iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP #-# #过虑蠕虫病毒 #444/445/69/135/139 #-# iptables -A FORWARD -p tcp -dport 4444 -j DROP iptables -A FORWARD -p udp -dport 4444 -j DROP iptables -A FORWARD -p tcp -dport 445 -j DROP iptables -A FORWARD -p udp -dport 445 -j DROP iptables -A FORWARD -p tcp -dport 69 -j DROP iptables -A FORWARD -p udp -dport 69 -j DROP iptables -A FORWARD -p tcp -dport 135 -j DROP iptables -A FORWARD -p udp -dport 135 -j DROP iptables -A FORWARD -p tcp -dport 139 -j DROP iptables -A FORWARD -p udp -dport 139 -j DROP #允许ping localhost,ping /2 #allow loopback access iptables -A INPUT -p icmp -i lo -j ACCEPT iptables -A OUTPUT -p icmp -o lo -j ACCEPT #打开内对内连接 #iptables -A INPUT -i lo -j ACCEPT #允许代理和内网客户机相互传输数据(包括ping) #allow ping LAN iptables -A INPUT -p ALL -i $INT_IF -s $LAN_IP_RANGE -j ACCEPT iptables -A OUTPUT -p ALL -o $INT_IF -d $LAN_IP_RANGE -j ACCEPT #允许外网的网卡与内网相互通讯.接受数据只接受响应封包,否则不予放行.发送数据没有限制. iptables -A INPUT -p ALL -i $INT_IF -s $LAN_IP_RANGE -j ACCEPT iptables -A INPUT -p ALL -i $INT_IF -s $LAN_IP_RANGE -j ACCEPT #拒绝外部使用内网进行欺骗 #deny local cheat iptables -A INPUT -i $EXT_IF -s /16 -j DROP iptables -A INPUT -i $EXT_IF -s /8 -j DROP iptables -A INPUT -i $EXT_IF -s /12 -j DROP iptables -A INPUT -i $EXT_IF -s /8 -j DROP #从LAN进入防火墙主机的dhcp封包,不于放行,只有防火墙担任DHCP时才放行 #deny DHCP_packets from LAN iptables -A INPUT -p udp -i $INT_IF -dport 67 -sport 68 -j DROP #-# #配置向外方向的TCP规则,其中 -state ESTABLISHED ,NEW参数指定要检查哪个状态。#ESTABLISHED标志匹配属于已有的TCP连接的封包. #NEW标志指定试图创建一条新的TCP连接的第一个封包,这条规则指明属于新建的和已建立的 #TCP连接的封包将会通过eth0端口向外发送. #-# iptables -A OUTPUT -o $EXT_IF -p tcp -m state -state ESTABLISHED,NEW -j ACCEPT #-# #配置封包从一个端口转发到另一个端口 #-# iptables -A FORWARD -i $INT_IF -j ACCEPT # same to above 和上面的规则功能相同 #iptables -A FORWARD -i $EXT_IF -m state -state ESTABLISHED,RELATED -j ACCEPT #-# #检查到达外部网络接口的封包状态.属于已有TCP连接的封包都允许通过 # 从WAN到LAN的封包仅放行回应封包 #-# iptables -A INPUT -i $EXT_IF -p tcp -m state -state ESTABLISHED,RELATED -j ACCEPT # 限制过滤规则的比对频率为每分钟平均流量三个封包(超过上限的封包将暂停比对), #并将瞬间流量设定为一次最多处理三个封包(超过上限的封包将丢弃不予处理), #这类封包通常是黑客用来进行阻断式攻击 iptables -A INPUT -m limit -limit 3/minute -limit-burst 3 -j LOG -log-level INFO -log-prefix IPT INPUT packets died: #-# #不管来自哪里的ip碎片都进行控制,允许每秒通过100个碎片 #-# iptables -A FORWARD -f -m limit -limit 100/s -limit-burst 100 -j ACCEPT #-# #icmp包通过的控制,防止icmp黑客攻击 #-# iptables -A FORWARD -p icmp -m limit -limit 1/s -limit-burst 10 -j ACCEPT #-# # 防止DDOS #-# #iptables -A FORWARD -p tcp -tcp-flags SYN,ACK,FIN,RST RST -m limit -limit 1/s -j ACCEPT #-# # UDP包一律放行 # allow UDP #-# iptables -A FORWARD -p udp -d $LAN_IP_RANGE -i $EXT_IF -j ACCEPT #-# #根据mac屏蔽主机上网 #-# #iptables -t nat -I PREROUTING -m mac -mac-source 4C:00:10:D8:57:F3 -j DROP #-# # 开放内部主机可以telnet至外部主 telnet port 23 #-# #没必要打开23端口 #iptables -A OUTPUT -o $EXT_IF -p tcp -s $FW_IP -sport 1024:65535 -d any/0 -dport 23 -j ACCEPT #iptables -A INPUT -i $EXT_IF -p tcp ! -syn -s any/0 -sport 23 -d $FW_IP -dport 1024:65535 -j ACCEPT #-# # 开放邮包转送通道 open SMTP port 25 #-# #以下是别人可以送信给你 iptables -A INPUT -i $EXT_IF -p tcp -s any/0 -sport 1024:65535 -d $FW_IP -dport 25 -j ACCEPT iptables -A OUTPUT -o $EXT_IF -p tcp ! -syn -s $FW_IP -sport 25 -d any/0 -dport 1024:65535 -j ACCEPT #以下是你可以送信给别人 iptables -A OUTPUT -o $EXT_IF -p tcp -s $FW_IP -sport 1024:65535 -d any/0 -dport 25 -j ACCEPT iptables -A INPUT -i $EXT_IF -p tcp ! -syn -s any/0 -sport 25 -d $FW_IP -dport 1024:65525 -j ACCEPT #-# # 开放对外离线下载信件的通道 POP3 port 110 #-# iptables -A OUTPUT -o $EXT_IF -p tcp -s $FW_IP -sport 1024:65535 -d any/0 -dport 110 -j ACCEPT iptables -A INPUT -i $EXT_IF -p tcp ! -syn -s any/0 -sport 110 -d $FW_IP -dport 1024:65535 -j ACCEPT #-# # 开放浏览网页的通道 http port 80 #-# iptables -A OUTPUT -o $EXT_IF -p tcp -s $FW_IP -sport 1024:65535 -d any/0 -dport 80 -j ACCEPT iptables -A INPUT -i $EXT_IF -p tcp ! -syn -s any/0 -sport 80 -d $FW_IP -dport 1024:65535 -j ACCEPT #-# # 开放查询外部网络的DNS主机 DNS port:53 #-# #第一次会用udp封包来查询 iptables -A OUTPUT -o $EXT_IF -p udp -s $FW_IP -sport 1024:65535 -d any/0 -dport 53 -j ACCEPT iptables -A INPUT -i $EXT_IF -p udp -s any/0 -sport 53 -d $FW_IP -dport 1024:65535 -j ACCEPT #若有错误,会改用tcp包来查询 iptables -A OUTPUT -o $EXT_IF -p tcp -s $FW_IP -sport 1024:65535 -d any/0 -dport 53 -j ACCEPT iptables -A INPUT -i $EXT_IF -p tcp ! -syn -s any/0 -sport 53 -d $FW_IP -dport 1024:65535 -j ACCEPT #开放这台主机上的DNS和外部的DNS主机互动查询:使用udp iptables -A OUTPUT -o $EXT_IF -p udp -s $FW_IP -sport 53 -d any/0 -dport 53 -j ACCEPT iptables -A INPUT -i $EXT_IF -p udp -s any/0 -sport 53 -d $FW_IP -dport 53 -j ACCEPT #开放这台主机上的DNS和外部的DNS主机互动查询:使用udp iptables -A OUTPUT -o EXT_IF -p tcp -s $FW_IP -sport 53 -d any/0 -dport 53 -j ACCEPT iptables -A INPUT -i EXT_IF -p tcp ! -syn -s any/0 -sport 53 -d $FW_IP -dport 53 -j ACCEPT #-# #开放内部主机可以SSH至外部的主机 SSH port:22 #-# iptables -A OUTPUT -o $EXT_IF -p tcp -s $FW_IP -sport 1024:65535 -d any/0 -dport 22 -j ACCEPT iptables -A INPUT -i $EXT_IF -p tcp ! -syn -s any/0 -sport 22 -d $FW_IP -dport 1024:65535 -j ACCEPT #以下是SSH protocol比较不同的地方 iptables -A OUTPUT -o $EXT_IF -p tcp -s $FW_IP -sport 1020:1023 -d any/0 -dport 22 -j ACCEPT iptables -A INPUT -i $EXT_IF -p tcp ! -syn -s any/0 -sport 22 -d $FW_IP -dport 1020:1023 -j ACCEPT #-# #开放内部网络,可以ftp至外部主机 #-# #以下是打开命令 channel 21 iptables -A OUTPUT -o $EXT_IF -p tcp -s $FW_IP -sport 1024:65535 -d any/0 -dport 21 -j ACCEPT iptables -A INPUT -i $EXT_IF -p tcp ! -syn -s any/0 -sport 21 -d $FW_IP -dport 1024:65535 -j ACCEPT #以下是打开资料 channel 20 iptables -A INPUT -i $EXT_IF -p tcp -s any/0 -sport 20 -d $FW_IP -dport 1024:65535 -j ACCEPT iptables -A OUTPUT -o $EXT_IF -p tcp ! -syn -s $FW_IP -sport 1024:65535 -d any/0 -dport 20 -j ACCEPT #以下是打开 passive mode FTP 资料通道 iptables -A OUTPUT -o $EXT_IF -p tcp -s $FW_IP -sport 1024:65535 -d any/0 -dport 1024:65535 -j ACCEPT ipta

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论