:linux iptables 端口 防火墙 规则
来源:百度文库 编辑:九乡新闻网 时间:2024/05/04 06:53:11
linux iptables 端口 防火墙 规则2011年09月23日 星期五 上午 10:25转载自 分享最终编辑 taoyuyin开始配置我们来配置一个filter表的防火墙.(1)查看本机关于IPTABLES的设置情况
Chain INPUT (policy ACCEPT)
target prot opt source destination Chain FORWARD (policy ACCEPT)
target prot opt source destination Chain OUTPUT (policy ACCEPT)
target prot opt source destination Chain RH-Firewall-1-INPUT (0 references)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255
ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0
ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:25
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
可以看出我在安装linux时,选择了有防火墙,并且开放了22,80,25端口.如果你在安装linux时没有选择启动防火墙,是这样的
Chain INPUT (policy ACCEPT)
target prot opt source destination Chain FORWARD (policy ACCEPT)
target prot opt source destination Chain OUTPUT (policy ACCEPT)
target prot opt source destination 什么规则都没有.(2)清除原有规则.不管你在安装linux时是否启动了防火墙,如果你想配置属于自己的防火墙,那就清除现在filter的所有规则. 清除预设表filter中的所有规则链的规则
清除预设表filter中使用者自定链中的规则我们在来看一下
Chain INPUT (policy ACCEPT)
target prot opt source destination Chain FORWARD (policy ACCEPT)
target prot opt source destination Chain OUTPUT (policy ACCEPT)
target prot opt source destination 什么都没有了吧,和我们在安装linux时没有启动防火墙是一样的.(提前说一句,这些配置就像用命令配置IP一样,重起就会失去作用),怎么保存. 这样就可以写到/etc/sysconfig/iptables文件里了.写入后记得把防火墙重起一下,才能起作用. 现在IPTABLES配置表里什么配置都没有了,那我们开始我们的配置吧(3)设定预设规则
注:如果你是远程SSH登陆的话,当你输入第一个命令回车的时候就应该掉了.因为你没有设置任何规则.怎么办,去本机操作呗!(4)添加规则. (注:这个规则,如果你把OUTPUT 设置成DROP的就要写上这一部,好多人都是望了写这一部规则导致,始终无法SSH.在远程一下,是不是好了.其他的端口也一样,如果开启了web服务器,OUTPUT设置成DROP的话,同样也要添加一条链:如果做了WEB服务器,开启80端口.
如果做了邮件服务器,开启25,110端口.
如果做了FTP服务器,开启21端口如果做了DNS服务器,开启53端口如果你还做了其他的服务器,需要开启哪个端口,照写就行了.上面主要写的都是INPUT链,凡是不在上面的规则里的,都DROP允许icmp包通过,也就是允许ping,允许loopback!(不然会导致DNS无法正常关闭等问题)下面写OUTPUT链,OUTPUT链默认规则是ACCEPT,所以我们就写需要DROP(放弃)的链.减少不安全的端口连接 下面写一下更加细致的规则,就是限制到某台机器如:我们只允许192.168.0.3的机器进行SSH连接如果要允许,或限制一段IP地址可用 192.168.0.0/24 表示192.168.0.1-255端的所有IP.24表示子网掩码数.但要记得把 /etc/sysconfig/iptables 里的这一行删了.-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 因为它表示所有地址都可以登陆.或采用命令方式:然后保存,我再说一边,反是采用命令的方式,只在当时生效,如果想要重起后也起作用,那就要保存.写入到/etc/sysconfig/iptables文件里.这样写 !192.168.0.3 表示除了192.168.0.3的ip地址其他的规则连接也一样这么设置. 在下面就是FORWARD链,FORWARD链的默认规则是DROP,所以我们就写需要ACCETP(通过)的链,对正在转发链的监控.开启转发功能,(在做NAT时,FORWARD默认规则是DROP时,必须做)丢弃坏的TCP包[root@tp ~]#iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP处理IP碎片数量,防止攻击,允许每秒100个设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包.我在前面只所以允许ICMP包通过,就是因为我在这里有限制.1,查看本机关于NAT的设置情况[root@tp rc.d]# 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.235Chain OUTPUT (policy ACCEPT)
target prot opt source destination 我的NAT已经配置好了的(只是提供最简单的代理上网功能,还没有添加防火墙规则).关于怎么配置NAT,参考我的另一篇文章当然你如果还没有配置NAT的话,你也不用清除规则,因为NAT在默认情况下是什么都没有的如果你想清除,命令是 2,添加规则添加基本的NAT地址转换,(关于如何配置NAT可以看我的另一篇文章),添加规则,我们只添加DROP链.因为默认链全是ACCEPT.防止外网用内网IP欺骗
如果我们想,比如阻止MSN,QQ,BT等的话,需要找到它们所用的端口或者IP,(个人认为没有太大必要)例:禁止与211.101.46.253的所有连接禁用FTP(21)端口 这样写范围太大了,我们可以更精确的定义. 这样只禁用211.101.46.253地址的FTP连接,其他连接还可以.如web(80端口)连接.按照我写的,你只要找到QQ,MSN等其他软件的IP地址,和端口,以及基于什么协议,只要照着写就行了. 最后:drop非法连接
允许所有已经建立的和相关的连接
别忘了保存,不行就写一部保存一次.你可以一边保存,一边做实验,看看是否达到你的要求, 上面的所有规则我都试过,没有问题.
Chain INPUT (policy ACCEPT)
target prot opt source destination Chain FORWARD (policy ACCEPT)
target prot opt source destination Chain OUTPUT (policy ACCEPT)
target prot opt source destination Chain RH-Firewall-1-INPUT (0 references)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255
ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0
ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:25
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
可以看出我在安装linux时,选择了有防火墙,并且开放了22,80,25端口.如果你在安装linux时没有选择启动防火墙,是这样的
Chain INPUT (policy ACCEPT)
target prot opt source destination Chain FORWARD (policy ACCEPT)
target prot opt source destination Chain OUTPUT (policy ACCEPT)
target prot opt source destination 什么规则都没有.(2)清除原有规则.不管你在安装linux时是否启动了防火墙,如果你想配置属于自己的防火墙,那就清除现在filter的所有规则. 清除预设表filter中的所有规则链的规则
清除预设表filter中使用者自定链中的规则我们在来看一下
Chain INPUT (policy ACCEPT)
target prot opt source destination Chain FORWARD (policy ACCEPT)
target prot opt source destination Chain OUTPUT (policy ACCEPT)
target prot opt source destination 什么都没有了吧,和我们在安装linux时没有启动防火墙是一样的.(提前说一句,这些配置就像用命令配置IP一样,重起就会失去作用),怎么保存. 这样就可以写到/etc/sysconfig/iptables文件里了.写入后记得把防火墙重起一下,才能起作用. 现在IPTABLES配置表里什么配置都没有了,那我们开始我们的配置吧(3)设定预设规则
注:如果你是远程SSH登陆的话,当你输入第一个命令回车的时候就应该掉了.因为你没有设置任何规则.怎么办,去本机操作呗!(4)添加规则. (注:这个规则,如果你把OUTPUT 设置成DROP的就要写上这一部,好多人都是望了写这一部规则导致,始终无法SSH.在远程一下,是不是好了.其他的端口也一样,如果开启了web服务器,OUTPUT设置成DROP的话,同样也要添加一条链:如果做了WEB服务器,开启80端口.
如果做了邮件服务器,开启25,110端口.
如果做了FTP服务器,开启21端口如果做了DNS服务器,开启53端口如果你还做了其他的服务器,需要开启哪个端口,照写就行了.上面主要写的都是INPUT链,凡是不在上面的规则里的,都DROP允许icmp包通过,也就是允许ping,允许loopback!(不然会导致DNS无法正常关闭等问题)下面写OUTPUT链,OUTPUT链默认规则是ACCEPT,所以我们就写需要DROP(放弃)的链.减少不安全的端口连接 下面写一下更加细致的规则,就是限制到某台机器如:我们只允许192.168.0.3的机器进行SSH连接如果要允许,或限制一段IP地址可用 192.168.0.0/24 表示192.168.0.1-255端的所有IP.24表示子网掩码数.但要记得把 /etc/sysconfig/iptables 里的这一行删了.-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 因为它表示所有地址都可以登陆.或采用命令方式:然后保存,我再说一边,反是采用命令的方式,只在当时生效,如果想要重起后也起作用,那就要保存.写入到/etc/sysconfig/iptables文件里.这样写 !192.168.0.3 表示除了192.168.0.3的ip地址其他的规则连接也一样这么设置. 在下面就是FORWARD链,FORWARD链的默认规则是DROP,所以我们就写需要ACCETP(通过)的链,对正在转发链的监控.开启转发功能,(在做NAT时,FORWARD默认规则是DROP时,必须做)丢弃坏的TCP包[root@tp ~]#iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP处理IP碎片数量,防止攻击,允许每秒100个设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包.我在前面只所以允许ICMP包通过,就是因为我在这里有限制.1,查看本机关于NAT的设置情况[root@tp rc.d]# 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.235Chain OUTPUT (policy ACCEPT)
target prot opt source destination 我的NAT已经配置好了的(只是提供最简单的代理上网功能,还没有添加防火墙规则).关于怎么配置NAT,参考我的另一篇文章当然你如果还没有配置NAT的话,你也不用清除规则,因为NAT在默认情况下是什么都没有的如果你想清除,命令是 2,添加规则添加基本的NAT地址转换,(关于如何配置NAT可以看我的另一篇文章),添加规则,我们只添加DROP链.因为默认链全是ACCEPT.防止外网用内网IP欺骗
如果我们想,比如阻止MSN,QQ,BT等的话,需要找到它们所用的端口或者IP,(个人认为没有太大必要)例:禁止与211.101.46.253的所有连接禁用FTP(21)端口 这样写范围太大了,我们可以更精确的定义. 这样只禁用211.101.46.253地址的FTP连接,其他连接还可以.如web(80端口)连接.按照我写的,你只要找到QQ,MSN等其他软件的IP地址,和端口,以及基于什么协议,只要照着写就行了. 最后:drop非法连接
允许所有已经建立的和相关的连接
这样就可以写到/etc/sysconfig/iptables文件里了.写入后记得把防火墙重起一下,才能起作用.
别忘了保存,不行就写一部保存一次.你可以一边保存,一边做实验,看看是否达到你的要求, 上面的所有规则我都试过,没有问题.
linux iptables 端口 防火墙 规则
利用linux自带的iptables配置防火墙
使用netfilter/iptables为Linux(内核2.4.x)配置防火墙
iptables 规则的删除
【常用端口表】防火墙论坛_泡泡防火墙论坛网
用Linux防火墙构建DMZ
Linux防火墙的配置实例
IPTABLES
linux设备驱动的安全端口分配
linux下怎么开启80端口 -天涯问答
【电脑技巧】Linux系统防火墙功能抵御网络攻击
SUSE Linux 10 SP2 关闭IPV6及防火墙
如何在Windows XP操作系统的安全中心的Windows防火墙中打开/关闭网络端口
关于防火墙DMZ区的使用和防火墙的DMZ区域规则的配置
iptables详解
iptables 总览
内核Iptables实现机制
iptables的学习资源
iptables常用配置
IPtables命令详解
IPTABLES常用配置
linux
科莫多防火墙
防火墙设置