Linux_iptables防火墙学习笔记

iptables 概述

  1. 主机型
    1. 对主机进行保护
  2. 网络型
    1. 系统当作路由时使用,对网络进行保护
  3. iptables是一个用户空间的应用,用来设置内核空间的netfilter
  4. iptables没有守护进程,不能算是真正意义上的服务,应该算是内核提供的功能

四表五链

  1. 数据经过防火墙的流程
    在这里插入图片描述

  2. 四表

    1. filter表
      1. 负责过滤功能,防火墙;内核模块:iptables_filter
    2. nat表
      1. network address translation,网络地址转换功能;内核模块:iptable_nat
    3. mangle表
      1. 拆解报文,做出修改,并重新封装的功能;内核模块:iptable_mangle
    4. raw表
      1. 关闭nat表上雇用的连接追踪机制;内核模块:iptable_raw
  3. 五链

    1. PREROUTING(路由前)
    2. INPUT(数据包入本机)
    3. FORWARD(数据转发)
    4. OUTPUT(数据包出本机)
    5. POSTROUTING(路由后)
  4. 规则

    1. 处理运作
      1. ACCEPT
        1. 允许数据包通过
      2. DROP
        1. 直接丢弃数据包,不给任何回应信息
      3. REJECT
        1. 拒绝数据包通过,返回拒绝的回应信息
      4. SNAT
        1. 源地址转换,解决内网用户用同一个公网地址上网的问题
      5. MASQUERADE
        1. 伪装,是SNAT的一种特殊形式,适用于动态的、临时会变的IP上
      6. DNAT
        1. 目标地址转换
      7. REDRECT
        1. 在本机做端口映射
      8. LOG
        1. 在/var/log/message文件中记录日志信息,继续进行下一条规则

iptables 安装启动

  1. 以CentOS7为例
  2. 禁用selinux和firewalld
    systemctl stop firewalld;systemctl disable firewalld;setenforce 0;sed -i '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
    
  3. 安装启动iptables服务
    yum -y install iptables-services;systemctl enable iptables --now;systemctl status iptables
    
  4. 查看内核是否支持iptables
    lsmod|egrep "nat|filter"
    

iptables 配置详解

iptables配置文件

  1. ipv4
    vi /etc/sysconfig/iptables
    
  2. ipv6
    vi /etc/sysconfig/ip6tables
    

iptables配置语法

  1. 语法
    iptables [-t 表名] 管理选项 [链名] [匹配条件] [-j 运作]
    
  2. 管理选项
    选项功能备注
    -t 表指定要操作的表默认为filter表
    -A向规则链中添加条目在最后添加
    -D从规则链中删除条目指定条目内容
    -I向规则链中插入条目默认在最前插入
    -R替换规则链中已有的条目
    -L显示规则链中已有的条目
    -F清空规则链中所有条目注意,可能会断SSH
    -Z清空规则链中的数据包计数器和字节计数器
    -N创建新的用户自定义规则链
    -P定义规则链中的默认目标
    -h显示帮助信息
    -p指定要匹配的数据包协议类型
    -s指定要匹配的数据包源ip地址
    -d指定要匹配的数据包目的ip地址
    -j 目标指定动作
    -i 网络接口指定数据包进入本机的网络接口
    -o 网络接口指定数据包要离开本机所使用的网络接口

iptables常用实例

查看规则
  1. 默认为netfilter表,不解析,显示行号
    iptables -nL --line-numbers
    
修改默认规则
  1. 默认为netfilter表,修改INPUT链默认规则为"DROP"
    iptables -P INPUT DROP
    
保存和备份规则
  1. 修改的规则临时生效
  2. 如果要永久生效需要保存配置
  3. 命令
    1. 保存配置
      iptables-save
      
    2. 备份配置
      iptables-save > /mnt/iptables_bak_$(date "+%Y-%m-%d_%H:%M")
      
恢复备份的规则
  1. 命令
    iptables-restore 备份的文件名
    
清空规则
  1. 默认为netfilter表,清空规则,如果默认规则不是ACCEPT,会造成SSH立即断开
    iptables -F
    
放行SSH服务
  1. 源IP:192.168.86.2
  2. 目的IP:192.168.99.202
  3. SSH端口:22
  4. 命令
    iptables -I INPUT -s 192.168.86.2 -d 192.168.99.202 -p tcp --dport 22 -j ACCEPT
    iptables -I OUTPUT -s 192.168.99.202 -d 192.168.86.2 -p tcp --sport 22 -j ACCEPT
    
在ubuntu14.04中iptables规则持久化
  1. 修改规则–保存规则为文件–制作开启启动脚本,自动载入文件中规则
  2. 脚本
    #!/bin/bash
    # 修改规则(略)
    # 查看规则
    iptables -nL --line-numbers
    # 保存规则到文件
    sudo mkdir /etc/iptables
    sudo iptables-save > /etc/iptables/rules.v4
    # 制作开机脚本
    sudo iptables-save > /etc/iptables/rules.v4
    cat >> /etc/network/if-pre-up.d/iptables << EOF
    #!/bin/sh
    /sbin/iptables-restore < /etc/iptables/rules.v4
    EOF
    sudo chmod +x /etc/network/if-pre-up.d/iptables
    ```![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/dc4e35de8b4143d5b023fd88c9864e8b.png#pic_center)
    
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liujinbao8000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值