浏览模式: 标准 | 列表 2012年09月27日的文章

利用iptables仅允许某IP或者IP段连接

需求:为了保护SSH端口的安全,需要实现该端口仅允许某IP或者IP段连接。

通过linux下的iptables过滤规则即可实现:先写允许连接的规则,再写拒绝连接的规则。软件这样设置也是比较符合逻辑的,如果所连接的IP符合第一条规则则让其通过,如果不在第一条规则内的IP则跳到下一条规则进行匹配。

iptables -A INPUT -s IP -p tcp --dport 22 -j ACCEPT

iptables -A INPUT -j DROP


封单个IP:iptables -I INPUT -s 211.1.1.1 -j DROP

封一个C段IP:iptables -I INPUT -s 211.1.0.0/16 -j DROP

封一个B段IP: iptables -I INPUT -s 211.0.0.0/8 -j DROP


iptables服务启动自运行有三个方法: 

  1. 把它加到/etc/rc.local中。
  2. iptables-save >/etc/sysconfig/iptables 可以把你当前的iptables规则放到/etc/sysconfig/iptables中,系统启动iptables时自动执行。 
  3. service iptables save 也可以把你当前的iptables规则放/etc/sysconfig/iptables中,系统启动iptables时自动执行。

建议选择2与3,更加方便,一般iptables服务会在network服务之前启来,更安全。