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

【iptables】--命令基本使用

文章目录

    • 基本语法
    • 常用操作参数
    • 常见匹配条件
    • 动作(目标)
    • 示例用法
      • 1. **允许本机访问 22 端口(SSH)**
      • 2. 拒绝、允许 来自某个 IP、网段、服务 的连接
      • 3. **清空规则**
      • 4. **查看规则**
      • 5. **设置默认策略为 DROP**
      • 6. **保存规则 和恢复默认规则**
      • 7. **生产环境一般修改**
      • 8. **snat 网络源地址转换**
      • 9. **dnat 端口转发**

基本语法

iptables [参数] [] [匹配条件] [动作]
  • [参数]:表示操作类型(如添加、删除规则等)
  • [链]:如 INPUT、OUTPUT、FORWARD
  • [匹配条件]:如 -s-d-p
  • [动作]:如 ACCEPT、DROP、REJECT

常用操作参数

参数说明
-A在指定链(如 INPUT)追加规则
-I在指定链的开头插入规则
-D删除规则(指定规则或行号)
-R替换指定规则
-L显示当前所有规则
-F清空所有规则
-Z将计数器归零
-N创建自定义链
-X删除自定义链
-P设置默认策略(如 DROP)

常见匹配条件

参数说明
-s源地址(如 -s 192.168.1.0/24
-d目标地址
-p协议(如 tcp、udp、icmp)
--dport目标端口(需 -p 指定协议)
--sport源端口
-i入站网卡(如 -i eth0
-o出站网卡

动作(目标)

动作说明
ACCEPT允许
DROP丢弃(无响应)
REJECT拒绝(返回错误信息)
LOG记录日志
DNAT / SNAT改变目标/源地址(需 -t nat 表)
MASQUERADEIP 伪装(用于 NAT)

示例用法

1. 允许本机访问 22 端口(SSH)

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

2. 拒绝、允许 来自某个 IP、网段、服务 的连接

#限制某个ip
iptables -A INPUT -s 192.168.1.100 -j DROP#限制某个ip网段连接本机8848端口
iptables -t filter -A INPUT -s 192.168.1.0/24 -p tcp --dport 8848 -j DROP#只允许192.168.1.0网段的机器访问   使用!来取反
iptables -A INPUT ! -s 192.168.1.0/24 -j DROP# 指定多个端口 80.8848,1101    ----法一一条条写    法二  使用-m multiport
iptables -A INPUT -m multiport -p tcp --dport 80,8848,8823 -j DROP#1到100的端口都DROP
iptables -I INPUT -p tcp --dport 1:100 -j DROP# 禁止ping
# 法一
iptables -I INPUT -p icmp --icmp-type 8 -j DROP
# 法二
vim /etc/sysctl.conf
net.ipv4.imcp_echo_ignore_all=1

3. 清空规则

# 默认filter表# 清除指定规则--input链中的第一条规则
iptables -D INPUT 1# 清空所有规则
iptables -F

4. 查看规则

# 查看所有规则--默认filter
iptables -L -n -v# --line-number 可查看规则的行号
iptables -nL -t nat --line-number

5. 设置默认策略为 DROP

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
  1. 限制并发和速率
# -m limit 限制
# -m limit --limit 10/{second/minute/hour}
-m imit --limit 10/minute    # 每分钟只有10个数据包# --limit-burst 5  并发五个
# 每分钟给10个数据包   可以并发5个  到第六个开始是6秒后一个
# iptables -I INPUT -m limit --limit 10/minute --limit-burts 5
iptables -A INPUT -p icmp --icmp-type 8 -m limit --limit 10/minute --limit-burst 5 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -P INPUT -t filter DROP

在这里插入图片描述

6. 保存规则 和恢复默认规则

# 保持
iptables-save > /etc/sysconfig/iptables# 恢复默认
iptables-restore < /etc/sysconfig/iptables

7. 生产环境一般修改

先把需要的端口和服务ACCEPT
然后 关门 把默认状态改成DROP

8. snat 网络源地址转换

# snat 源地址转换--共享上网
# 192.168.1.0/24的网段转换成 本机的
# 方法一
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 192.168.1.13 
# 方法二
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

9. dnat 端口转发

# dnat 目的地址转换 端口转发
# 转换成本机的80端口 转发成 192.168.1.14 的80端口 
iptables -t nat -A PREROUTING -d 192.168.1.13 -p tcp --dport 80 -j DNAT --to-destination 192.168.14:80

ip转发也可以但是有点费公网ip 有点浪费

http://www.xdnf.cn/news/358147.html

相关文章:

  • Web 架构之数据读写分离
  • 配置Java Selenium Web自动化测试环境
  • 5.0.5 变换(旋转、缩放、扭曲)
  • 云手机解决方案
  • 图像匹配导航定位技术 第 11 章
  • 蓝桥杯青少 图形化编程(Scratch)编程题每日一练——小猫的城堡
  • 电动汽车充换电设施可调能力聚合评估与预测 - 使用说明文档
  • Java设计模式全面详解:从基础到高级的23种模式简介
  • Vue 系列之:defineProps、defineEmits、...
  • vue3: pdf.js 2.16.105 using typescript
  • 字符函数和字符串函数
  • MKS RGA 校准调试MKS eVision和Vision 1000p RGA步骤(图文并茂)
  • 使用 Spring 和 Redis 创建处理敏感数据的服务
  • 4.2【LLaMA-Factory实战】金融财报分析系统:从数据到部署的全流程实践
  • 20250509 哲学上的真空和哲学上的虚无是一个概念吗
  • 量子计算在软件开发中的兴起
  • Baklib智能内容推荐中台是什么?
  • canvas坐标系转webgl坐标系
  • 数字化转型-4A架构之数据架构
  • selenium替代----playwright
  • XML Forms Data Format (XFDF) 工作原理、数据结构、使用场景以及与缓冲区的交互方式
  • 【身份证识别表格】批量识别身份证扫描件或照片保存为Excel表格,怎么大批量将身份证图片转为excel表格?基于WPF和腾讯OCR的识别方案
  • 从 JMS 到 ActiveMQ:API 设计与扩展机制分析(一)
  • 37-智慧医疗服务平台(在线接诊/问诊)
  • Windows系统下【Celery任务队列】python使用celery 详解(二)
  • Jsoup与HtmlUnit:两大Java爬虫工具对比解析
  • PostgreSQL逻辑复制(logic replication)
  • 《内存单位:解锁数字世界的“度量衡”》
  • TIME - MoE 模型代码 3.2——Time-MoE-main/time_moe/datasets/time_moe_dataset.py
  • android 媒体框架