千家信息网

iptables大体了解

发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,tcp/ip协议网络上一个节点,大门洞开,套接字会话,需要ip和端口,检查套接字报文,套接字和tcp/ip协议差别。主机防火墙,工作在主机上。进入网卡,到内核中的tcp/ip协议栈,工作在tcp/ip
千家信息网最后更新 2025年02月06日iptables大体了解

tcp/ip协议网络上一个节点,大门洞开,套接字会话,需要ip和端口,检查套接字报文,套接字和tcp/ip协议差别。主机防火墙,工作在主机上。进入网卡,到内核中的tcp/ip协议栈,工作在tcp/ip协议栈上,在一些协议栈上某些位置放上卡哨,在设定检查规则。

网络防火墙,在网络外部。

防火墙:工作与主机或网络边缘,对于进出的报文根据定义的规则做检查,进而对被规则匹配到的报文最为相应处理的套件;

网络层防火墙,检查报文的帧首部,IP首部,tcp首部,不能对数据内容进行检查。

iptables/netfilter ,netfilter就是tcp/ip协议栈上的卡哨,用iptables加入规则

规则优先级从高到低以及能工作的卡哨位置:

raw :目标是关闭nat表上启动的连接追踪功能,PREROUTING OUTPUT

mangle;修改tcp/ip首部的一些特性,任意位置。

nat:地址转换,POSTROUTING PREROUTING OUTPUT

filter;过滤 INPUT FORWORD OUTPUT

INPUT:在数据进入应用空间时设定的卡哨也叫做链。

FORWORD:主机路由过程的卡哨

OUTPUT:数据从应用程序发出时经过的卡哨

PREROUTING:数据进入网卡进行路由策略前的卡哨

POSTROUTING:数据最后选择网卡要离开前的卡哨

数据报文流程:跟本机内部通信,PREROUTING INPUT OUTPUT POSTROUTING

由本机转发的数据:PREROUTING FORWORD POSTROUTING

注意数据报文的流向,决定源IP目标IP。

iptables:用户空间的工具,写规则,并自动发往netfilter,立即生效。

基本语法

iptables 【-t TABLE】 -A 链名 匹配条件 -j 处理目标

默认的表filter

COMMAND:答题上有下边几种

1.对链上规则的一些命令-A:在后面加一条规则

-I:插入一条新规则

-D:删除规则

-R:替换规则

-L:查询规则 -L -n:数字格式显示地址和端口。-L -v:详细格式 --line-numbers显示规则行号 -x 不要对计数器计数结果做单位换算,显示精确值。

2.对链的一些命令:-F :清空规则链

-N:自建一个链,只能被调用

-X删除一个自定义链

-Z计数器归零

-P:设定默认策略,对filter表来讲,默认规则为ACCEPT 或者DROP

-E:重命名自定义链

iptables 【-t TABLE】 -A 链名 匹配条件 -j 处理目标

匹配条件:通用匹配

-s 地址:指定报文源IP地址匹配范围:可以是IP也可以是网络地址,可以用!取反。

-d地址:报文目标ip地址

-p协议,指定匹配报文的协议类型,一般tcp udp icmp

-i:数据报文流入网卡:只能作用在数据传入的前半部分PREROUTING INPUT FORWORD

-o:数据流出网卡:只能作用在数据传入的后半部分 FORWORD OUTPUT POSTROUTING

扩展匹配调用netfilter 用-m

隐式扩展:当使用-p {tcp|udp|icmp}中的一种时默认调用了对应模块,可以直接使用扩展选项

-p tcp对tcp/ip协议生效:--sport指定源端口 -dport 目标端口

--tcp-flags syn,ack,rst,fin syn all(全选,或者值都为1) none(值都为0)

--tcp-flags syn,ack,rst,fin syn 这是定义tcp第一次握手

--syn ALL 也可以定义tcp第一次握手

-p icmp主要限制ping的 :--icmp-type 8是能请求报文类型,0是指响应的报文类型

显式扩展:必须明确指出使用哪个模块进行扩展,才能使用扩展选项

-m 扩展模块名称(在iptables和netfilter上都要有这个模块)

1)multiport用于匹配非连续或者连续端口,对多指定15个端口

--sports 【port,port:port】指定源端口

--dports目标端口

--ports源和目标都包含

iptables -I INPUT -s 192.168.0.0/16 -d 192.168.147.128 -p tcp -m multiport --dports 22,80 -j ACCEPT是主机防火墙,在目标主机上添加,实现特定ip可以连接主机的http和ssh服务没指定表就默认在filter表上实现过滤,在INPUT链上从192.168网段到192.168.147.128的tcp报文使用multiport模块指定192.168.147.128主机上的端口可以接受报文

2)iprange:匹配指定范围内的地址,匹配一段连续地址而非整个网络。

[!]--src-range IP[-P]

[!]-dst-range IP[-P]

3)string:字符串匹配,检测应用层报文中的字符串。字符串算法,kmp, bm

专用选项--algo{kmp|bm}

--string

--hex-string 16进制的字符串

4)state:状态检查需要开启状态连接功能,不适用于高并发服务器。

--state

连接追踪中的状态

NEW:新建立一个会话

ESTABLISHED:已建立的连接

RELATED:有关联的连接

INVALID:无法识别的连接

调整连接追踪功能所能容纳的连接最大数值

/proc/sys/net/nf_conntrack_max

当前追踪的所有连接

/proc/net/nf_conntrack

追踪不同协议或连接类型追踪时的属性

/proc/sys/net/netfilter目录

放行被动模式下的ftp服务

1.装在模块/lib/modules/KERNEL_VERSION/kernel/net/netfilter/

模块:nf_conntrack_ftp

modeprobe加载模块

2.放行报文请求

a.放行NEW状态对21端口的请求

b.放行所有ESTABLISHED和RALATED状态报文

3.放行响应报文

放行所有ESTABLISHED和RALATED状态报文 limit:速率限制

--limit n [/second/minute/hour/day]

--limit-burst n :能最多存几个

time:基于时间做访问控制

--datestart

--datestop

--timestart

--timestop

--weeks

connlimit;连接数限制,对每IP能发起并发连接数限制

--connlimit-above N

处理目标:

内置目标:

DROP:悄悄丢弃

REJECT:强硬拒绝

ACCEPT:接受

写规则:先确定功能(表),确定报文流向,确定要实现的目标,确定匹配条件

流向:1.访问本机进程,PREROUTING INPUT

2.出去的报文,OUTPUT POSTROUTING

3.本机转发,PRETOUTING FORWARD POSTRONTING

4.响应,PRETOUTING FORWARD POSTRONTING

iptables 语法检查 netfilter立即生效

切记:写给则之前,先添加放行自己的会话

永久生效,规则文件,或者脚本 规则文件是/etc/sysconfig/iptables

保存规则iptables-save > /etc/sysconfig/iptables

service iptables save

生效iptables-restore < /etc/sysconfig/iptables

service iptables restart

设置默认策略

iptables -P 链 target

修改规则

iptables -R OUTPUT 1 指定那个表的那个链上的第几条规则,后面跟上完整的更改规则

优化规则:尽量减少规则条目,无关的规则把访问量大的放在上边,属于同一功能的匹配规格严格的放在上边。

为了更好的管理规则,自定义链;

iptables -t filter -N http_in

删除空的自定义链

iptables -X http_in

重命名自定义链

iptables -E oldname newname

地址转换SNAT 原地址转换

--to-source

MASQUERADE:自动获取转换的地址

DNAT 目标地址转换

--to-destination

PNAT端口转换

FULL NAT 全部转换

iptables -t nat -A POSTROUTING  -s 192.168.1.0/24 -j SNAT -to-source 172.16.100.7原地址转换成172.16.100.17主机地址
规则 报文 地址 目标 数据 端口 主机 模块 的卡 网络 检查 状态 功能 网卡 防火墙 防火 字符 字符串 条件 类型 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全手抄包 工信部境外ip访问国内服务器 软件开发做app前景 编写程序属于数据库系统吗 吉大数据库应用技术在线作业 华为云数据库创新技巧 网络安全隐患有哪些黑客 网络安全自查情况小结 数据库研发组不用什么语言啊 上海优目网络技术 北京麻将软件开发哪家专业 excel服务器注册 怎样查看cad线数据库 文献数据库的类型有6种 服务器性能检测 网络安全宣传电信主题日 魔兽世界怀旧服燃烧的远征范克瑞斯服务器 医用软件和网络技术专业好吗 艺术家张世鹏数据库 广东众家乐互联网科技有限公司 xp无法找到网络安全本地 海口西海岸 互联网科技 我的世界服务器推荐开局送神装 平凉软件开发技术项目实训中心 科技发展包括互联网吗 当今网络技术对生活的影响 计算机网络技术维护大全 db2数据库主键如何查看 互联网金融科技创新大赛 腾讯云香港轻量服务器 不备案
0