手机版
你好,游客 登录 注册
背景:
阅读新闻

Linux iptables 配置详解

[日期:2012-12-29] 来源:Linux社区  作者:Linux [字体: ]
二、配置一个NAT表放火墙
 
1. 查看本机关于NAT的设置情况
 # iptables -t nat -L
 
    Chain PREROUTING (policy ACCEPT)
    target prot opt source destination
    Chain POSTROUTING (policy ACCEPT)
    target prot opt source destination
    SNAT all -- 192.168.0.0/24 anywhere to:211.101.46.235
    Chain OUTPUT (policy ACCEPT)
    target prot opt source destination
 
我的NAT已经配置好了的(只是提供最简单的代理上网功能,还没有添加防火墙规则). 当然你如果还没有配置NAT的话,你也不用清除规则,因为NAT在默认情况下是什么都没有的
 
如果你想清除,命令是
 # iptables -F -t nat
 # iptables -X -t nat
 # iptables -Z -t nat
 
2. 添加规则
 添加基本的NAT地址转换,(关于如何配置NAT可以看我的另一篇文章)
 添加规则,我们只添加DROP链.因为默认链全是ACCEPT.
 
防止外网用内网IP欺骗
 # iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROP
 # iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -j DROP
 # iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16 -j DROP
 
如果我们想,比如阻止MSN,QQ,BT等的话,需要找到它们所用的端口或者IP,(个人认为没有太大必要)
 例:
 禁止与211.101.46.253的所有连接
 # iptables -t nat -A PREROUTING -d 211.101.46.253 -j DROP
 
禁用FTP(21)端口
 # iptables -t nat -A PREROUTING -p tcp --dport 21 -j DROP
 这样写范围太大了,我们可以更精确的定义.
 # iptables -t nat -A PREROUTING -p tcp --dport 21 -d 211.101.46.253 -j DROP
 这样只禁用211.101.46.253地址的FTP连接,其他连接还可以.如web(80端口)连接.
 
按照我写的,你只要找到QQ,MSN等其他软件的IP地址,和端口,以及基于什么协议,只要照着写就行了.
 
最后:
 drop非法连接
 # iptables -A INPUT -m state --state INVALID -j DROP
 # iptables -A OUTPUT -m state --state INVALID -j DROP
 # iptables-A FORWARD -m state --state INVALID -j DROP
 
允许所有已经建立的和相关的连接
 # iptables-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 # iptables-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 # /etc/rc.d/init.d/iptables save
 这样就可以写到/etc/sysconfig/iptables文件里了.写入后记得把防火墙重起一下,才能起作用
 # service iptables restart
 别忘了保存,不行就写一部保存一次.你可以一边保存,一边做实验,看看是否达到你的要求linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款