zoukankan      html  css  js  c++  java
  • CentOS7--iptables的配置

         在红帽RHEL7系统中firewalld服务取代了iptables服务,如果我们不想用或者不习惯使用firewalld服务,请看下面的操作:

    iptables命令中则常见的控制类型有:

    1. ACCEPT:允许通过.
    2. LOG:记录日志信息,然后传给下一条规则继续匹配.
    3. REJECT:拒绝通过,必要时会给出提示
    4. DROP:直接丢弃,不给出任何回应.

    规则链则依据处理数据包的位置不同而进行分类:

      PREROUTING:在进行路由选择前处理数据包

      INPUT:处理入站的数据包

      OUTPUT:处理出站的数据包

      FORWARD:处理转发的数据包

      POSTROUTING:在进行路由选择后处理数据包

    Iptables中的规则表:

          规则表的先后顺序:raw→mangle→nat→filter

    规则链的先后顺序:

    入站顺序:PREROUTING→INPUT

    出站顺序:OUTPUT→POSTROUTING

    转发顺序:PREROUTING→FORWARD→POSTROUTING

     iptables的基本参数:

    参数 作用
    -P 设置默认策略:iptables -P INPUT (DROP|ACCEPT)
    -F 清空规则链
    -L 查看规则链
    -A 在规则链的末尾加入新规则
    -I num 在规则链的头部加入新规则
    -D num 删除某一条规则
    -s 匹配来源地址IP/MASK,加叹号"!"表示除这个IP外。
    -d 匹配目标地址
    -i 网卡名称 匹配从这块网卡流入的数据
    -o 网卡名称 匹配从这块网卡流出的数据
    -p 匹配协议,如tcp,udp,icmp
    --dport num 匹配目标端口号
    --sport num 匹配来源端口号

     实例:iptables的filter的配置:

    --关闭firewall:

    [root@localhost ~]# systemctl stop firewalld.service            #停止firewall
    [root@localhost ~]# systemctl disable firewalld.service        #禁止firewall开机启动

    --安装安装iptables防火墙

    [root@localhost ~]# yum install iptables-services            #安装

    --清空已有的规则

    iptables -F
    iptables -X
    iptables -Z

    --配置允许指定网段主机SSH登陆端口进入

    iptables -I INPUT -s 192.168.0.1/24 -p tcp --dport 22 -j ACCEPT

    --允许本地所有主机进入

    iptables -A INPUT -p tcp -s 192.168.0.0/24 -j ACCEPT

    --允许本机lo通信

    iptables -A INPUT -i lo -j ACCEPT
    iptables -A OUTPUT -o lo -j ACCEPT

    --设置默认的访问规则

    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT

    --允许关联的状态包通过

    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    --开放特定的端口,以80为例

    iptables -A INPUT -p tcp --dport 80 -j ACCEP

     --保存配置

    service iptables save

    --重启

    systemctl restart iptables.service

    --设置开机自启动

     systemctl enable iptables.service 

     附录:

    如果想使用系统默认的firewalld服务,请参考:

    CentOS7--Firewalld防火墙

     

  • 相关阅读:
    备忘
    基于ZooKeeper实现分布式锁
    git 使用ssh密钥
    git 的安装及使用
    sqlalchemy 使用pymysql连接mysql 1366错误
    SQL语句及5.7.2 mysql 用户管理
    C 实现快速排序
    C 实现冒泡排序
    C 实现选择排序
    sqlalchemy orm 操作 MySQL
  • 原文地址:https://www.cnblogs.com/zydev/p/6289531.html
Copyright © 2011-2022 走看看