⑴下面写一下更加细致的规则,就是限制到某台机器
⑵如:我们只允许...的机器进行SSH连接
⑶[roottp ~]# iptables -A INPUT -s ... -p tcp --dport -j AEPT
⑷如果要允许,或限制一段IP地址可用 .../ 表示...-端的所有IP.
⑸表示子网掩码数。但要记得把 /etc/sysconfig/iptables 里的这一行删了。
⑹-A INPUT -p tcp -m tcp --dport -j AEPT 因为它表示所有地址都可以登陆。
⑺或采用命令方式:
⑻[roottp ~]# iptables -D INPUT -p tcp --dport -j AEPT
⑼然后保存,我再说一边,反是采用命令的方式,只在当时生效,如果想要重起后也起作用,那就要保存。写入到/etc/sysconfig/iptables文件里。
⑽[roottp ~]# /etc/rc.d/init.d/iptables save
⑾这样写 !... 表示除了...的ip地址
⑿其他的规则连接也一样这么设置。
⒀在下面就是FORWARD链,FORWARD链的默认规则是DROP,所以我们就写需要AETP(通过的链,对正在转发链的监控。
⒁开启转发功能,(在做NAT时,FORWARD默认规则是DROP时,必须做
⒂[roottp ~]# iptables -A FORWARD -i eth -o eth -m state --state RELATED,ESTABLISHED -j AEPT
⒃[roottp ~]# iptables -A FORWARD -i eth -o eh -j AEPT
⒄丢弃坏的TCP包
⒅[roottp ~]#iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP
⒆处理IP碎片数量,防止攻击,允许每秒个
⒇[roottp ~]#iptables -A FORWARD -f -m limit --limit /s --limit-burst -j AEPT
⒈设置ICMP包过滤,允许每秒个包,限制触发条件是个包。
⒉[roottp ~]#iptables -A FORWARD -p icmp -m limit --limit /s --limit-burst -j AEPT
⒊我在前面只所以允许ICMP包通过,就是因为我在这里有限制。
⒋二,配置一个NAT表放火墙
⒌,查看本机关于NAT的设置情况
⒍[roottp rc.d]# iptables -t nat -L
⒎Chain PREROUTING (policy AEPT
⒏target prot opt source destination
⒐Chain POSTROUTING (policy AEPT
⒑target prot opt source destination
⒒SNAT all -- .../ anywhere to:...
⒓Chain OUTPUT (policy AEPT
⒔target prot opt source destination
⒕我的NAT已经配置好了的(只是提供最简单的代理上网功能,还没有添加防火墙规则。
⒖当然你如果还没有配置NAT的话,你也不用清除规则,因为NAT在默认情况下是什么都没有的
⒗如果你想清除,命令是
⒘[roottp ~]# iptables -F -t nat
⒙[roottp ~]# iptables -X -t nat
⒚[roottp ~]# iptables -Z -t nat
⒛添加基本的NAT地址转换,(关于如何配置NAT可以看我的另一篇文章,
①添加规则,我们只添加DROP链。因为默认链全是AEPT.
②防止外网用内网IP欺骗
③[roottp sysconfig]# iptables -t nat -A PREROUTING -i eth -s .../ -j DROP
④[roottp sysconfig]# iptables -t nat -A PREROUTING -i eth -s .../ -j DROP
⑤[roottp sysconfig]# iptables -t nat -A PREROUTING -i eth -s .../ -j DROP
⑥如果我们想,比如阻止MSN,QQ,BT等的话,需要找到它们所用的端口或者IP,(个人认为没有太大必要
⑦禁止与...的所有连接
⑧[roottp ~]# iptables -t nat -A PREROUTING -d ... -j DROP
⑨禁用FTP(端口
⑩[roottp ~]# iptables -t nat -A PREROUTING -p tcp --dport -j DROP
Ⅰ这样写范围太大了,我们可以更精确的定义。
Ⅱ[roottp ~]# iptables -t nat -A PREROUTING -p tcp --dport -d ... -j DROP
Ⅲ这样只禁用...地址的FTP连接,其他连接还可以。如web(端口连接。
Ⅳ按照我写的,你只要找到QQ,MSN等其他软件的IP地址,和端口,以及基于什么协议,只要照着写就行了。
Ⅴdrop非法连接
Ⅵ[roottp ~]# iptables -A INPUT -m state --state INVALID -j DROP
Ⅶ[roottp ~]# iptables -A OUTPUT -m state --state INVALID -j DROP
Ⅷ[roottp ~]# iptables-A FORWARD -m state --state INVALID -j DROP
Ⅸ允许所有已经建立的和相关的连接
Ⅹ[roottp ~]# iptables-A INPUT -m state --state ESTABLISHED,RELATED -j AEPT
㈠[roottp ~]# iptables-A OUTPUT -m state --state ESTABLISHED,RELATED -j AEPT
㈡[roottp ~]# /etc/rc.d/init.d/iptables save
㈢这样就可以写到/etc/sysconfig/iptables文件里了。写入后记得把防火墙重起一下,才能起作用.
㈣[roottp ~]# service iptables restart
㈤别忘了保存,不行就写一部保存一次.你可以一边保存,一边做实验,看看是否达到你的要求,
㈥上面的所有规则我都试过,没有问题
㈦上面就是Linux下使用iptables命令配置防火墙的方法介绍了,如果你不知道你的系统有没配置防火墙,可先对系统进行检测,在进行配置。