zoukankan      html  css  js  c++  java
  • centos下配置防火墙port失败

    问题:将规则加入到防火墙中。总是port无法开启

    (1)改动文件

    首先vim /etc/sysconfig/iptables

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT(同意5001到5009的端口通过防火墙)

    接着运行/etc/init.d/iptables restart (重新启动防火墙使配置生效)。

    因将该句加在文件末尾,导致防火墙重新启动后port仍然无法使用

    (2)解决方法

    应该在默认的22port这条规则的以下加入port新规则。然后重新启动防火墙才干生效。例如以下:

    # Firewall configuration written by system-config-firewall
    # Manual customization of this file is not recommended.
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT

    当中

    :INPUT ACCEPT [0:0]
    # 该规则表示INPUT表默认策略是ACCEPT

    :FORWARD ACCEPT [0:0]
    # 该规则表示FORWARD表默认策略是ACCEPT

    :OUTPUT ACCEPT [0:0]
    # 该规则表示OUTPUT表默认策略是ACCEPT

    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    # 意思是同意进入的数据包仅仅能是刚刚我发出去的数据包的回应,ESTABLISHED:已建立的链接状态。

    RELATED:该数据包与本机发出的数据包有关。

    -A INPUT -i lo -j ACCEPT
    # 意思就同意本地环回接口在INPUT表的全部数据通信,-i 參数是指定接口。接口是lo,lo就是Loopback(本地环回接口)
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    # 这两条的意思是在INPUT表和FORWARD表中拒绝全部其它不符合上述不论什么一条规则的数据包。而且发送一条host prohibited的消息给被拒绝的主机。
    这个是iptables的默认策略,你也能够删除这些,另外建立符合自己需求的策略。

    因此把-A INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT放在首行(INPUT ACCEPT前)。因默认策略没有设置不会生效.

    而把-A INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT放在最后,运行-A INPUT -j REJECT --reject-with icmp-host-prohibited时INPUT表和FORWARD表仅仅有22,后加的端口5001到5009都会被拒绝。

    (3)其它方法(root用户)

           使用命令iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT跟上述问题一样,无法开启端口,-A是加入在后行。

    能够使用iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT能成功,-I是插入在前排。

           也能够使用shell命令改动文件。sed -i '/--dport/a -A INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT' /etc/sysconfig/iptables或者sed -i '/-A INPUT -j REJECT --reject-with icmp-host-prohibited/i -A INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT' /etc/sysconfig/iptables。

           还能够使用命令system-config-firewall启动图形化界面加入port。例如以下图:

           另一种不提倡的方法:

    凝视掉最后两行,或iptables -F或service iptables stop

    #-A INPUT -j REJECT --reject-with icmp-host-prohibited
    #-A FORWARD -j REJECT --reject-with icmp-host-prohibited)
     (4)关闭防火墙和selinux的脚本

    sed -i s/^SELINUX=.*/SELINUX=disabled/g /etc/selinux/config
    service iptables stop && chkconfig iptables off

  • 相关阅读:
    PHP写一段代码,确保多个进程同时写入一个文件成功
    PHP中的中文截取乱码问题_gb2312_utf-8
    TortoiseSVN使用详细步骤
    限制页面内部链接访问源-HTML注释
    Redis配置文件解读
    window下部署php_redis扩展
    js延迟加载,提升网页加载速度
    HTML5 LocalStorage 本地存储
    静态HTML页面不缓存js文件的方法
    寻找幸运数
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/7116615.html
Copyright © 2011-2022 走看看