iptables使用测试指令

王朝other·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

===============iptables-filter.sh==================

#!/bin/bash

#iptables [-t filter][-AI INPUT,OUTPUT,FORWARD][-io interface][-p tcp,udp,icmp,all][-s IP/network]#[--sport ports][-d IP/network][--dport ports] -j [ACCEPT,DROP]

#-A:在原规则后新增加条规则

#I插入条规则,默认插入后为第一条

#-i:设定封包进入的网络介质

#-o:设定封包留出的网络介质

#interface :网络介质如:ppp0,eth0,..

#-p :封包的协议 如tcp udp icmp ; all表示所有封包

#-s :来源封包的ip或网域

#-d:目标主机ip或网域(network)

# --sport ,--dpord分别是来源封包端口号和目标主机端口号

#-j:动作

#ACCEPT:接收该封包

#DROP:丢弃封包

#LOG:记录下该封包的信息(默认在/var/log/messages中)

#所有来自lo介质的封包都接收

/sbin/iptables -A INPUT -i lo -j ACCEPT

#来自特定ip的封包都接收

/sbin/iptables -A INPUT -i eth0 -p tcp -s 211.67.190.8 -j ACCEPT

#来自特定网域(段)的都接收

/sbin/iptables -A INPUT -i eth0 -p tcp -s 211.67.190.0/24 -j ACCEPT

#来自特定的ip的封包都丢掉! 主意下边这条和前边的规则的顺序,下边这条应该不会不起作用

#原因是211.67.190.106在上边211.67.190.0/24这个网段内,iptables在上边的规则里已经让106

#通过啦! 所以定义规则时还要考虑规则顺序这个基本问题...!

/sbin/iptables -A INPUT -i eth0 -p tcp -s 211.67.190.106 -j DROP

#丢掉所有进入本机80端口的封包

/sbin/iptables -A INPUT -i eth0 -p tcp --dport 80 -j DROP

#丢掉特定主机到本地主机端口80到65535的所有封包

/sbin/iptables -A INPUT -i eth0 -p tcp -s 211.67.190.200 --dport 80:65535 -j DROP

#记录本地特定端口的访问连接

/sbin/iptables -A INPUT -p tcp --dport 110 -j LOG

###########################LEVEL 2###################################

#将来自特定主机的主动连接丢掉

/sbin/iptables -A INPUT -p tcp -i eth0 -s 211.67.190.9 --syn -j DROP

#不回应其他主机的ping探测

/sbin/iptables -A INPUT -p icmp --icmp-type 8 -j DROP

#将来自特定网卡的所有封包丢掉

/sbin/iptables -A INPUT -p all -m mac --mac-source 01:01:01:01:02:01 -j DROP

#让已建立或与本地主机有关的回应封包通过,让不合法的,以及想要尝试新建立的封包被抵挡在外

/sbin/iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

/sbin/iptables -A INPUT -p tcp -m state --state INVALID,NEW -j DROP

########################nat 80---------------60003port################

#将要求与80端口的封包传递到60003端口

/sbin/iptables -t nat -A PREROUTING -p tcp --dprot 80 -j REDRIRECT --to-ports 60003

#将来自特定的ip或网域的封包ip伪装成本地eth0:1的ip

/sbin/iptables -t nat -A POSTROUTING -s 211.67.190.8 -o eth0:1 -j MASQUERADE

==================iptables-define.sh ==================

#!/bin/bash

#/sbin/iptables [-t tables] [-P] [INPUT.OUTPUT.FORWARD][PREROUTING,OUTPUT,POSTROUTING][ACCEPT,DROP]

#定义Policy(默认规则)

#-P :定义Policy.

#INPUT :封包输入本地主机

#OUTPUT:封包输出本地主机

#FORWARD:封包不进入本地主机而是向外再传输出

#FREROUTING:在进入路由之前进行的工作

#OUTPUT:封包输出本地主机

#POSTROUTING:在进入路由之后进行的工作

/sbin/iptables -P INPUT DROP

/sbin/iptables -P OUTPUT ACCEPT

/sbin/iptables -P FORWARD ACCEPT

/sbin/iptables -t nat -P PREROUTING ACCEPT

/sbin/iptables -t nat -P OUTPUT ACCEPT

/sbin/iptables -t nat -P POSTROUTING ACCEPT

=====================iptables-clear.sh ==============

#!/bin/bash

#清除防火墙规则

/sbin/iptables -F

/sbin/iptables -X

/sbin/iptables -Z

/sbin/iptables -t nat -F

===============iptables-save-restore.sh =============

#!/bin/bash

/sbin/iptables-save >iptables-rule.txt

/sbin/iptables-restore < iptables-rule.txt

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航