iptables命令,实验笔记

四表tables,五链 chain

tables:raw > mangle > nat > filter

chain:PREROUTING, INPUT, OUTPUT , FORWARD , POSTROUTING

iptables [-t tables] COMMAND CHAIN 匹配标准 -j target

查看命令

COMMAND :

-A:添加为最后一条

-I:默认添加为第一条,或者在CHAIN后指定位置。

-D:删除第几条规则

-R:修改第几条规则

-L:查看iptables 规则,默认会解析成主机名,后面可以加一下选项:

-n:不要解析成主机名

-v:查看规则匹配次数

--line-number:查看规则排列序号

  -j :target

主要有:DROP,ACCEPT,REJECT,LOG

LOG
        --log-prefix "STRING"

一、匹配标准:


一、通用匹配标准:

-s:源地址

-d:目标地址

-p:协议

-

二、扩展匹配标准:

1.隐含扩展:

-p tcp :

--dport,源端口--sport,目的端口

--tcp-flags mask comp,通过flags位匹配。比如 --tcp-flags SYN,ACK,RST,FIN  SYN

2.显式扩展:

-m 扩展名 特别选项

①     -m state --state 根据连接状态控制

ip_conntrack ( 在centos6.0 是nf_conntrack ) 连接追踪模块

TCP,UDP,ICMP

通过修改内核参数:/proc/net/ip_conntrack,/proc/sys/net/ipv4/ip_conntrack_max ,/proc/sys/net/ipv4/netfilter。特别注意ip_conntrack_max ,会因为访问数超过最大数导致iptables限制正常的访问连接。

NEW,ESTABLISHED,RELATED,INVALID

②  -m multiport:可以使控制端口不连续

--source-ports,--destination-ports,--ports

③  -m iprange:可以range端口

--src-range , --dst-range

例子:允许INPUT口进入的流量,且IP为192.168.1.1-192.168.1.10 访问任意主机的22端口,连接状态为NEW,或者ESTABLISHED。

iptalbes -A INPUT -p tcp -m iprange --src-range 192.168.1.1-192.168.1.10 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

④ -m connlimit:连接数限制

! --connlimit-above n:一般与“!”一起合用,限制最大连接数。

例子:限制192.168.1.1 主机22端口最大连接数超过3就丢弃。

iptables -A INPUT -d 192.168.1.1 -p tcp --dport 22 -m connlimit   --connlimit-above 3 -j DROP

⑤ -m string:根据内容字符串进行操作

--algo {bm|kmp} 字符串检测算法,任选一

--string "STRING" 所要匹配检测的字符串。

例子:从192.168.1.1地址访问的数据内容带 xxxx的全部丢弃。

iptables -I OUTPUT -s 192.168.1.1 -m string --algo kmp --string "xxxx" -j DROP
时间: 2024-10-13 00:29:28

iptables命令,实验笔记的相关文章

centos救援模式实验笔记

1.  首先在BIOS中把启动选项设置成DVD光驱启动或者USB启动也是可以的 2.  从光盘启动之后再出现的选项中选择"Rescue installed system"然后按回车确认,具体图下图: 3.语言选择,这里我们选择默认的就可以了,因为不是图形化得,所以没有办法支持中文,键盘也选择默认然后按回车,具体如下图: 4.  在SetupNetworking这里我们根据自己的需要来确认是否启用网络,这里我选择的是不启用,如图: 5.  Continue是让虚拟系统(也就是Rescue

Chisel实验笔记(二)

在上一篇<Chisel实验笔记(一)>中,我们的到了对应的verilog文件,本文将采用Icarus Verilog + GtkWave进行仿真验证. 实验平台还是Ubuntu14.04(64位) 1.安装Icarus Verilog-0.9.7 首先输入如下命令: sudo apt-get install gperf sudo apt-get install flex sudo apt-get install bison sudo apt-get install build-essentia

iptables命令使用基础(02)

一.iptables命令 规则:根据指定的匹配条件来尝试匹配每个流经此处的报文,一旦匹配成功,则由规则后面指定的处理动作进行处理: 匹配条件:分为基本匹配条件和扩展匹配条件,扩展匹配条件又分为隐式扩展和显式扩展: 基本匹配条件:源地址,目标地址,传输协议: 扩展匹配条件:需要借助于扩展模块进行指定的匹配条件: 隐式扩展:已经在基本匹配条件中指明的协议相关的扩展: 显式扩展:隐式扩展之外的其它扩展匹配条件: 处理动作:分为基本动作和扩展动作: 基本动作:ACCEPT,DROP,REJECT 扩展动

iptables 命令

iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分.可以直接配置,也可以通过许多前端和图形界面配置. 语法 iptables (选项)(参数) 选项 -t<表>:指定要操纵的表:  -A:向规则链中添加条目:  -D:从规则链中删除条目:  -I:向规则链中插入条目:  -R:替换规则链中的条目:  -L:显示规则链中已有的条目:  -F:清楚规则链中已有的条目:  -Z:清空规则链中的数据包计算器和字节计数器:  -N:创建新的用户自定义规则链:  -P:定

[Ubuntu]操作系统实验笔记

前些日子为了更新Ubuntu到14.04这个LTS版本,连带着把Windows也重新安装了一遍.懒得再安装虚拟机了,尝试一下在Ubuntu14.04这个64位系统里做操作系统实验咯. 1.安装交叉编译器 第一个要解决的问题就是交叉编译器,材料里提供的是x86平台上的交叉编译器.按道理来说64位系统应该是支持32程序的呢.试一下. 先不吐槽说说明文档里面的代码了.首先要解决的是各种权限问题.sudo su似乎不能全部搞定. 经过一堆权限不够的提示后我对安装已经基本没有信心了. 2.安装gxemul

iptables命令基本用法(2)

iptables命令基本用法 # man iptables NAME        iptables - administration tool for IPv4 packet filtering and NAT SYNOPSIS        iptables [-t table] {-A|-C|-D} chain rule-specification        iptables [-t table] -I chain [rulenum] rule-specification       

iptables命令使用详解

iptables的主要功能是实现对网络数据包进出设备及转发的控制.当数据包需要进入设备.从设备中流出或者经该设备转发.路由时,都可以使用iptables进行控制. 环境 操作系统:CentOS7.3 ip地址:172.16.55.7 1.iptables中的"四表五链"及"堵通策略" A."四表"是指,iptables的功能--filter, nat, mangle, raw. filter, 控制数据包是否允许进出及转发(INPUT.OUTPU

iptables命令应用实例

iptables 优化规则:尽量减少规则条目,彼此不相关的匹配,用较多放在上面,属于同一功能匹配规则更严格的放在上面 一.netfilter:     四个表:raw,mangle,nat,filter     五链:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING     分别在那些链上使用         filter:INPUT,FORWARD,OUTPUT         nat:PREROUTING(DNAT),POSTROUTING(SNAT),

iptables命令、规则、参数详解

表    (table)包含4个表:4个表的优先级由高到低:raw-->mangle-->nat-->filterraw---RAW表只使用在PREROUTING链和OUTPUT链上,因为优先级最高,从而可以对收到的数据包在连接跟踪前进行处理.一但用户使用了RAW表,在某个链上,RAW表处理完后,将跳过NAT表和ip_conntrack处理,即不再做地址转换和数据包的链接跟踪处理了.filter---这个规则表是预设规则表,拥有 INPUT.FORWARD 和 OUTPUT 三个规则链,

Chisel实验笔记(四)

在<Chisel实验笔记(二)>中,通过编写TestBench文件,然后使用Icarus Verilog.GtkWave可以测试,查看相关波形,比较直观,在<Chisel实验笔记(三)>直接对得到C++模拟器进行测试,也可以得到测试结果,实际上对C++模拟器进行测试也可以同时得到vcd文件,从而使用GtkWave查看波形,得到直观的结果.本文就介绍了这个过程. 为了得到对应的vcd文件,需要对<Chisel实验笔记(三)>中的代码做一处修改: 在main方法的margs