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

Linux IPTables

1. 介绍

linux iptables是一linux内核防火墙的命令行工具。

主要作用是检查、修改、转发、重定向、丢弃网络包。

linux内核将过滤包的代码组织成了一张张表,

每张表都有着不同的目的。

而每张表由预定义规则的链的集合组成。

而每条链则由按顺序排列后的规则组成。

每条规则由两部分组成:

(1)匹配条件(2)匹配后执行的操作

2. 表

主要分为五张表

  1. raw表:决定包是否被连接跟踪。
  2. filter表:默认的表,过滤规则的。
  3. nat表:用来网络地址转换的,公私网地址转换。
  4. mangle表:改包里面的标识的,基本用不到。(TOS、TTL、MARK、SECMARK、CONNSMARK)
  5. security表:做访问控制管理的(SELinux里有用到?)
3. 链

每张都包含了不同的链。

每条链都有相应的意义

  • INPUT:目标为本地socket
  • FORWARD: 转发
  • OUTPUT: 本地产生的包
  • PREROUTING: 包来的时候应用,DNAT就应用在这条链。
  • POSTROUTING: 包即将发出去时应用,SNAT应用在这条链。

虽然上面一共有五张表,

但是我们最常用的其实只有natfilter这两张表。

nat表由PREROUTING、INPUT、OUTPUT、POSTROUTING这四条链组成。

filter表由INPUT、FORWARD、OUTPUT这四条链组成。

其他表的链组成自己查吧,懒得写了,安卓人累了。

4. 规则

就是条件和执行动作。比如tcp目标端口5050的包就DROP丢弃什么的。

可以使用-j跳转到用户自定义的规则。

5. 链的调用规则

在这里插入图片描述
主要是这张图,第一个路由抉择是看这个包是否发到本地的。

6. 命令使用

其实这些可以看官方的文档哈。

安卓人就随便写一点命令了

查看filter

iptables -nvL 

查看nat

iptables -t nat -nvL

清空表

iptables -X

改变表的匹配规则

iptables -P FORWARD DROP

应用DNAT

iptables -t nat -A PREROUTING -i eth0 -d 203.0.113.0 -j DNAT --to 192.168.1.2

应用SNAT

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 203.0.113.0

端口重写向

iptables -t nat -I PREROUTING --src $SRC_IP_MASK --dst $DST_IP -p tcp --dport $portNumber -j REDIRECT --to-ports $rediectPort

7. 参考

哈基人要学会看官方文档

man8-iptables
man8-iptables-extention
archlinux-iptables

iptable-tutorial
snat-dnat

linux-port-redirection

http://www.dtcms.com/a/353689.html

相关文章:

  • 7、prefix-tuning、P-tuning、Prompt-tuning
  • 大规模5G无线通信网络
  • 服务器关机故障排查:大白话版笔记
  • 软件定义汽车(SDV)调试——如何做到 适配软件定义汽车(SDV)?(上)
  • R包fastWGCNA - 快速执行WGCNA分析和下游分析可视化
  • 【Mascaret】QGIS中Mascaret插件的使用
  • JAVA 引用类型深拷贝的三种实现方式
  • (48)华为云平台-rpa-安全组限制端口+ip
  • (一)光头整洁架构(Mediator Pattern/Result Patttern/UnitOfWork/Rich Domain)
  • docker部署spring boot,安装jdk17、maven3.8.8详细步骤
  • 【C++】菱形继承深度解析+实际内存分布
  • 【题解】Codeforces Round 1045 (Div. 2) Problem.B ~ Problem.E
  • KANO 模型:功能不是“加一分”,而是“分五类”
  • YOLO-yaml/pt模型文件的差异
  • GitFlow工作流
  • 铠德科技为您详解静电与温冲背后的隐形损失
  • 下一代防火墙
  • nestjs 导出excel
  • JoyAgent-JDGenie开源多智能体系统详解:架构、部署与企业级应用案例
  • day22 回溯算法part01
  • Day6--HOT100--238. 除自身以外数组的乘积,41. 缺失的第一个正数,73. 矩阵置零
  • 前端漏洞(下)- ClickJacking漏洞
  • 指针 (六):sizeof和strlen细节强化之“做题篇”
  • stl--std::map
  • Java 使用Jna 调用 C# dll文件踩到的坑
  • SpringBoot整合Redis:从入门到实战的完整指南
  • 【Linux 小实战】自定义 Shell 的编写
  • LCD 上显示字符
  • zookeeper-集群扩缩容
  • 稳敏双态融合架构--架构师的练就