Linux防火墙指定端口范围
时间:2014-11-04 20:54 来源:linux.it.net.cn 作者:IT
Linux的iptables要比win的防火墙好用多了,win的防火墙简直就是鸡肋。
Linux的防火墙怎么使用本文就不在浪费口舌,不会的童鞋倒回去谷歌吧!通常我们设置防火墙的时候都是以限定单个端口访问为目的,然而有时候这样显的有点麻烦。比如有这样一个需求,我需要700至800之间的端口都能tcp访问,总不能在iptables里添加八百条
1
2
3
4
5
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 700 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 701 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 702 -j ACCEPT
...
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 800 -j ACCEPT
这样会累死人的!
如果你认为添加800条这样的规则也不算什么..好吧,我佩服你。于是对于这样的需求自然也有解决方案,采用冒号的方式指定范围。
比如以上需求就可以使用一条语句搞定
1
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 700:800 -j ACCEPT
这里的端口范围指定格式不仅可以用在 INPUT规则,也可以用在所有规则里。
有三种声明方式
一、 700:800 表示700到800之间的所有端口
二、 :800 表示800及以下所有端口
三、 700: 表示700以及以上所有端口
我们可以来看看实例
一、 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 7979:9898 -j ACCEPT
访问9898正常
访问7788失败
二、 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 7788:9999 -j ACCEPT
访问9898
访问7788
三、 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport :8000 -j ACCEPT
访问9898
访问7878
四、 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9000: -j ACCEPT
访问9898
访问7788
以上四个例子有效说明了端口范围的指定作用。
如果你有变态的需求,比如范围内偶数端口可以访问,奇数禁止。那就用程序生成吧
for(i=start;i<end;i++){
if(i%2==0){
str += '-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport '+i+' -j ACCEPT'
}
}
当然,正常不会有这样的需求,除非很另类
(责任编辑:IT)
Linux的iptables要比win的防火墙好用多了,win的防火墙简直就是鸡肋。
Linux的防火墙怎么使用本文就不在浪费口舌,不会的童鞋倒回去谷歌吧!通常我们设置防火墙的时候都是以限定单个端口访问为目的,然而有时候这样显的有点麻烦。比如有这样一个需求,我需要700至800之间的端口都能tcp访问,总不能在iptables里添加八百条
这样会累死人的! 如果你认为添加800条这样的规则也不算什么..好吧,我佩服你。于是对于这样的需求自然也有解决方案,采用冒号的方式指定范围。 比如以上需求就可以使用一条语句搞定
这里的端口范围指定格式不仅可以用在 INPUT规则,也可以用在所有规则里。 有三种声明方式 一、 700:800 表示700到800之间的所有端口 二、 :800 表示800及以下所有端口 三、 700: 表示700以及以上所有端口
我们可以来看看实例 一、 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 7979:9898 -j ACCEPT 访问9898正常
访问7788失败
二、 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 7788:9999 -j ACCEPT 访问9898
访问7788
三、 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport :8000 -j ACCEPT 访问9898
访问7878
四、 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9000: -j ACCEPT 访问9898
访问7788
以上四个例子有效说明了端口范围的指定作用。 如果你有变态的需求,比如范围内偶数端口可以访问,奇数禁止。那就用程序生成吧 for(i=start;i<end;i++){ if(i%2==0){ str += '-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport '+i+' -j ACCEPT' } } 当然,正常不会有这样的需求,除非很另类 |