2024年11月如何使用iptables命令为Linux系统配置防火墙(3)

发布时间:

  ⑴下面写一下更加细致的规则,就是限制到某台机器

  ⑵如:我们只允许...的机器进行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命令配置防火墙的方法介绍了,如果你不知道你的系统有没配置防火墙,可先对系统进行检测,在进行配置。