Linux-iptables知识

1.iptables 四表五链

在这里插入图片描述

filter表
  • 作用
     主要和主机自身相关,真正负责主机防火墙功能,是iptables默认使用的表,包含3个链:INPUT、FORWARD、OUTPUT
     对于filter表的控制是实现本机防火墙功能的重要手段,特别是对INPUT链的控制
  • INPUT
    过滤进入主机的数据包
  • FORWARD
    负责转发流经主机的数据包,起转发作用,和NAT关系很大
  • OUTPUT
    过滤从本机发出去的数据包
nat表
  • 作用
     负责网络地址转换,来源与目的IP地址和PORT转换。一般用于局域网共享上网或特殊的端口转换服务,包含3个链:OUTPUT、PREROUTING、POSTROUTING
  • OUTPUT
    和主机发出去的数据包相关,改变主机发出数据包的目标地址
  • PREROUTING
    数据包达到防火墙时进行路由判断之前执行的规则,作用改变数据包的目的地址,目的端口
  • POSTROUTING
    在数据包离开防火墙时进行路由判断之后执行的规则,作用改变数据包的源地址、源端口等
mangle表
  • 作用
     负责修改数据包中特殊的路由标记,如TTL、TOS、MARK等,包含5个链:INPUT、FORWARD、OUTPUT、PREROUTING、POSTROUTING
2.iptables工作流程

iptables是采用数据包过滤机制工作,会对请求的数据包的包头数据进行分析,根据预先设定的规则进行匹配来决定是否可以进行主机

iptables工作流程图

  • 小结
    1、防火墙按照配置规则顺序从上到下匹配
    2、如果匹配上规则,明确表明是阻止还是同过,数据包就不在向下匹配吓一条规则
    3、如果匹配的规则中没有明确表明是阻止还是通过,则会继续向下进行匹配,直到匹配默认规则得到明确的阻止还是通过
    4、防火墙默认规则是所有的规则执行完才会执行
3.iptables操作
  • 永久保存成配置文件
    /etc/init.d/iptables save
    
    查看保存的文件
    cat /etc/sysconfig/iptables
    
  • 启动
     /etc/init.d/iptables start 
    
    无法启动:setup —>Firewallwall configuration —> enable
    在这里插入图片描述
  • 关闭
    /etc/init.d/iptables stop
    
  • 重启
    /etc/init.d/iptables restart
    
  • 查看状态
    /etc/init.d/iptables status
    
4.iptables命令

 用iptables命令行匹配的命令都是临时生效

  • 查看帮助

    iptables -h
    
  • 查看防火墙规则(默认:filter规则)

    iptables -L -n
    
  • 查看防火墙规则:加序号

    iptables -L -n --line-numbers
    
  • 清除默认规则

    iptables -F 	 //清除所有规则,不会处理默认的规则
    iptables -X 	 //删除用户自定义的链
    iptables -Z      //链的计数器清零
    
  • 规则语法

    iptables -t  [table] [ACD] [chain] rule-specification [options]
    

    iptables:关键字
    -t [table]:不写,默认用的是filter表
    -[ACD]:A-增加规则,C-检查是否存在规则,D-删除规则
    [chain]:链
    rule-specification:规则
    [options]:ACCEPT(接受)、DROP(丢弃)、REJECT(拒绝)
    -A与-I区别:
     -A:添加规则到指定链的结尾,最后一条
     -I:添加规则到指定链的开头,第一条,也可以插入到指定行

  • 匹配指定的协议

    iptables -A INPUT -p tcp
    iptables -A INPUT -p udp
    

    匹配指定外的所有协议

    iptables -A INPUT -p ! tcp
    
  • 匹配主机源IP

    iptables -A INPUT -s 192.168.47.1
    iptables -A INPUT ! -s  192.168.47.1
    
  • 匹配网段

    iptables -A INPUT -s 192.168.47.0/24
    iptables -A INPUT -s ! 192.168.47.0/24
    
  • 匹配单一端口

    iptables -A INPUT -p tcp --sport  8080    ==>源端口
    iptables -A INPUT -p tcp --dport  8080    ==>目的端口
    
  • 指定端口之外的端口

    iptables -A INPUT -p tcp --dport ! 22
    iptables -A INPUT -p tcp ! --dport  22 -s 192.168.47.1 -j DROP
    
  • 匹配端口范围

    iptables -A INPUT -p tcp --dport  22:80:8080
    iptables -A INPUT -p tcp -m multiport --dport  22,80,8080
    
  • 匹配ICMP类型

    iptables -A INPUT  -p icmp --icmp-type 8
    
  • 匹配指定的网络接口

    iptables -A INPUT  -i eth0
    iptables -A FORWARD -o eth0
    
  • 样例:增加禁止用户访问80端口规则

    iptables -A INPUT -p tcp --dport 80 -j DROP      
    iptables -t filter -A INPUT -p tcp --dport 80 -j DROP
    
  • 样例:增加禁止用户访问8080端口规则插入到第二行

    iptables -I INPUT 2 -p tcp --dport 8080 -j DROP
    

    在这里插入图片描述

  • 样例:删除禁止用户访问80端口规则

    iptables -t filter -D INPUT -p tcp --dport 80 -j DROP
     iptables -t filter -D INPUT 1
    

    iptables -t filter -D INPUT 1需要通过iptables -L -n --line-numbers查看规则序号
    在这里插入图片描述

  • 样例:禁止指定IP连入

    iptables -t filter -A INPUT -i eth0 -s 192.168.47.1 -j DROP
    
  • 样例:指定IP连入

    iptables -t filter -A INPUT -i eth0 ! -s 192.168.47.1 -j DROP   =>了解
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值