Linux防火墙指定端口范围

文章来源:http://www.qttc.net/201302279.html

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'

    }

}

当然,正常不会有这样的需求,除非很另类


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值