当前位置: 首页 > news >正文

iptables学习记录

在这里插入图片描述

一.四表

filter 表:
主要用于控制数据包的过滤,决定数据包是否允许进出及转发 。比如设置规则允许特定 IP 访问服务器的 SSH 端口(22 端口),或禁止某些 IP 访问网站端口(80 或 443 端口 )。可作用于 INPUT、OUTPUT、FORWARD 链。

nat 表:
即 Network Address Translation(网络地址转换)表,负责处理数据包中的地址转换,如源地址转换(SNAT)和目标地址转换(DNAT) 。比如局域网内设备共享公网 IP 上网,就需要用到 NAT 转换。可作用于 PREROUTING、INPUT、OUTPUT、POSTROUTING 链。

mangle 表
用于修改数据包的原数据,比如修改 IP 头中的 TOS(Type of Service,服务类型)字段等 。一般用于一些对数据包有特殊标记、修改需求的场景。可作用于 PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING 链。

raw 表:
主要控制 nat 表中连接追踪机制的启用状况 ,比如通过设置可以让某些连接不被连接跟踪机制处理。可作用于 PREROUTING、OUTPUT 链。

二.五链

PREROUTING(路由前):
在数据包进入路由决策之前进行处理,当外部数据包进入本机时,首先会经过此链。可在此链上设置规则对进入的数据包进行地址转换等操作 。

INPUT(数据包流入口):
处理进入本机的数据包,比如设置规则允许或拒绝哪些外部请求进入本机的特定端口 。

FORWARD(转发关卡):
当数据包需要经过本机转发到其他设备时(如路由器场景),会经过此链 。比如局域网内的网关服务器转发数据包到互联网时,就会用到此链规则。

OUTPUT(数据包出口):
处理本机发出的数据包,可在此设置规则控制本机发出的数据包的走向等 。

POSTROUTING(路由后):
在数据包完成路由决策,即将离开本机时进行处理,常用于源地址转换(SNAT),如将局域网内不同 IP 转换为统一的公网 IP 发出 。

1.安装systemctl 管理iptables启动

dnf install iptables-services

在这里插入图片描述

2.系统启动时自动加载这些 iptables 相关内核模块

 cat >> /etc/rc.local<<EOF
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ip_nat_state
EOF

在这里插入图片描述

核心掌握:
核心掌握:
参数表
在这里插入图片描述

实操:
在实验前先清空默认规则
iptables -X
iptables -F
iptables -X
在这里插入图片描述
1.封禁80端口:
DROP //拒绝
ACCEPT //允许

REGECT //拒绝并返回信息

iptables -I INPUT -p tcp --dport 80 -j DROP

//默认写入在filter表 ,DROP 拒绝连接 -j 允许还是拒绝
iptables -nL
在这里插入图片描述
2.删除规则
不用 iptables -F 会把所有规则删
怎么办 精确删除规则:

iptables -t filter -D INPUT 1     //  -D 删除     INPUT进来     1表示第1条规则

在这里插入图片描述

3.显示规则行号:

iptables -nL --line-number

在这里插入图片描述

4.封禁ip
首先理解:
在这里插入图片描述

环境:
防火墙:192.168.60.134
测试机:192.168.60.129
129 ping 134
在这里插入图片描述
封禁129:

iptables -t filter -I INPUT -s 192.168.60.129 -j DROP

现在129Ping134 已经out了:
在这里插入图片描述

如果是**-j REJECT** 会输出提示信息:

iptables -t filter -I INPUT -s 192.168.60.129 -j REJECT

在这里插入图片描述
屏蔽整个网段:
在这里插入图片描述
封禁目标ip加端口

iptables -I INPUT -p tcp -s 192.168.60.129 --dport 8888 -j DROP

指定多个端口:
使用模块: -m multiport
在这里插入图片描述

iptables -m multiport -I INPUT -p tcp -s 192.168.60.129 --dport 8888,22,80 -j DROP

封禁多个 有规律:–dport 1:1024**(范围的话 就不用加 -m)**

iptables -I INPUT -p tcp --dport 1:1024 -j DROP

小心 不要把自己干外面


5.限制ping ICMP:

iptables -I INPUT -p icmp -j DROP

或者直接配置文件 vim /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all = 1

sysctl -p //生效配置

最后总结:
生产环境配置推荐:

在这里插入图片描述


http://www.mrgr.cn/news/96510.html

相关文章:

  • 拓展知识六:MetInfo6.0.0目录遍历漏洞原理分析
  • WEB安全--RCE--RCE的危险函数
  • 【第十三届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组】C语言代码
  • 红宝书第十九讲:详解JavaScript的Fetch API与Ajax请求
  • 搭建私人对外git空间
  • QListView开发入门
  • 【学Rust写CAD】20 平铺模式结构体(spread.rs)
  • “屏幕“的实现_程序中如何将数据映射到硬件_C++实战
  • 项目代码第10讲【数据库运维知识——如何优化数据库查询效率?】:各种日志查看;主从复制;分库分表(MyCat);读写分离;区别数据分区、分表、分库
  • 【数据结构】队列
  • Kubernetes》》K8S》》Deployment 、Pod、Rs 、部署 nginx
  • unity客户端面试高频2(自用)
  • 【小兔鲜】day01 项目、Vue3介绍、组合式API、小案例
  • (undone) MIT6.824 Lecture 02 - RPC and Threads
  • Windows10上部署DeepSeek+RAG知识库操作详解(Dify方式)之1
  • 漏洞挖掘---顺景ERP-GetFile任意文件读取漏洞
  • C++学习之Linux文件编译、调试及库制作
  • 红宝书第二十一讲:详解JavaScript的模块化(CommonJS与ES Modules)
  • C++学习之路:指针基础
  • Windows11系统下python虚拟环境管理独家心得