开发者社区> 问答> 正文

3. iptables 配置异常(Centos 6)[出现概率:10%]

已解决

展开
收起
游客cuafnbbtxk5gq 2018-04-28 13:01:27 976 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档

    前提条件:您只有在已授权可关闭 iptables 的情况下,才能做该项排查。
    故障现象:SSH 无法连接,关闭 iptables 后连接恢复。
    解决方法:调整 iptables 配置策略。

    1. 查看防火墙规则:

      iptables -nvL –line-number

      • L 查看当前表的所有规则,默认查看的是 filter 表,如果要查看 NAT 表,可以加上 -t NAT 参数。

      • n 不对 IP 地址进行反查,加上这个参数显示速度会快很多。

      • v 输出详细信息,包含通过该规则的数据包数量、总字节数及相应的网络接口。

    2. 修改规则。

      1. 若之前已设置过规则策略的,将原有的 iptables 文件保存一份,避免之前设置的策略丢失。

        cp -a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak

      2. 清空服务器上所有的规则。

        iptables -F

      3. 设置 INPUT 方向所有的请求都拒绝。如果是线上业务请勿直接操作,会导致业务直接中断。

        iptables -P INPUT DROP

      4. 设置 iptables 防火墙后需放行 22 号端口,否则会导致无法远程。

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

        iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

      5. 指定 IP 访问22号端口。

        iptables -I INPUT -s 192.168.1.1 -p tcp --dport 22 -j ACCEPT

        说明: 192.168.1.1 为请求端 IP 地址。

      6. 使用 iptables -L 查看一下添加的规则是否生效。

        iptables -L

        2

      7. 保存添加的规则。

        iptables-save > /etc/sysconfig/iptables

    3. 设置后需要重启iptables。

      service iptables restart 或 /etc/init.d/iptables restart

    4. 操作完成后,重启服务器进行配置验证。

      systemctl reboot

    5. 完成操作后,请再进行 SSH 连接。


    2018-04-29 06:00:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载
低代码开发师(初级)实战教程 立即下载