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

linux中的iptables的简介与常用基础用法

前言:使用iptables最应该注意的三个问题!(血与泪的教训)

一:使用 iptables -F时 一定将所有的表和链的默认策略改为ACCEPT(一不注意就要跑客户现场

我们在服务器中使用iptables时,通常会把链的默认策略设置为DROP,这时候
如果要清除所有的策略的话,将无法从外部连接,只能去机房连接显示器!!

二:添加策略前:记得保持已有连接,允许本地回环接口。(万一执行错误,还可以悔改)

# 保持现有连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 允许本地回环流量
iptables -A INPUT -i lo -j ACCEPT# 最好是使用 at 命令在后面重启下来进行测试。防止无法联通服务器!!
echo "sudo shutdown -r now" | at 15:00

三:在配置Linux iptables时,链的规则(Rule)应优先于链的默认策略(Policy)进行设置。原因如下:

1. 逻辑顺序规则(Rule):用于显式允许或拒绝特定流量(如 ACCEPT/DROP 特定端口或IP)。默认策略(Policy):当所有规则都不匹配时,流量会按默认策略处理(通常是 ACCEPTDROP)。2. 安全实践如果先设置默认策略为 DROP(拒绝所有流量),但未提前添加允许规则
(如SSH端口22),会导致当前连接中断(例如无法通过SSH远程管理服务
器)。正确顺序:先添加允许关键服务的规则(如SSHINPUT 链规则)。再将默认策略设为 DROP,确保未匹配的流量被拒绝。

例如: 设置INPUT链默认策略为DROP,仅允许22端口,443端口,80端口,8086端口及tun0网卡的流量进入,应当如此设置:

iptables -A INPUT -p all --dport 22 -j ACCEPT
iptables -A INPUT -p all --dport 443 -j ACCEPT
iptables -A INPUT -p all --dport 80 -j ACCEPT
iptables -A INPUT -p all --dport 8086 -j ACCEPT
iptables -A INPUT -p all -i tun0 -j ACCEPT
iptables -P INPUT DROP  # 默认策略排最后

四:除非用一些网络安全产品,如果只用iptables,最好记录好每一条命令且提交GIT(用于后续人员参考及修改)

笔者自己就会把所有客户,每个客户都要建立一个文件夹,将iptables等运维相关的笔记都记录在其中。都是教训。。。。

iptables简介和本质。

iptables是Linux的防火墙工具,是网络安全的基本工具。这套防火墙系统甚至被用来做很多专业网络设备的核心。
iptables是一种典型的包过滤防火墙,通过检测到达的数据包头中的信息,确定哪些通过,哪些拒绝,哪些记录,哪些丢弃等等。
iptables的行为主要依据数据包的目的地址,端口号,协议类型,接口。

iptables的组成部分

iptables主要有3个表组成:filter,nat,manage
filter表包含了包过滤的所有内容。(通常来说,只是用filter表就可以达成大多数安全需求)
nat表用来做网络地址转换。
manage用于修改除了nat和filter包过滤之外的网络包。

iptables的初始化

通常使用5个命令就可以完成绝大多数客户现场的配置:

-P   设置链的默认策略
-F   清除链或表的所有策略(不重置默认策略!!,参考教训1-A   添加一条策略
-D   删除一条策略(删除策略,需要知道原添加命令,参考 教训4-L   列出表与链的策略。

初始化

iptables -F  清除整个filter表的策略
iptables -F INPUT  清除整个filter表中INPUT链的策略

iptables的设置

1:设置默认策略 -P

iptables -P INPUT DROP
iptables -P FORWARD DROP

2:添加链规则 -A

-p proto    匹配网络协议类型tcp、udp、icmp  ALLALL代表所有类型都可通过)
--icmp-type type 匹配ICMP类型与 -p icmp 搭配使用(比如8类型是ping)
-s source-ip 匹配来源主机(或网络网段)的IP地址
--sport port 匹配来源主机的端口,和-s source-ip 搭配使用
-d dest-ip 匹配目标主机的IP地址
--dport port 匹配目标主机(或网络网段)的端口,和d dest-ip 搭配使用
# 允许所有通过lo本地回环接口的请求。
iptables -A INPUT -i lo -p ALL -j ACCEPT
# 允许访问本机器的22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 只允许eth0接口访问本机的80端口。
iptables -A INPUT -i eth0 -p ALL --dport 80 -j ACCEPT
# 只允许10.10.160.0/24 通过tun0访问本地8086端口
iptables -A INPUT -i tun0 -s 10.10.160.0/24 -p ALL --dport 8086 -j ACCEPT

删除链规则 -D

# 删除 允许所有通过lo本地回环接口的请求。
iptables -D INPUT -i lo -p ALL -j ACCEPT
# 删除 允许访问本机器的22端口
iptables -D INPUT -p tcp --dport 22 -j ACCEPT
# 删除 只允许eth0接口访问本机的80端口。
iptables -D INPUT -i eth0 -p ALL --dport 80 -j ACCEPT
# 删除 只允许10.10.160.0/24 通过tun0访问本地8086端口
iptables -D INPUT -i tun0 -s 10.10.160.0/24 -p ALL --dport 8086 -j ACCEPT

查看链规则:

iptables -L --line-numbers
http://www.dtcms.com/a/343036.html

相关文章:

  • springboot人事管理系统源码和论文
  • Python编程练习100例(含答案)
  • HTTP 与 HTTPS:网络通信幽径上的安全秘钥
  • Promise详解:Promise解决ajax回调嵌套问题
  • system\core\init\init.cpp----LoadBootScripts()解析init.rc(2)
  • 五大主流ETL数据集成平台推荐
  • 鸿蒙 NEXT开发中轻松实现人脸识别功能
  • hadoop-3.3.6和hbase-2.4.13
  • 日志收集(ELK)
  • k8s--NetworkPolicy资源对象
  • 打工人项目日报计划
  • 搭建FTP文件共享服务器
  • linux 之 virtio 子系统核心的数据结构
  • DeepSeek R2难产:近期DeepSeek-V3.1 发布更新并开源,成功实现迈向 Agent 时代的第一步
  • 信息收集4----(收集网站指纹信息)
  • CSS 3D动画,围绕旋转动画Demo
  • 常见 Linux 网络命令梳理
  • AGV 技术落地场景解析:从制造业到仓储物流,看自动导引车的行业应用
  • 【Ruoyi解密-02.登录流程:】登录-找密码不抓瞎
  • 封装FTPSClient连接ftps服务器
  • 一个成熟的运维及售后岗位应掌握的知识体系详解
  • Linux动态库制作和使用
  • Manus AI 与多语言手写识别:技术、应用与未来
  • Nginx + Vue/React 前端 + API:防止路径混淆漏洞与跨域问题实战分享
  • [Mysql数据库] Mysql安全知识
  • Oracle ADG 切换方式详解:Switchover 与 Failover 操作指南
  • 〖领码方案〗前端 PageData 完整解决方案 第四版
  • 深度解析Structured Outputs:让AI输出严格遵循JSON Schema的结构化响应
  • 【日常学习】2025-8-21 了解些测试名词
  • 【GPT入门】第52课 openwebui安装与使用