iptables

数据包进入主机的流程

TCP/IP packet ---> IP(Net) Filter ---------> TCP Wrappers--------------------------------------> www设置---------------------> 本机资源
          内核默认防火墙(iptables)   /etc/hosts.allow和/etc/hosts.deny(对TCP的Header分析)    软件的功能(nginx,appche) /var/log/message和/var/log/secure可以查看系统的日志              

iptables的chain、table和rule
    iptables基本概念包括五个链、四个表和若干规则。链由一些列规则组成、表则由一系列链组成。
    五个链分别是PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING
    四个表分别是filter、nat、mangle、raw
    4个表的优先级由高到低的顺序为:raw > mangle > nat > filter

四个表的功能特点
    filter表:匹配数据包以进行过滤
    nat表:修改数据包进行地址或者端口的转换
    mangle表:用于修改数据包IP头信息中TOS、TTL、或者对数据包进行Mark以实现QoS或者特定路由策略
    raw表:不经过iptables的状态跟踪功能而进行快速处理(iptables是一个有状态的系统,会在raw表之后mangle表之前,对数据包进行connection tracking,而由于raw表是优先级最高的表,数据包如果满足raw表的内容匹配之后,便不会再经过后续connection tracking和地址端口转换等操作,可以提高特定类型包的处理效率)

    filter表:
        INPUT链:作用于进入本机的包
        OUTPUT链:作用于送出本机的包
        FORWARD链:作用于和本机无关的包

    nat表:
        PREROUTING链:作用是包在刚刚到达防火墙时改变包的目标地址
        OUTPUT链:改变本地产生的包的目标地址
        POSTROUTING链:作用是在包将离开防火墙时改变包源地址

五个链的功能特点
    PREROUTING,作用在数据包进入内核网络模块之后,获得路由之前
    INPUT,作用在数据包被决定路由到本机之后
    FORWARD,作用在数据包被决定路由到其他主机之后
    OUTPUT,作用在离开本机的数据包进入内核网络模块之后
    POSTROUTING,作用在对于离开本机或者FORWARD的数据包,当数据包被发送到网络之后

链、表、路由和连接跟踪的组合关系

关于connection tracking
    很多iptables的功能需要借助connection tracking实现,所以当数据包经过iptables在raw表处理之后mangle表处理之前,会进行connection tracking处理,从iptables的connection tracking机制可以得知当前数据包所对应的连接的状态:
        NEW,该包请求一个新连接,现在没有对应该数据包的连接
        ESTABLISHED,数据包已经属于某个连接
        RELATED,数据包已经属于某个连接,但是又请求一个新连接
        INVALID,数据包不属于任何连接

清除防火墙规则
    iptables -F
    iptables -X
    iptables -z


定义默认策略policy
    iptables [-t nat] -P [INPUT,OUTPUT,FORWORD] [ACCCECT,DROP]
    一般INPUT设置成dorp,其他设置成ACCEPT

数据包基础对比
    iptables [-AI 链] [-io 网络接口] [-p 协议] [-s 来源ip/网段] [-d 目标IP/网段 ] -j [ACCEPT/DROP]


tcp、utp包过滤
    iptables [-AI 链] [-io 网络接口] [-p 协议] [-s 来源ip/网段] [--sport 端口范围] [-d 目标IP/网段 ]  [-dport 端口范围 ] -j [ACCEPT/DROP]

模块状态  mac和related
    iptables -A INPUT -m state state --state 状态
    -m:一些iptables的模块,主要常见的有  state mac
        state:状态模块
         mac:网卡硬件地址
    --state
       INVALID:无效包
       ESTABLESHED:已经联机的状态
       NEW:新建立的包
       RELATED:与我们主机发出去的数据包相关

ICMP数据过滤
    ICMP数据包的类型格式都是进行网络过滤,通常我们把icmp type8拿掉
    iptables -A INPUT -p icmp --icmp-type 类型 -j ACCEPT
    如:
    #!/bin/bash
    icmpa="1 2 3 4"
    for typeicmp in $icmpa
    do
        iptables -A INPUT -i eth0 -p icmp --icmp-type $typeicmp -j ACCEPT
    done

防火墙的记录,恢复
    保存 iptables-save > filename
    恢复 iptables-restorre < filename

IPv4核心管理功能
   文件/proc/sys/net/ipv4/tcp_syncookies #防止dos攻击,不适合用在很高的服务器上
       设置 echo "1" > /proc/sys/net/ipv4/tcp_syncookies
   内核取消ping响应的设置 /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts和/proc/sys/net/ipv4/icmp_echo_ignore_all
       echo >1 /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
   /proc/sys/net/ipv4/conf/网络接口
   rp_fiter 逆向路由过滤,建议启动
   log_martians 记录来源非法ip
   accept_redirects:实体网段转发,建议取消
   accept_source_route:很少用,建议关闭

https://blog.csdn.net/cloudvtech/article/details/79824300

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值