Hive学习第三章:基本概念与术语

发布时间:2026/6/19 23:51:19

Hive学习第三章:基本概念与术语 这章内容过于我觉得理解一下它的三层结构以及四张表filter,nat ,magle和raw的作用就行别的就不用看太多了。3.1 核心概念概述iptables 是什么iptables是 Linux 内核中 Netfilter 框架的用户态工具用于配置数据包过滤、网络地址转换NAT、数据包修改等规则。它通过一组表、链、规则来定义如何处理网络流量。iptables 的规则管理基于以下层次结构iptables ├── 表 (Tables) │ ├── 链 (Chains) │ │ ├── 规则 (Rules) │ │ │ ├── 匹配条件 (Match Criteria) │ │ │ └── 目标动作 (Target Actions) │ │ └── 默认策略 (Default Policy) │ └── ... └── ...数据包处理流程数据包 → 表选择 → 链遍历 → 规则匹配 → 动作执行 → 结果输出3.2 表 (Tables) 详解表的概念表是 iptables 中规则的逻辑分组每个表都有特定的功能和用途。四个内置表1. filter 表用途包过滤这是 iptables 的默认表# 查看 filter 表 iptables -t filter -L # 或者默认就是 filter 表 iptables -L包含的链INPUT处理进入本机的数据包OUTPUT处理本机发出的数据包FORWARD处理经过本机转发的数据包典型应用# 阻止特定IP访问 iptables -A INPUT -s 192.168.1.100 -j DROP # 允许HTTP访问 iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 阻止出站连接到特定端口 iptables -A OUTPUT -p tcp --dport 25 -j DROP2. nat 表用途网络地址转换 (Network Address Translation)# 查看 nat 表 iptables -t nat -L包含的链PREROUTING修改刚到达的数据包OUTPUT修改本机产生的数据包POSTROUTING修改即将发出的数据包典型应用# SNAT源地址转换 iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 203.0.113.1 # DNAT目标地址转换 iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10:8080 # MASQUERADE动态源地址转换 iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE3. mangle 表用途修改数据包的头部信息# 查看 mangle 表 iptables -t mangle -L包含的链PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING所有链典型应用# 修改 TOS 字段 iptables -t mangle -A OUTPUT -p tcp --dport 22 -j TOS --set-tos 0x10 # 标记数据包 iptables -t mangle -A PREROUTING -s 192.168.1.0/24 -j MARK --set-mark 1 # 修改 TTL iptables -t mangle -A OUTPUT -j TTL --ttl-set 644. raw 表用途配置免于连接跟踪的数据包# 查看 raw 表 iptables -t raw -L包含的链PREROUTING、OUTPUT典型应用# 跳过连接跟踪提高性能 iptables -t raw -A PREROUTING -p tcp --dport 80 -j NOTRACK iptables -t raw -A OUTPUT -p tcp --sport 80 -j NOTRACK表的优先级数据包处理时表的优先级顺序raw → mangle → nat → filter3.3 链 (Chains) 详解链的概念链是规则的有序列表数据包会按照链中规则的顺序进行匹配。内置链详解INPUT 链作用处理目标地址是本机的数据包数据包流向外部网络 → 网卡 → PREROUTING → 路由判断 → INPUT → 本地进程应用场景# 允许SSH连接 iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 限制连接频率 iptables -A INPUT -p tcp --dport 22 -m limit --limit 3/min -j ACCEPT # 阻止特定国家的IP iptables -A INPUT -m geoip --src-cc CN -j DROPOUTPUT 链作用处理本机发出的数据包数据包流向本地进程 → OUTPUT → 路由判断 → POSTROUTING → 网卡 → 外部网络应用场景# 阻止访问特定网站 iptables -A OUTPUT -d www.example.com -j DROP # 限制出站端口 iptables -A OUTPUT -p tcp --dport 25 -j DROP # 允许DNS查询 iptables -A OUTPUT -p udp --dport 53 -j ACCEPTFORWARD 链作用处理经过本机转发的数据包数据包流向外部网络 → 网卡 → PREROUTING → 路由判断 → FORWARD → POSTROUTING → 网卡 → 外部网络应用场景# 允许内网访问外网 iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT # 阻止特定协议转发 iptables -A FORWARD -p icmp -j DROP # 限制转发带宽 iptables -A FORWARD -m limit --limit 1000/sec -j ACCEPTPREROUTING 链作用在路由判断之前处理数据包主要用途DNAT目标地址转换端口重定向数据包标记# 端口转发 iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80 # 负载均衡 iptables -t nat -A PREROUTING -p tcp --dport 80 -m statistic --mode nth --every 2 --packet 0 -j DNAT --to-destination 192.168.1.10 iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.11POSTROUTING 链作用在数据包离开系统之前处理主要用途SNAT源地址转换MASQUERADE地址伪装# 网络共享 iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE # 固定源地址 iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 203.0.113.1自定义链创建自定义链# 创建自定义链 iptables -N CUSTOM_CHAIN # 查看所有链 iptables -L # 删除自定义链必须先清空 iptables -F CUSTOM_CHAIN iptables -X CUSTOM_CHAIN创建自定义链# 创建自定义链 iptables -N CUSTOM_CHAIN # 查看所有链 iptables -L # 删除自定义链必须先清空 iptables -F CUSTOM_CHAIN iptables -X CUSTOM_CHAIN使用自定义链# 创建日志链 iptables -N LOG_DROP iptables -A LOG_DROP -j LOG --log-prefix [DROPPED]: iptables -A LOG_DROP -j DROP # 跳转到自定义链 iptables -A INPUT -s 192.168.1.100 -j LOG_DROP3.4 规则 (Rules) 详解规则的结构一条完整的 iptables 规则包含iptables [表选项] [链操作] [匹配条件] [目标动作]规则操作添加规则# 在链末尾添加规则 iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 在指定位置插入规则 iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT # 替换指定位置的规则 iptables -R INPUT 1 -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT删除规则# 按规则内容删除 iptables -D INPUT -p tcp --dport 80 -j ACCEPT # 按行号删除 iptables -D INPUT 1 # 清空链中所有规则 iptables -F INPUT # 清空所有链的规则 iptables -F查看规则# 查看所有规则 iptables -L # 显示行号 iptables -L --line-numbers # 显示详细信息 iptables -L -v # 不解析域名和端口名 iptables -L -n # 组合选项 iptables -L -n -v --line-numbers规则匹配顺序规则1 → 匹配 → 是 → 执行动作 → 结束/继续 ↓ 否 ↓ 规则2 → 匹配 → 是 → 执行动作 → 结束/继续 ↓ 否 ↓ ... ↓ 默认策略3.5 匹配条件 (Match Criteria)基本匹配条件协议匹配# TCP 协议 iptables -A INPUT -p tcp -j ACCEPT # UDP 协议 iptables -A INPUT -p udp -j ACCEPT # ICMP 协议 iptables -A INPUT -p icmp -j ACCEPT # 所有协议 iptables -A INPUT -p all -j ACCEPT地址匹配# 源地址 iptables -A INPUT -s 192.168.1.100 -j ACCEPT iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT # 目标地址 iptables -A OUTPUT -d 8.8.8.8 -j ACCEPT iptables -A OUTPUT -d 192.168.1.0/24 -j ACCEPT # 排除地址 iptables -A INPUT ! -s 192.168.1.100 -j DROP端口匹配# 源端口 iptables -A INPUT -p tcp --sport 80 -j ACCEPT # 目标端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 端口范围 iptables -A INPUT -p tcp --dport 1000:2000 -j ACCEPT # 多个端口 iptables -A INPUT -p tcp -m multiport --dports 80,443,8080 -j ACCEPT接口匹配# 输入接口 iptables -A INPUT -i eth0 -j ACCEPT # 输出接口 iptables -A OUTPUT -o eth1 -j ACCEPT # 接口通配符 iptables -A INPUT -i eth -j ACCEPT扩展匹配条件状态匹配# 连接状态 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state NEW -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP # 连接跟踪 iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT限制匹配# 速率限制 iptables -A INPUT -p icmp -m limit --limit 1/sec --limit-burst 3 -j ACCEPT # 连接数限制 iptables -A INPUT -p tcp --dport 22 -m connlimit --connlimit-above 3 -j DROP # 最近访问限制 iptables -A INPUT -m recent --name SSH --set iptables -A INPUT -m recent --name SSH --rcheck --seconds 60 --hitcount 4 -j DROP时间匹配# 时间范围 iptables -A INPUT -m time --timestart 09:00 --timestop 18:00 -j ACCEPT # 星期限制 iptables -A INPUT -m time --weekdays Mon,Tue,Wed,Thu,Fri -j ACCEPT # 日期范围 iptables -A INPUT -m time --datestart 2024-01-01 --datestop 2024-12-31 -j ACCEPT3.6 目标动作 (Target Actions)终止动作ACCEPT# 接受数据包 iptables -A INPUT -p tcp --dport 80 -j ACCEPTDROP# 静默丢弃数据包 iptables -A INPUT -s 192.168.1.100 -j DROPREJECT# 拒绝数据包并发送错误信息 iptables -A INPUT -p tcp --dport 23 -j REJECT iptables -A INPUT -p tcp --dport 23 -j REJECT --reject-with tcp-reset iptables -A INPUT -p udp --dport 53 -j REJECT --reject-with icmp-port-unreachable非终止动作LOG# 记录日志 iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix [SSH-ACCESS]: iptables -A INPUT -p tcp --dport 22 -j LOG --log-level 4MARK# 标记数据包 iptables -t mangle -A PREROUTING -s 192.168.1.0/24 -j MARK --set-mark 1RETURN# 返回调用链 iptables -A CUSTOM_CHAIN -p tcp --dport 80 -j RETURNNAT 动作SNAT# 源地址转换 iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 203.0.113.1DNAT# 目标地址转换 iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10MASQUERADE# 地址伪装 iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADEREDIRECT# 端口重定向 iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 803.7 默认策略 (Default Policy)策略概念默认策略是当数据包不匹配链中任何规则时执行的动作。设置默认策略# 查看当前策略 iptables -L | grep policy # 设置默认策略 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT # 恢复默认策略 iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT策略选择原则安全优先策略推荐# 默认拒绝明确允许 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP # 然后添加具体的允许规则 iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT便利优先策略# 默认允许明确拒绝 iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT # 然后添加具体的拒绝规则 iptables -A INPUT -s 192.168.1.100 -j DROP3.8 常用术语解释网络相关术语数据包 (Packet)网络中传输的数据单元连接 (Connection)两个网络端点之间的通信会话会话 (Session)应用层的通信过程流 (Flow)具有相同特征的数据包序列防火墙术语包过滤 (Packet Filtering)基于数据包头部信息进行过滤状态检测 (Stateful Inspection)跟踪连接状态的高级过滤深度包检测 (DPI)检查数据包内容的技术入侵检测 (IDS)检测恶意活动的系统iptables 专用术语钩子 (Hook)Netfilter 框架中的拦截点匹配器 (Matcher)用于匹配数据包特征的模块目标 (Target)规则匹配后执行的动作扩展 (Extension)增强 iptables 功能的模块3.9 规则编写最佳实践规则顺序原则特殊规则在前具体的规则应该放在通用规则之前常用规则在前频繁匹配的规则应该放在前面拒绝规则在后DROP 规则通常放在最后# 好的规则顺序 iptables -A INPUT -i lo -j ACCEPT # 本地回环 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 已建立连接 iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT # 特定SSH访问 iptables -A INPUT -p tcp --dport 80 -j ACCEPT # HTTP访问 iptables -A INPUT -p icmp -j ACCEPT # ICMP iptables -A INPUT -j DROP # 默认拒绝性能优化原则减少规则数量合并相似规则使用高效匹配避免复杂的正则表达式合理使用扩展只在必要时使用扩展模块# 低效的规则 iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT iptables -A INPUT -p tcp --dport 8080 -j ACCEPT # 高效的规则 iptables -A INPUT -p tcp -m multiport --dports 80,443,8080 -j ACCEPT安全性原则最小权限原则只开放必要的端口和服务默认拒绝使用 DROP 作为默认策略日志记录记录重要的安全事件# 安全的基础配置 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT # 基本允许规则 iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 日志记录可疑活动 iptables -A INPUT -p tcp --dport 22 -m recent --name SSH --set iptables -A INPUT -p tcp --dport 22 -m recent --name SSH --rcheck --seconds 60 --hitcount 4 -j LOG --log-prefix [SSH-BRUTE-FORCE]: iptables -A INPUT -p tcp --dport 22 -m recent --name SSH --rcheck --seconds 60 --hitcount 4 -j DROP本章小结本章详细介绍了 iptables 的基本概念和术语表的概念filter、nat、mangle、raw 四个表的用途和特点链的概念INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING 链的作用规则结构匹配条件和目标动作的组合匹配条件基本匹配和扩展匹配的各种选项目标动作终止、非终止和 NAT 动作的使用默认策略链的默认处理方式最佳实践规则编写的原则和技巧结束希望对你有帮助吧。

相关新闻