linux运维学习笔记三之iptables

一、iptables
    用户空间的iptables + 内核空间的netfilter
    iptables实现的是2-4层防火墙功能,7层需要重编内核
    1.1  firewall
        firewall-cmd --help
    1.2  iptables
        信息查看
        -L  列出所有链的规则
        -n  将地址和端口以数字形式展示
        -v  显示更多信息
        --line-numbers  列出信息的时候将编号输出
        -S  打印出所有规则
        保存规则   iptables-save > iptables_file
        清除规则  iptables -D 链名 规则编号|规则样式
        清除所有  -Z 计数器     -X 自定义链的删除       -F 所有链中的规则
        恢复规则    1.iptables-restore       2.重启服务
        更改规则   iptables -P 链名 target动作
        target动作  ACCEPT 允许数据包通过  DROP 禁止数据包通过    REJECT 拒绝数据包通过
    1.3  规则
        存在链中,对接收到的数据包进行匹配获取,并对匹配到的数据包进行处理
        规则命令:  iptables [-t 表] -子命令 <链> <规则策略> 选项
        处理动作:
            默认动作(man iptables):ACCEPT DROP RETURN
            扩展动作(man iptables-extensions): SNAT  REJECT..
    1.4  规则实践
        追加规则
            iptables -A 链名 [匹配条件] [参数]
            iptables -A INPUT -s 192.168.9.15 -j DROP
        插入规则
            iptables -I 链名 位置 [匹配条件] [参数]
            iptables -I INPUT 2 -s 192.168.9.15 -j DROP
        删除规则
            -D 链名 编号|匹配条件
            iptables -D INPUT 2
            iptables -D INPUT -s 192.168.9.15 -j DROP
        更改规则
            -R 链名 编号 [匹配条件] [参数]
            iptables -R INPUT 1 -s 192.168.9.15 -j DROP
二、五表五链
    2.1  链
        将对数据包的操作规则存放起来
        默认的链:INPUT FORWARD OUTPUT
        五链:PREROOUTING   对输入的数据包进行预处理 
                  INPUT    数据包本机处理
                  FORWARD    数据包本机转发
                  OUTPUT        数据包本机发出
                  POSTROUTING    对输出的数据包进行预处理
        链的关系:本机处理 PREROUTING  INPUT
                        本机转发  PREROUTING FORWARD POSTROUTING
                        本机响应  OUTPUT POSTROUTING
    2.2  链实践
        原则:对于某个链中的多规则,是按照从上到下的顺序来对数据包进行操作的
        如果多个数据包规则出现内容部分重复,强烈注意规则的先后顺序
        -N    创建自定义链   iptables -N 链名
        -X    清除自定义链
        -E    自定义链改名
    2.3  五表
        将不同的链组合在一起实现不同特务场景下的功能
        它是由netfilter模块在内存中维护的几个空间
        不同的表可以存在相同的链,这些链针对的对象是不一样的
        security表   mac                                INPUT OUTPUT  FORWARD
        filter   数据包过滤     默认的,最重要   I   O  F
        NAT表  网络地址转换                          I O PREROUTING POSTROUTING
        mangle表  数据包拆修封,自定义        I O F P P
        raw表  特殊的nat表                            PREROUTING OUTPUT
    2.4  表实践
        表信息查看    iptables -t 表名 -vnL
    2.5  表链关系
        表中链、链中表
        表优先级、链优先级
        规则变现:1.定方向   表和链      2.定顺序   链中的规则
三、规则进阶
    3.1  普通匹配
        -s   源地址
            ,            多地址使用逗号隔开 
            网段       mask
            !            非要结合默认规则
        -d   目标地址
            ! 不能与多ip地址结合使用
        -p  协议名|协议编号
            iptables -A INPUT  -s ip -P tcp -j DROP
        -i  数据包入口  网卡
            iptables -A INPUT -s ip -i eth0 -j DROP
        -o  数据包出口
    3.2  扩展匹配
        一些基本匹配条件基础上,增加的其他功能
        匹配模块(小写)和目标动作(大写)
        模块扩展匹配:  显示扩展  -m 模块名     
                                隐式扩展     基于协议名,不加-m使用
        端口范围
            -m tcp --sport --dport
            -m multiport --sports --dports --ports
        地址扩展
            iptables -m iprange -h  指定ip地址范围
    3.3 web扩展
        时间扩展
            -m time -h
            常见属性  --timestart  time           
                            --timestop time                
                            --monthdays value
                            --weekdays value     一定要保证是utc时间
        字符扩展
            -m string -h
            --algo bm kmp  设定内容匹配的算法
            --string   过滤关键字
        连接数量
            -m connlimit -h
                --connlimit-above   单个客户端ip连接到本机的最大连接数量
        内容数量
            -m limit -h
                --limit avgrate/second/minute/hour/day     平均访问速率
                --limit-burst    峰值数量,默认5
        连接状态
            -m state -h   基于数据包连接状态过滤
                --state
                    INVALID ESTABLISHED NEW RELATE UNTRACKED
    3.4  网络防火墙
        基于路由器的网络转发环境,来实现网络防火墙的功能
        步骤: 1 .准备基本环境    两个网段,一个路由器主机(开启内核转发功能)
                   2.防火墙实践    在路由器主机上,关闭默认防火墙策略          
                            开启外网通向内网的数据转发      开启内网响应外网的数据转发
                   3.测试
    3.5  网络地址转换
        SNAT:  数据包的源ip地址发生了转换
        DNAT:  数据包的目标ip地址发生了转换
            --to-destination
        PNAT:将公司内网的多台web服务器,映射在同一ip的不同端口上
        MASQUERADE:  动态外网ip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值