zoukankan      html  css  js  c++  java
  • 设置iptables允许ssh、http、ftp服务

    系统环境:centos-6.5

    服务器:thinkserver

    知识扫盲:

    NEW:这个包是我们看到的第一个包

    ESTABLISHED:一个连接要从NEW变 为ESTABLISHED,只需要接到应答包即可,不管这个包是发往防火墙的,还是要由防 火墙转发的。

    FTP服务器有两种工作模式:主动模式和被动模式。这两种方式的特点如下:
     (1)主动模式下:
      tcp, 20(20号端口用于数据传输),21(21号端口用于控制连接)
     (2)被动模式:
      tcp, 21(用于控制连接) >1023(端口号大于1023的随机端口用于数据传输)
      所以如果FTP工作在被动模式下,无法指定数据传输的端口,于是引入了RELATED状态。RELATED主要用于追踪与其相关的端口。注意:ftp工作在主动模式或者被动模式与客户端的请求有关。

    ssh、http服务分别工作在22、80端口,第一次进入server端的包为NEW状态,所以要求INPUT链能过ACCEPT客户端的第一次发来的数据包。而后,发给客户端的包,使得该客户端与服务端通信来往包的状态变为ESTABLISHED,所以INPUT链允许通过的状态为NEW、ESTABLISHED,而OUTPUT链,只需ESTABLISHED。

    1、设置21,22,80端口INPUT链和OUTPUT链,设置INPUT、FORWORD、OUTPUT链的默认策略为DROP

    [plain] view plain copy
     
    1. iptables -I INPUT -d 10.79.32.22 -p tcp -m multiport --destination-ports 21,22,80 -m state --state NEW -j ACCEPT  
    2. iptables -I INPUT 1 -d 10.79.32.22 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT  
    3. iptables -I OUTPUT 1 -s 10.79.32.22 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT  
    4. iptables -P FORWARD DROP  
    5. iptables -P OUTPUT DROP  
    6. iptables -P INPUT DROP  


    2、查看iptables状态

    [plain] view plain copy
     
    1. # iptables -L -n  



    3、保存iptables当前配置,该配置文件位于/etc/sysconfig/iptables

    [plain] view plain copy
     
    1. #service iptables save  
    [plain] view plain copy
     
    1. <p>#vim /etc/sysconfig/iptables</p>  

    4、修改iptables启动时装载模块,这里增加的两个模块可以为“nf_nat_ftp nf_conntrack_ftp”,也可以写成“ip_nat_ftp ip_conntrack_ftp”

    #vim /etc/sysconfig/iptables-config


    5、重新启动iptables服务

    # service iptablesrestart

    6、查看内核是否装载有上述配置的两个有关ftp模块

  • 相关阅读:
    Python中的赋值(复制)、浅拷贝与深拷贝
    review
    Python网络编程
    云计算网络 ASW DSW CSW LSW
    Python文件操作 I/O
    RSI 指标
    python 常见模块
    Python模块和包
    读利弗莫尔
    GDP、CPI、M2
  • 原文地址:https://www.cnblogs.com/Devopser/p/7053871.html
Copyright © 2011-2022 走看看