iptables笔记(代码片段)

author author     2022-10-24     341

关键词:

查看iptables表

iptables -t filter -L
iptables -t nat -L
iptables -t mangle -L

介绍iptables命令

iptables -t table 命令 chain rules -j target

    table 可以是filter、nat、mangle,默认是filter
    -p 或--policy 定义默认策略
    -A 或--addend 在规则列表的最后增加一条规则
    -I 或--insert 在指定的位置插入一条规则
    -D 或--delete 删除一个规则
    -R 或--replace 替换规则列表中的某个规则
    -F 或--flush  删除表中所有规则

    iptables -t filter -P FORWARD ACCEPT
    iptables -t filter -I INPUT -p icmp -j DROP
    iptables -t filter -I INPUT 2 -p icmp -j DROP
    iptables -t filter -D INPUT 1
    iptables -t filter -R INPUT 1 -p icmp -j ACCEPT
    iptables -t filter -F

iptables 匹配选项

-i 或--in-interface---------指定数据包从哪个网络接口进入。
-o 或--out-interface------指定数据包从哪个网络接口输出
-p 或--protocol------------协议类型,指定数据包匹配协议
-s 或--source--------------指定数据包匹配的源地址
-d 或--destination--------指定数据包匹配的目标地址
--sport----------------------指定数据包匹配的源端口号
--dport----------------------指定数据包匹配的目标端口

iptables 处理动作

-j 参数用来指定要进行的处理动作,常用的处理动作包括:ACCEPT、REJECT、DROP、REDIRECT、MASQUERADE、LOG、DNAT、SNAT、MIRROR、RETURN、MARK。

    ACCEPT:
        将封包放行,进行完此处理动作后,将不再匹配其它规则,直接跳往下一个规则链。

        示例:iptables -t filter -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT      
    DROP:
        丢弃封包不予处理,进行完此动作后,将不再匹配其它规则,直接中断过滤程序。

        示例:iptables -t filter -A INPUT -p icmp -m icmp --icmp-type 8 -j DROP
    REJECT:
        阻拦该封包,并传送封包通知对方,可以传送的封包有几个选择:ICMP port-unreachable、ICMP echo-reply或是tcp-reset(这个封包会要求对方关闭连接)、进行完此处理动作后,将不再匹配其它规则,直接中断过滤程序。

        示例:iptables -t filter -A INPUT -p icmp -m icmp --icmp-type 8 -j REJECT
    LOG:
        将封包相关信息记录到/var/log中,日志文件详细位置查阅/etc/syslog.conf配置文件,进行完此动作处理后,将会继续匹配其它规则。

        示例:iptables -t filter -I INPUT -p tcp --dport 80 -j LOG

iptables 扩展匹配选项

匹配扩展中,还需要加-m引用模块的显示扩展

    参数 -m state
        基于状态监测的包过滤,指定监测那种状态
        --state NEW, ESTTBLISHED, INVALID, RELATED
        说明:用来比对链接状态,链接状态共有四种NEW, ESTTBLISHED, INVALID, RELATED。
        INVALID 表示该封包的链接编号(Session ID)无法辨识或编号不正常
        ESTABLISHED 表示该封包属于某个已经建立的连接
        NEW 表示该封包想要起始一个连接(重设连接或将连接重定向)
        RELATED 表示该封包是属于某个已经建立的连接,所建立的新连接。例如:FTP-DATA 连接必定是源自某个FTP连接

        示例:DMZ区域中的服务器不能主动建立TCP连接,在OUTPUT链中将所有SYN报文丢弃
            iptables -t filter -I OUTPUT -m state --state NEW -j DROP

    参数 -m icmp --icmp-type
        ping命令使用ICMP协议检查网络是否畅通,ICMP有两种常见的类型的数据包即icmp-type,常用的类型为echo-reply和echo-request。也可以使用代码来表示。
        echo-reply 0
        echo-request 8

        示例:服务器可以ping通其他机器,其他机器不能ping通本机器
            iptables -t filter -A INPUT -p icmp -m icmp --icmp-type 8 -j DROP

    参数 -m multiport
        指定多端口号
            --sport     源端口
            --dport     目标端口
            可以使用"起始端口:结束端口"的格式指定一个范围的端口

        示例:对外只放行22,80,1024-1026端口,其它端口的报文全部丢弃
            iptables -t filter -A INPUT -p tcp -m multiport --dport 22,80,1024:1026 -j ACCEPT
            iptables -t filter -P INPUT DROP

    参数 -m iprange
        指定多IP段
        --src-rangeip-ip
        --dst-rangeip-ip

        示例:只允许192.168.56.1-192.168.56.254访问本服务器22,88端口,其它IP拒绝访问
            iptables -t filter -A INPUT -p tcp -m multiport --dport 22,80 -m iprange --src-range 192.168.56.1-192.168.56.254 -j ACCEPT
            iptables -t filter -A INPUT -p tcp -m multiport --dport 22,80 -j DROP

    参数 -m connlimit
        --connlimit-above 限定连接数

        示例:ssh只允许同一个IP建立两个会话,超出丢弃,防止ssh爆破
            iptables -t filter -I INPUT -p tcp --dport 22 -m connlimit --connlimit-above 2 -j DROP

    参数 -m limit 
        --limit

        用来比对某段时间内封包的平均流量,上面的例子是用来比对每小时平均流量是否超过300个封包。
        除了每小时平均一次外,也可以每秒钟、每分钟、每小时或每天平均一次,

        示例:
            iptables -t filter -I INPUT -m limit --limit 300/second -j ACCEPT
            iptables -t filter -A INPUT -j DROP

    参数 -m mac --mac-source
        用来比对封包来源网络接口网卡硬件地址,这个参数不能用在OUTPUT和Postrouing规则链上。

        示例:ssh服务只允许MAC为 0A:00:27:00:00:14 访问,其他全部拒绝
            iptables -t filter -A INPUT -p tcp --dport 22 -m mac --mac-source 0A:00:27:00:00:14 -j ACCEPT
            iptables -t filter -A INPUT -p tcp --dport 22 -j DROP

学习笔记之iptables(代码片段)

1.防火墙的基础知识    首先需要认识到什么是防火墙,防火墙是通过一些有顺序的规则。给从网络中进入到主机应用层之间的通道上设置很多道拦截的口,每个口会有一堆规则去匹配。匹配上,如果是匹配结果是... 查看详情

iptables端口转发(代码片段)

清除相关规则/sbin/iptables-F/sbin/iptables-F-tnat/sbin/iptables-X/sbin/iptables-Ziptables-F-tmangleiptables-tmangle-Xiptables-tnat-X预设规则/sbin/iptables-PINPUTACCEPT/sbin/iptables-PFORWARDDROP/sbin/iptables-P 查看详情

iptables--iptables(代码片段)

A网:https://12.102.246.15:8080B网:https://12.100.246.15:8080 A网DNAT转换:iptables-tnat-APREROUTING-d12.102.246.15-ptcp-mtcp--dport8080-jDNAT--to-destination10.12.3.3:8080B网DNAT转换:iptables-tnat-APREROU 查看详情

iptables规则(代码片段)

iptables命令:~]#iptables-L-n查看规则centOS7~]#systemctldisablefirewalld.service~]#systemctlstopfirewalld.service永久清除规则CentOS6~]#serviceiptablestop~]#chkconfigiptablesoff命令选项:-F:清除规则,只对当前有效。 查看详情

iptables操作(代码片段)

iptables--list查看列表iptables删除规则iptables-nL--line-numberChainINPUT(policyACCEPT)numtargetprotoptsourcedestination1ACCEPTall--0.0.0.0/00.0.0.0/0stateRELATED,ESTABLISHED2ACCEPTicmp--0.0.0.0/00.0.0.0/03ACC 查看详情

iptables(代码片段)

iptables基本配置实例拒绝特定IP到本机的所有访问#iptables-AINPUT-s192.168.7.203-jREJECT#iptables-AINPUT-s192.168.7.0/24-jREJECT#iptables-IINPUT-s192.168.7.201,192.168.7.203-jACCEPT>注意,使用-I的话,添加的第2个IP会使用第1个规则编号。拒绝所有IP访 查看详情

iptables详解(代码片段)

 一. iptables概念详解参考:  iptables概念   https://www.cnblogs.com/metoy/p/4320813.html   https://blog.csdn.net/fuzhongfaya/article/details/820221811.组成  linux的防火墙由netfilter和iptables组成 查看详情

iptables设置用法(代码片段)

1.安装iptables防火墙怎么知道系统是否安装了iptables?执行一下iptables-V,如果现实版本信息那说明已经安装了。反之则需要安装,执行命令:yuminstalliptables在linux中设置防火墙,以CentOS为例,打开iptables的配置文件:vim/etc/sysconfig/i... 查看详情

iptables杂记(代码片段)

iptables扩展使用扩展参数放通80,和22端口[[email protected]~]#iptables-IINPUT-s10.201.106.0/24-d10.201.106.130-ptcp-mmultiport--dports22,80-jACCEPT[[email protected]~]#iptables-IOUTPUT-s10.201.106.130-d10. 查看详情

shcmd:iptables的(代码片段)

查看详情

iptables系列教程|iptables语法规则(代码片段)

iptables命令基本语法iptables[-ttable]command[链名][条件匹配][-j目标动作]以下是对iptables命令的拆分讲解:-ttable用来指明使用的表,有三种选项:filter,nat,mangle。若未指定,则默认使用filter表。command参数指定iptables对我们提交的规则... 查看详情

iptables系列教程|iptables入门篇(代码片段)

前言在早期的Linux系统中,默认使用的是iptables配置防火墙。尽管新型的firewalld防火墙已经被投入使用多年,但是大量的企业在生产环境中依然出于各种原因而继续使用iptables。考虑到iptables在当前生产环境中还具有顽强的生命力... 查看详情

iptables简介(代码片段)

iptables防火墙工作原理简介:iptables防火墙工作在网络层,针对TCP/IP数据包实施过滤和限制,iptables防火墙基于内核编码实现,具有非常稳定的性能和高效率;   iptables属于“用户态”的防火墙管理体系。   规则表&... 查看详情

iptables教程(代码片段)

iptables是一个配置Linux内核防火墙的命令行工具。初学者刚看到iptables,会感到很复杂,原因是iptables功能实在是太强大了。本文会从基本概念、使用上做介绍,读者看完后再去看iptables命令就能理解其含义了。本文环境:PC:Ubuntu18... 查看详情

iptables防火墙基础(代码片段)

iptables常见概念8.1.1iptables概述netfilter/iptables:IP信息包过滤系统,它实际上由两个组件netfilter和iptables组成。netfilter/iptables关系:netfilter组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含... 查看详情

sh删除所有iptables(代码片段)

查看详情

markdownlinux的iptables的(代码片段)

查看详情

iptables相关知识(代码片段)

一、iptables简介Linux系统中,防火墙(Firewall)、网址转换(NAT)、数据包(package)记录、流量统计等这些功能都是由Netfilter子系统所提供的。而iptables是控制Netfilter的工具。iptables将许多复杂的规则组织成成容易控制的方式,以便管理员... 查看详情