command指定iptables 对我们提交的规则要做什么样的操作。这些操作可能是在某个表里增加或删除一些东西,或做点儿其他什么。以下是iptables可用的command:
命令 -A,--append
范例 iptables –A INPUT……
注解 添加规则
命令 -D,--delete
范例 iptables –D INPUT 8,iptables –D FORWARD –p tcp –s 192.168.1.12 –j ACCEPT
注解 从所选的链中删除规则,有两种方法:一种是以编号来表示被删除的规则,另一种是以整条的规则来匹配策略。
命令 -R,--replace
范例 iptables –R FORWARD 2 –p tcp –s 192.168.1.0 –j ACCEPT
注解 替换相应位置的策略,这时有一点需要注意,如果源或目的地址是以名字而不是以IP地址表示的,如果解析出的IP地址多于一个,那么这条命令是失效的。
命令 -I,--insert
范例 iptables –I FORWARD 2 –p tcp –s 192.168.1.0 –j ACCEPT
注解 这个命令和上面一个命令只差一个参数,而不同之处在于这个命令是在相应的位置前面插入一条命令,而不是替换。
命令 -L,--list
范例 iptables –t nat –L,iptables –L INPUT
注解 列出当前内存空间的策略。
命令 -F,flush
范例 iptables –F,iptables –t nat -F
注解 清空所选的链的配置规则。
命令 -N,--new-chain
范例 iptables –N tcp_allowed
注解 添加新的链,在默认情况下,iptables有ACCEPT、DROP、REJECT、LOG、REDIRECT等,如果希望对数据包做定制的处理,可以自己定义新的链。
命令 -X,--delete-chain
范例 iptables –X tcp_allowed
注解 这条命令用于删除自定义的链。
命令 -P,--pollicy
范例 iptables –P INPUT DROP
注解 为链设置缺省的target,通常为ACCEPT和DROP,可以理解为防火墙的缺省策略:除非特定的被运行,其他的都被禁止或除非特定的被禁止,其他的都被允许。
上表列出了一些主要的iptables的命令,此外还有其他的一些命令不很常用,我们在这里不作介绍。这些命令有一些选项,要想详细了解选项的具体内容,可以查看iptables的manpage页。
这些大家可以漫漫看。。。。
大家好。。。我叫高兴。。。hi.baidu.com/proxuwin。。。。今天我们来配置iptables
基本知识
两条路。。。。。。。
三个表 。。。。 表》链》规则
查看
iptables -L
查看某个表
iptables -t nat/filter/mangle -L
增加、插入、删除和替换
iptables [-t 表名] <-A/I/D/R>链名 [规则编号] [-i/o 网卡名称(eth0/eth1..)] [-p 协议] [-s 源IP/源子网] [--sport 源端口] [-d 目标地址、目标子网] [--dport 目标端口号] <-j 动作(ACCEPT/DROP)>
删除
iptables -t nat/filter/mangle -F
创建一个具有很好灵活性、可以抵御各种意外事件
最基本的原则是“先拒绝所有的数据包,然后再允许需要的数据包”,所以filter表链的定义一般可以如下:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
规则力求简单
规则顺序很重要
尽量优化规则
做好笔记。。。。这个很重要。。。
今天的实验
实验:
1.禁止客户端上网
2.禁止互联网上的机子ping服务器(iptables -I INPUT -i eth0 -p icmp -j DROP)
3.屏蔽指定网站
4禁止客户机某些服务(也就是关闭这些服务所启用的端口号而已-----iptables -I FORWARD -s 10.0.0.0/24 -p tcp --dport 21 -j DROP)
iptableas -t filter -I FORWARD -s 10.0.0.129 -p tcp --dport 80 -j DROP
iptables -I FORWARD -d www.baidu.com -j DROP ----禁止用户访问百度
iptables -I FORWARD -s 10.0.0.129 -j DROP -----禁止上网
1.禁止客户端上网
现在是可以上网的。。。。我们执行一下这个 iptables -t filter -I FORWARD -s 10.0.0.129 -j DROP命令。。。看看。。。
看到了吧。。。不能上网了。。。我们把这条命令删除看看。。能不能上。。。
可以了吧。。。。
2.禁止互联网上的机子ping服务器(iptables -I INPUT -i eth0 -p icmp -j DROP)
现在我们演示第二个实验。。。。
是禁止互连网上的电脑ping我们的服务器。。。而不是禁止自己内部的电脑PING
命令iptables -I INPUT -i eth0 -p icmp -j DROP。。。。执行就可以了。。。
这个不能让大家看到效果,那就做一个禁止自己内部的电脑PING我 的服务器
命令iptables -I INPUT -i eth0:1 -p icmp -j DROP
可以PING 通。。。。由于DROP icmp -- 10.0.0.0/24 anywhere的原因。。我们现在先把无关的规则删除。。。不好意思。。刚刚是虚拟网卡的原因,如果在真实的网卡中是不会出现这样的问题的,那么我们就直接用IP,不用网卡名称了。。。。
又搞错了,变成了源地址了。。。实在是不好意思啊。。。
执行命令后。。。。
不行了吧。。。。
我们把命令删除,看看
3.屏蔽指定网站 www.baidu.com
看到了 把。。就这样,大不开了,被屏蔽了。。。
删除规则看看
可以了。。。。
4禁止客户机某些服务(也就是关闭这些服务所启用的端口号而已-----iptables -I FORWARD -s 10.0.0.0/24 -p tcp --dport 21 -j DROP)
g关闭FTP 就是关闭21
TELNET 23 等等。。。