IPTABLES入门

声明:由于查看网上资料发现无法满足我的理解能力(理解能力太差),总结的不系统(不满足我要的要求),所以将iptables总结与此,转载可以不留名,但是我相信有JJ的都会留名。纯粹菜鸟级别,大神请绕道。。。。

参考资料:鸟哥私房菜

www.baidu.com

www.google.com

man iptables

感谢百度文库,感谢谷歌翻译,感谢所有共享资料的大神感谢鸟哥,感谢CN哥,感谢容器哥,感谢冰冰,感谢三哥,感谢假胸,感谢linux群里的各位大神

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

这里先说一条原则:iptables总是匹配最上层的,如果上层匹配成功,下面的策略则忽略

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

iptable -L(如果加-t nat 则查看nat表,如果不加则查看filter表)

首先要了解3个链表

INPUT    OUTPUT     FORWARD区别

1. 如果数据包的目的地址是本机,则系统将数据包送往Input链。如果通过规则检查,则该包被发给相应的本地进程处理;如果没有通过规则检查,系统就会将这个包丢掉。

2. 如果数据包的目的地址不是本机,也就是说,这个包将被转发,则系统将数据包送往Forward链。如果通过规则检查,则该包被发给相应的本地进程处理; 如果没有通过规则检查,系统就会将这个包丢掉。

3. 如果数据包是由本地系统进程产生的,则系统将其送往Output链。如果通过规则检查,则该包被发给相应的本地进程处理;如果没有通过规则检查,系统就会将这个包丢掉。

========================================================================================================

查看信息的各项功能说明

  • target:代表进行的动作, ACCEPT 是放行,而 REJECT 则是拒绝,此外,尚有 DROP (丢弃) 的项目!
  • prot:代表使用的封包协议,主要有 tcp, udp 及 icmp 三种封包格式;
  • opt:额外的选项说明
  • source :代表此规则是针对哪个『来源 IP』进行限制?
  • destination :代表此规则是针对哪个『目标 IP』进行限制?

=======================================================================================================

也可以使用iptables-save查看详细规则 ,这里看到的规则和配置文件里的规则一样

=======================================================================================================

对iptables进行配置

一般首先需要删除原有配置

iptables -F                 ----清空所有的已定的规则

iptables -X                 ----清空掉所有自定义的chain

iptables -Z                 ----chain计数器设置为0

然后定义策略将相关的链默认设置成drop

格式为

#iptables [-t nat] -P [INPUT,OUTPUT,FORWARD] [ACCEPT,DROP]

-P:定义策略policy

ACCESS:代表默认允许

DROP:代表默认拒绝

例如:

#iptables -P INPUT DROP                      ----进站数据默认拒绝,一般用于防外网

#iptables -P OUTPUT DROP                 ----出站数据默认拒绝,防止内网主动向外发送数据

#iptables -P FORWORD DROP             ----转发数据,一般linux在做路由器的时候设置

如果设置nat表

iptables -t nat -P PREROUTING    DROP

=======================================================================================================

基本的定义完成了然可以定义详细规则了,基本命令为

#iptables [-AI 链名] [-io 网络接口] [-p 协议] [-s 来源IP/网域] [-d 目标IP/网域] -j [ACCEPT|DROP|REJECT|LOG]

-AI  链名:针对哪个链表制定规则

-A    :增加一条规则,该规则增加到最后一条。

-I    :插入一条规则,个i规则增加到第一条,但是如果写了条目号,则插入对应条目,以下的依次下移

如:iptables -I INPUT 2 -s 192.168.3.119 -i eth0 -p icmp -j ACCEPT          ----这样会在第二条插入一条:eth0接收192.168.3.119的icmp入站请求

-io 网络接口:设定封包进出的规则

-i:封包所进入的那个网络接口;需要与INPUT链配合使用

-o:封包锁传出的那个网络接口;需要与OUTPUT链配合使用

-p 协议:针对哪类协议

设定针对那类数据包:tcp udp icmp以及all(前面加!代表拒绝此类)

-s   来源ip/netmask:针对哪些来源网络主机或网段(不含netmask表示主机;前面加!代表拒绝此类)

-d   目标ip/netmask:针对哪些目的网络主机或网段(不含netmask表示主机;前面加!代表拒绝此类)一般与OUTPUT配合

-j    动作:针对以上条件所要实现的动作(接受(ACCEPT)、丢弃(DROP)、拒绝(REJECT)及记录(LOG))

iptables -A INPUT -s 192.168.3.119 -i eth0 -p icmp -j  LOG                ----将进入eth0源IP为192.168.3.119的icmp协议全部记录下来(保存在/var/log/messages)

=======================================================================================================

针对TCP/UPD的端口设置

#iptables [-AI 链] [-io 网络接口] [-p tcp,udp] [-s 来源IP/网域] [--sport 埠口范围] [-d 目标IP/网域] [--dport 埠口范围] -j [ACCEPT|DROP|REJECT]

--sport 源端口范围:限制源端口的端口号码,可以是一段如:1:1024

--dport 目的端口范围:限制目的端口号码,可以为一段

如:# iptables -A INPUT -i eth0 -p udp --dport 137:139 -j ACCEPT                ----接收eth0的udp端口为137,138,139的访问

但是以上两个参数必须在有-p udp或者-p tcp参数的命令里出现,并且可以使用--syn来对tcp的主动连接进行管控

=======================================================================================================

这里告诉大家个小秘密,如果对端主机禁止了icmp协议那么你ping他他一定不会返回任何信息,但是如果对方只是禁止了icmp的type=8则在抓包工具会发现收到 icmp数据包,并且type=3 code=3 所以 你懂的

=======================================================================================================

那么下面就把禁止关于icmp的类型8的命令拿出来

#iptables -A INPUT [-p icmp] [--icmp-type 类型] -j ACCEPT

--icmp-type :后面必须要接 ICMP 的封包类型(如:echo request(类型8)),也可以使用代号

例如: #iptables -A INPUT -p icmp --icmp-type 8 -j DROP                ----禁止icmp的type=8的数据包进入

=======================================================================================================

iptables基础基本就这些,下面将会介绍进阶阶段的iptables使用和iptables与一些模块的配合

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-30 06:28:22

IPTABLES入门的相关文章

iptables入门到进阶

Iptables入门到进阶 一.前言 Firewall(防火墙): 隔离工具:Packets Filter Firewall(包过滤防火墙):工作于主机或网络的边缘,对经由的报文根据预先定义的规则(匹配条件)进行检测,对于能够被规则匹配到的报文实行某预定义的处理机制的一套组件: 防火墙类型 从防火墙的实现形式来分的话,防火墙可以分为软件防火墙和硬件防火墙 硬件防火墙:在硬件级别实现部分功能的防火墙:另一个部分功能基于软件实现: 软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙: 从防火

Netfilter/Iptables入门

Netfilter/Iptables入门 Linux的内核是由www.kernel.org这个组织负责开发维护,下面我们要讨论的Netfilter/iptables是www.netfilter.org组织为Linux开发的防火墙软件.由于Linux是非常模块化的,很多功能都是以模块加载扩充系统功能,Netfilter同样采用这种方式存在于Linux中.如果你理解了Linux模块加载也就能够理解Netfilter的模块加载方式.大家在 /lib/modules/kernel_version/ker

iptables 入门

iptables 中的指令,均需区分大小写. ipchains 和 iptables 在语法上的主要的差异,注意如下∶ 1. 在 ipchains 中,诸如 input 链,是使用小写的 chains 名,在 iptables 中,要改用大写 INPUT. 2. 在 iptables 中,要指定规则是欲作用在那一个规则表上(使用 -t 来指定,如 -t nat),若不指定,则预设是作用在 filter 这个表. 3. 在 ipchains 中, -i 是指介面(interface),但在 ipt

iptables入门篇

一. iptables简介1.1 什么是iptables?iptables是Linux防火墙工作在用户空间的管理工具,是netfilter/iptables IP 信息包过滤系统是一部分,用来设置.维护和检查Linux内核的IP数据包过滤规则.1.2主要特点1)列出数据包过滤器规则集的内容2)添加/删除/修改数据包过滤器规则集中的规则3)列出/清零数据包过滤器规则集的每个规则计数器 二. 基本概念iptables 可以检测.修改.转发.重定向和丢弃 IP 数据包.其代码已经内置于内核中,并且按照

Iptables入门教程

转自:http://drops.wooyun.org/tips/1424 linux的包过滤功能,即linux防火墙,它由netfilter 和 iptables 两个组件组成. netfilter 组件也称为内核空间,是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集. iptables 组件是一种工具,也称为用户空间,它使插入.修改和除去信息包过滤表中的规则变得容易. 0x01 iptables的结构 iptables的结构: iptables -> Tab

linux笔记防火墙之iptables入门

一.iptables简介 防火墙,其实说白了讲,就是用于实现Linux下访问控制功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP.数据进行检测,它的功能十分强大,使用非常灵活,毫不逊色于一些企业级防火墙. 二.Netfilter.table.chains.policy之间的关系. Netfilter是table的容器,而table(表)是chains

iptables入门详解

关于iptables Linux的防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙(或称网络层防火墙).iptables是一个命令行防火墙实用程序,它使用策略链来允许或阻止通信.当连接试图在你的系统上建立自己时,iptables在它的列表中寻找一条规则来匹配它.如果找不到,则采取默认操作.netfilter/iptables过滤防火墙系统是一种功能强大的工具,可用于添加.编辑和除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则.这些规则存储

Linux防火墙之iptables入门

一.防火墙的概念 什么是防火墙?防火墙是一台或一组设备,用以在网络间实施访问控制策略:事实上一个防火墙能够包含OSI模型中的很多层,并且可能会涉及进行数据包过滤的设备,它可以实施数据包检查和过滤,在更高的层次中对某应用程序实现某一策略,或做更多类似的事情.防火墙的功能主要是隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则定义的行为进行处理的一组功能组件,基本上的实现都是默认情况下关闭所有的访问,只开放允许访问的策略:防火墙分主机防火墙.网络防火墙.硬件防

iptables入门到实战

iptables 语法格式: 表及链的操作选项: -N :新增链 -I  : 插入规则 -A :添加规则 -D :删除规则 -R :修改某条规则 -X :删除自定义的链(前提为该链被引用次数为0及规则为空) -F :清除所有规则 -Z:清零 (清除所有链的计数值) -P :定义默认规则(ACCEPT,DROP,REJECT..) -L :列出所有规则 -v:列出详细信息 -n:以数字方式显示信息 常用:iptables -vnL -E:改变链名称 规则匹配相关选项: -s   :源地址(例:19