iptables 配置

时间:2023-03-08 21:01:27

一、概述

iptables 配置

  1、redhat7/centos7系列默认防火墙使用firewalld,关闭之
    systemctl stop firewalld.service
  2、安装iptables
    yum install -y iptables-services
  3、systemctl start iptables.service
    systemctl enable iptables.service

   /etc/sysconfig/iptables #编辑防火墙配置文件

  4、查看规则:
    iptables -nL //注意,该输出的顺序很重要
    对filter表(iptables默认表)的INPUT链配置:
    //所有input都丢弃;然后开放22端口
      iptables -A INPUT -j DROP ; iptables -A INPUT -p tcp --dport 22 -j ACCEPT

    对filter表(iptables默认表)的FORWARD链配置:
      iptables -A FORWARD -j DROP
    对filter表(iptables默认表)的OUTPUT链配置:
      iptables -A OUTPUT -j ACCEPT

    放开lo:
      iptables -A INPUT -p all -j ACCEPT

    iptables -F #清空规则

    iptables -X #清空自定义规则

  5、note:

    使用以上命令设置规则之后,systemctl restart iptables.service之后,规则完全丢失;

    方法一: iptables-save >  /etc/sysconfig/iptables

    方法二: service iptables save  

    执行之后,重启之后依然可以生效;

  #打开本地回环
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A OUTPUT -o lo -j ACCEPT

  #打开ping
    iptabels -A INPUT -p icmp  --icmp-type 8 -j ACCEPT
    iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT

# Generated by iptables-save v1.4.21 on Fri Mar   ::
*filter
:INPUT ACCEPT [:]
:FORWARD DROP [:]
:OUTPUT ACCEPT [:]
-A INPUT -i lo -j ACCEPT #允许本机ping其他host
-I INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp --dport -j ACCEPT
-A INPUT -p tcp -m tcp --dport -j ACCEPT #允许本机被ping
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT #允许dns
#-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p udp --dport -j ACCEPT
-A INPUT -p udp --sport -j ACCEPT -A INPUT -p udp --dport -j ACCEPT
-A OUTPUT -p udp --sport -j ACCEPT #允许本机被ping
-A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport -j ACCEPT -A INPUT -j DROP
-A FORWARD -j DROP
-A OUTPUT -j ACCEPT
COMMIT
# Completed on Fri Mar ::