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

iptables

iptables

一、简介

iptables是 Linux系统中用于管理网络包过滤的工具。它可以用来设置规则,以控制网络数据包的流动。iptables可以用于防火墙、网络地址转换(NAT)和网络包过滤等多种用途。

netfilter/iptables组成Linux平台下的包过滤防火墙,iptables是用户空间的管理工具,netfilter是内核空间的包处理框架。

二、iptables四表五链

五链
  • INPUT 链:处理输入数据包

  • OUTPUT链 :处理输出数据包

  • FORWARD链 :处理转发数据包

  • PREROUTING链 :用于目标地址转换(DNAT)

  • POSTOUTING链 :用于源地址转换(SNAT

四表
  • raw :主要用来关闭连接跟踪,即配置参数时使用-j NOTRACK,如:网址过滤,基本不用,只能2个链 PREROUTING ,OUTPUT

  • mangle :修改数据包的TOS、TTL,和为数据包设置标记,用来实现Qos调整以及策略路由功能。5个链都可以

  • nat :负责地址转换,用于网关路由器。只能3个链PREROUTING ,OUTPUT ,POSTROUTING

  • filter :负责包过滤功能,用于防火墙规则, 只能3个链 INPUT ,FORWARD ,OUTPUT

三、处理流程

首先数据包进入PREROUTING链,之后根据路由决策进入INPUT(本机)还是FORWARD(转发),进入INPUT后会继续进入OUTPUT链,最后都走到POSTROUTING链。

  另外,如果加入各种规则之后,则数据包进入某个链之后,还要顺序执行链上的规则,如果匹配某个规则,则根据匹配的规则来处理数据包(例如ACCEPT、DROP或者REJECT),如果都不匹配则使用默认的策略处理数据包。

四、基础命令组成

iptables [ -t 表名] 命令选项 [链名] [条件匹配] [-j 处理动作或跳转]

注: -t 表名在缺省状态下,默认为filter表,即默认 -t filter。

常用命令

-A 追加规则-->iptables -A INPUT, 添加链是添加到最后一条

-D 删除规则-->iptables -D INPUT 1(编号) 按规则序号或内容确定要删除的规则

-R 修改规则-->iptables -R INPUT 1 -s 192.168.12.0 -j DROP 取代现行规则,顺序不变(1是位置)

-I 插入规则-->iptables -I INPUT 1 --dport 80 -j ACCEPT 插入一条规则,原本位置上的规则将会往后移动一个顺位

-L 查看规则-->iptables -L INPUT 列出一个或所有链的规则

-F: 清空指定链中的所有规则,默认清空表中所有链的内容

-X: 删除指定表中用户自定义的规则链

-N 新的规则-->iptables -N allowed 定义新的规则

-Z:清空链,及链中默认规则的计数器的(有两个计数器,被匹配到多少个数据包,多少个字节)

查看已添加的规则

sudo iptables -L OUTPUT -n -x -v --line-numbers

--line-numbers 显示行号 -L 列出所有规则 后边可以跟上新的规则链名称 —N 可以新建链 -n 以数字的方式显示ip,它会将ip直接显示出来,如果不加-n,则会将ip反向解析成主机名,加上提速 -v 详细信息 越多v越详细 -x 在计数器上显示精确值,不做单位换算

  1. num:规则的编号。

  2. pkts:数据包的数量。

  3. bytes:数据包的总字节数。

  4. target:目标动作或规则,例如接受(ACCEPT)或拒绝(REJECT)。

  5. prot:协议,例如TCP(传输控制协议)或UDP(用户数据报协议)。

  6. opt:其他选项或标记,例如是否使用了特定的网络接口或标记。

  7. in:数据包进入的网络接口。

  8. out:数据包离开的网络接口。

  9. source:数据包的源IP地址。

  10. destination:数据包的目标IP地址。

根据这个表格,第一条规则允许从任何源地址到IP地址10.64.4.70的所有TCP流量。第二条规则允许到IP地址180.101.50.188的所有流量,不论协议如何。

添加规则

sudo iptables -A OUTPUT -d 10.64.4.70 -p tcp(添加到最后)

sudo iptables -I INPUT -s 10.64.4.70 -j DROP(添加到第一条,来源10.64.4.70,执行目标动作为丢弃)

删除链内指定规则

sudo iptables -D OUTPUT -d 180.101.50.188

sudo iptables -D OUTPUT -s 180.101.50.188 -j DROP (删除源IP为180.101.50.188且目标动作为DROP )

清除现有的规则

iptables -F

创建新链

默认filter

sudo iptables -N WEB_BAN_IP

可以指定filter

sudo -t filter -N WEB_BAN_IP

这个时候,这个链并没有被任何默认链进行引用;即使你现在对其增加规则,它也是不会生效的

引用新链接

使用以下命令将新链添加到INPUT链中:

sudo iptables -A INPUT -j WEB_BAN_IP

删除和清除链接

取消引用

sudo iptables -D INPUT -j WEB_BAN_IP

清空表

sudo iptables -F WEB_BAN_IP

删除表

sudo iptables -X WEB_BAN_IP

通用参数

-p 协议 例:iptables -A INPUT -p tcp

-s源地址 例:iptables -A INPUT -s 192.168.1.1

-d目的地址 例:iptables -A INPUT -d 192.168.12.1

--sport源端口 例:iptables -A INPUT -p tcp --sport 22

--dport目的端口 例:iptables -A INPUT -p tcp --dport 22

-i指定入口网卡 例:iptables -A INPUT -i eth0

-o指定出口网卡 例:iptables -A FORWARD -o eth0

-j 指定要进行的处理动作 常用的ACTION:

DROP:丢弃 REJECT:明示拒绝

ACCEPT:接受 SNAT基于原地址的转换

source 指定原地址

比如我们现在要将所有192.168.10.0网段的IP在经过的时候全都转换成172.16.100.1这个假设出来的外网地址:

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 172.16.100.1(外网有效ip)

这样,只要是来自本地网络的试图通过网卡访问网络的,都会被统统转换成172.16.100.1这个IP. MASQUERADE(动态伪装)--家用带宽获取的外网ip,就是用到了动态伪装

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE DNAT目标地址转换 destination 指定目标地址

iptables -t nat -A PREROUTING -d 192.168.10.18 -p tcp --dport 80 -j DNAT --to-destination 172.16.100.2 10.18访问80端口转换到100.2上

MASQUERADE:源地址伪装

REDIRECT:重定向:主要用于实现端口重定向

MARK:打防火墙标记的

RETURN:返回 在自定义链执行完毕后使用返回,来返回原规则链。

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

相关文章:

  • STM32+8266+小程序智能家居【小白实战项目】
  • 如何部署一个Java项目
  • 联想乐享赋能笔记本选购新体验:智能解析五大系列,精准匹配用户需求
  • 西安网站设计报价怎样创建网站和网页
  • Go中使用反射的动态方法调用
  • 泰安市住房和城乡建设部网站哪个网站diy做宝宝衣服
  • springboot+vue心理咨询服务小程序(源码+文档+调试+基础修改+答疑)
  • 优秀电商网站设计上海网站建设管理系统
  • 速通JavaWeb1
  • 【开题答辩全过程】以 vue基于SSM框架的高考志愿填报辅助系统设计与实现为例,包含答辩的问题和答案
  • linux网站建设论文logo免费设计图案
  • 怎么把网站源码扒下来wordpress缓存方案
  • 整体设计 逻辑系统程序 之17 Source 容器(Docker)承载 C/P/D 三式的完整设计与双闭环验证 之1
  • 汕头网站设计哪家好网页设计图片与文字对齐左对齐
  • GIS PAD平板手机移动端地理信息系统
  • kafka解决了什么问题?mmap 和sendfile
  • 做网站一定要买免费ppt制作
  • c++ 是静态编译语言
  • 寻找哈尔滨网站建设淘宝客网站的建设
  • 打造机器人行业的「安卓」,Meta的野心能否照进现实?
  • GW级智算中心:开启中国AI算力新纪元
  • 怎样做网站镜像做网站的步骤
  • 神经网络:从失宠到复兴的崛起之路
  • 【Python刷力扣hot100】128. Longest Consecutive Sequence
  • 做网站需要的东西台州网络优化
  • 「机器学习笔记6」从二项分布到置信区间:机器学习中假设效果量化的底层逻辑
  • NumPy 广播(Broadcast)
  • 电子商务网站开发是什么合肥瑶海区最新房价
  • ITP平台V4.0.0重磅发布:全新性能测试模块上线,打造一体化测试解决方案
  • 外国人做的网站吗网站建设与推广的步骤