linux防火墙(三)—— iptables语法之匹配条件
一、iptables规则的匹配条件类型有三类
1、通用匹配:可直接使用,不依赖于其他条件或扩展,包括网络协议、IP地址、网络接口等条件
2、隐含匹配:要求以特定的协议匹配作为前提,包括端口、TCP标记、ICMP类型等条件
3、显式匹配:要求以“-m 扩展模块”的形式明确指出类型,包括多端口、MAC地址、IP范围、数据包状态等条件
二、通用匹配规则
1、协议匹配:-p 协议名
2、地址匹配:-s 源地址、-d 目的地址
3、接口匹配:-i 入站网卡、-o 出站网卡
例1:iptables -A FORWARD ! -p icmp -j ACCEPT(除了icmp协议的数据包,别的协议的包都能转发)
例2:在网关型防火墙设置如下:
~]#iptables -I FORWARD -s 192.168.1.11 -o eth1 -p tcp --sport 80 -j ACCEPT
注:192.168.1.11是企业内部的web服务器,eth1是网关防火墙的外网网卡,意思是:源地址为192.168.1.11的这台服务器tcp80端口可以回应外网请求,因为eth1是外网网卡,FORWARD转发链也对其ACCEPT了。
三、隐含匹配条件
之所有叫隐含,是因为它依赖某种协议才能搭配使用。
1、端口匹配:--sport [源端口] --dport [目的端口]
例:iptables -A FORWARD -s 192.168.4.0/24 -p udp --dport 53 -j ACCEPT(因为设置的链是FORWARD,所以一般是网关型防火墙中设置的,源ip为192的主机可以访问其他网络的udp53端口,注意源和目的的身份切换一定要弄懂)
iptables -A FORWARD -d 192.168.4.0/24 -p udp --sport 53 -j ACCEPT(网关型防火墙中设置的,来自于udp53端口的数据包可以访问我们的192主机)
iptables -A INPUT -p tcp --dport 20:23 -j ACCEPT(一般是主机型防火墙设置的,我们电脑的20到23端口可以被访问)
2、TCP标记匹配:--tcp-flags [检查范围] [被设置的标记]
例:iptables -I INPUT -i eth1 -p tcp --tcp-flags SYN,RST,ACK SYN -j DROP
检查到有SYN的数据包,就丢弃
3、ICMP类型匹配:--icmp-type ICMP类型(ICMP类型有8、0、3)
例: iptables -A INPUT -p icmp --icmp-type 8 -j DROP (别人ping我主机的请求被丢弃,8代表请求)
iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT (我ping别人时,回来的包被允许(一去一回才知道ping没ping通),0带表回来的icmp包)
iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT(3也是代表请求,主机不可达,不常用)
iptables -p icmp -h (查看ICMP类型)
四、显示匹配条件
(1)多端口匹配:-m multiport --sports 源端口列表
-m multiport --sports 目的端口列表
例:iptables -A INPUT -p tcp -m multiport --dport 25,80,110,143 -j ACCEPT
(2)IP范围匹配:-m iprange --src-range IP范围
例:iptables -A FORWARD -p tcp -m iprange --src-range 192.168.4.21-192.168.4.28 -j ACCEPT
(3)MAC地址匹配:-m mac --mac-source MAC地址
例:iptables -A INPUT -m mac --mac-source 00:0c:29:c0:55:3f -j DROP
(4)状态匹配:-m state --state 连接状态
NEW:与任何连接无关的
ESTABLISHED:响应请求或已建立连接的
RELATED:与已有连接有相关性的,如FTP数据连接
例:只开放本机的Web服务,但对发给本机的TCP应答报文予以放行,其他入站报文均丢弃
iptables -P INPUT DROP
iptables -I INPUT -p tcp -m multiport --dport 80 -j ACCEPT
iptables -I INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT
linux防火墙(三)—— iptables语法之匹配条件的更多相关文章
- Linux防火墙之iptables常用扩展匹配条件(一)
上一篇博文讲了iptables的基本匹配条件和隐式匹配条件,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12269717.html:今天在来说说iptabel ...
- Linux防火墙之iptables常用扩展匹配条件(二)
上一篇博文我们讲到了iptables的一些常用的扩展匹配模块以及扩展模块的一些选项的说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12273755.htm ...
- Linux防火墙之iptables基本匹配条件和隐式扩展匹配条件
一.iptables的基本匹配条件 上一篇博文我们说到了iptables的基本工作原理.数据报文在内核的走向和管理链.管理规则.以及查看规则.导入和导出规则:回顾请参考https://www.cnbl ...
- Linux防火墙(iptables/firewalld)
Linux防火墙(iptables/firewalld) 目录 Linux防火墙(iptables/firewalld) 一.iptables 1. iptables概述 2. netfilter和i ...
- Linux防火墙简介 – iptables配置策略
Linux防火墙简介 – iptables配置策略 Netfilter/iptables简介 要想真正掌握Linux防火墙体系,首先要搞清楚Netfilter和iptables的关系,Netfilte ...
- linux防火墙之iptables
linux防火墙之iptables 1.1.1 关于iptables简介 IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统.如果 Linux 系统连接到因特网或 ...
- Linux防火墙配置(iptables, firewalld)
netfilter和底层实现 iptables firealld Linux中的防火墙 RHEL中有几种防火墙共存: iptables firewalld ip6tables ebtables 这些软 ...
- Linux防火墙之iptables入门
一.防火墙的概念 什么是防火墙?防火墙是一台或一组设备,用以在网络间实施访问控制策略:事实上一个防火墙能够包含OSI模型中的很多层,并且可能会涉及进行数据包过滤的设备,它可以实施数据包检查和过滤,在更 ...
- Linux防火墙:iptables禁IP与解封IP常用命令
在Linux服务器被攻击的时候,有的时候会有几个主力IP.如果能拒绝掉这几个IP的攻击的话,会大大减轻服务器的压力,说不定服务器就能恢复正常了. 在Linux下封停IP,有封杀网段和封杀单个IP两种形 ...
随机推荐
- 28、shareSDK分享以及 QQ应用平台申请遇到的问题
第一点:菜单列表没出来 未添加白名单 第二点: QQ平台申请,和安卓共用一个APP名字,出现的 问题 第三点
- sqlserver的substring详细用法
SQL 中的 substring 函数是用来截取一个栏位资料中的其中一部分. 例如,我们需要将字符串'abdcsef'中的‘abd’给提取出来,则可用substring 来实现: select sub ...
- Python-IDLE实现清屏
1.将下面文件复制到命名为ClearWindow.py的文件下,移动到 …Python\Python36-32\Lib\idlelib下. ############################## ...
- python3.4连接mysql5.7数据库增删改查
#!/usr/bin/env python # -*- coding:utf-8 -*- # __author__ = "blzhu" """ pyt ...
- SVN被锁定的几种解决方法
用SVN经常出现被锁定而无法提交的问题,选择解锁又提示没有文件被锁定,很是头疼.这里整理了一下SVN被锁定的几种解决方法: 1.出现这个问题后使用“清理”即"Clean up"功能 ...
- VESA时序与BT1120的区别
在实现内嵌传输的过程中,笔者参考VESA的时序,也就是下图,实现了一个内嵌同步的程序,同步码放在H Back Porch与H Front Porch的后端与前端,但是在传输过程中发现接收端画面不正常. ...
- Js Select动态添加Option
var now = new Date(); function setDate(type, id, from, to) { var str = ""; for (var i = fr ...
- BAT文件语法和技巧(bat文件的编写及使用)
源文链接:http://www.jb51.net/article/5828.htm 比较有用的东比较有用的东西 首先,批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们 ...
- 添加全局函数$.extend和对象方法$.fn
## $(function () { $.fn.shadow = function (opts) { return this.each(function () { var defaults = { / ...
- (转)ASP.NET MVC3 Razor视图引擎-基础语法
转自:http://kb.cnblogs.com/page/96883/ I:ASP.NET MVC3在Visual Studio 2010中的变化 在VS2010中新建一个MVC3项目可以看出与以往 ...