Linux基础:Day05
2024-10-09 00:29:16
iptables
ip 的 tables ip的表格;
iptables只是netfilter的前端管理工具;netfilter是linux内核提供的数据流量管理模块;
iptables/netfilter数据流量管理框架;
ip 的 tables ip的表格;
iptables只是netfilter的前端管理工具;netfilter是linux内核提供的数据流量管理模块;
iptables/netfilter数据流量管理框架;
普遍人问IPtables就是一个防火墙;
作用:流量过滤;(防火墙:1、流浪过滤 2、接VPN)
1、网络防火墙
首先,网络防火墙一般处在外网出口处;
主要对于内外网交互的流量进行监控与过滤;
2、主机防火墙(并不提到360、xx管家)
主机有内核空间和用户空间,netfilter的过滤模块运行在内核空间,但是它又无法提供数据匹配,所以我们需要使用函数来调用netfilter模块,匹配数据流量;
5个钩子:匹配数据流量:就有我们所说的 Chain (钩子)
PREROUTING
INPUT
FORWARD
OUTPUT
POSTROUTING
首先,网络防火墙一般处在外网出口处;
主要对于内外网交互的流量进行监控与过滤;
2、主机防火墙(并不提到360、xx管家)
主机有内核空间和用户空间,netfilter的过滤模块运行在内核空间,但是它又无法提供数据匹配,所以我们需要使用函数来调用netfilter模块,匹配数据流量;
5个钩子:匹配数据流量:就有我们所说的 Chain (钩子)
PREROUTING
INPUT
FORWARD
OUTPUT
POSTROUTING
3种流量:1、到达主机的流量
2、通过主机的流量
3、主机发起的流量
2、通过主机的流量
3、主机发起的流量
4张表来决定行为:
1、raw 保持连接--建议不要开启这个表的功能
2、mangle 做数据包修改
3、nat nat映射,包括SNAT DNAT
4、filter 数据包过滤(默认启用)
1、raw 保持连接--建议不要开启这个表的功能
2、mangle 做数据包修改
3、nat nat映射,包括SNAT DNAT
4、filter 数据包过滤(默认启用)
那些表,可以关联那些“钩子”呢?
raw -- OUTPUT PREROUTING
mangle -- PREROUTING INPUT FORWARD OUTPUT POSTROUTING
nat -- POSTROUTING OUTPUT PREROUTING
filter -- OUTPUT INPUT FORWARD
【对于数据包的行为,就决定了这个数据包要经过那个链】
raw -- OUTPUT PREROUTING
mangle -- PREROUTING INPUT FORWARD OUTPUT POSTROUTING
nat -- POSTROUTING OUTPUT PREROUTING
filter -- OUTPUT INPUT FORWARD
【对于数据包的行为,就决定了这个数据包要经过那个链】
*注意:写策略的时候,需要关联钩子,策略是属于“钩子”的,而钩子只做策略匹配,但不能进行数据操作;
所以,我们需要再关联表,每一种表决定了一种行为操作;
所以,我们需要再关联表,每一种表决定了一种行为操作;
表 包含链 -- 链 包含 策略;
3、iptables的用法:
iptables [-t table] {-A|-D} chain rule-specification
iptables [-t table] -I chain [rulenum] rule-specification
iptables [-t table] -R chain rulenum rule-specification
iptables [-t table] -D chain rulenum
iptables [-t table] -S [chain [rulenum]]
iptables [-t table] {-F|-L|-Z} [chain [rulenum]] [options...]
iptables [-t table] -N chain
iptables [-t table] -X [chain]
iptables [-t table] -P chain target
iptables [-t table] -E old-chain-name new-chain-name
iptables [-t table] {-A|-D} chain rule-specification
iptables [-t table] -I chain [rulenum] rule-specification
iptables [-t table] -R chain rulenum rule-specification
iptables [-t table] -D chain rulenum
iptables [-t table] -S [chain [rulenum]]
iptables [-t table] {-F|-L|-Z} [chain [rulenum]] [options...]
iptables [-t table] -N chain
iptables [-t table] -X [chain]
iptables [-t table] -P chain target
iptables [-t table] -E old-chain-name new-chain-name
-t 指定 表
-A -I 添加策略 -A在最下面添加,-I 在最上面添加
建议:工作的时候一定要用 -A 不要用 -I
-D 删除策略
-R 替换链表 需要指定所替换的编号
iptables -t filter -R INPUT 2 -s 1.1.1.1 -d 2.2.2.2 -j ACCEPT
-S 显示链表的所有用法
-P 指定链表的默认行为
iptables -t filter -P INPUT DORP
建议:写白名单
-N 自己定义链表;
如果策略过多,我们需要将策略分类,这就用自己定义链表来分类;
让后再将自己定义的链表调用在其他可以匹配数据流量的链表上;
【如何去调用呢?】
-X 也是清除自定义的链表
iptables -t filter -X [chain]
-v 可以查看策略匹配的数据包
-vv 详细查看数据包匹配情况 -vvv
iptables -t filter -L -v
-Z 将数据包计数归零;
-L --list显示所选chain上面所有规则rule
-F 清空制定chain上面所有规则
-E 替换chain的名称;
------------------------------------------
-p udp icmp tcp esp ah
-s
-d
-j jump DROP ACCEPT REJECT SNAT DNAT MARK
-i 进入的网卡
-o 出去的网卡
-c 设置收发数据包的警告值
-n 不做解析
--line-number 显示策略行号
-f TCP协议的标签 -- syn ack fin rst pus ...
【大多数进行数据匹配的参数,都可以使用 !取反;】
-A -I 添加策略 -A在最下面添加,-I 在最上面添加
建议:工作的时候一定要用 -A 不要用 -I
-D 删除策略
-R 替换链表 需要指定所替换的编号
iptables -t filter -R INPUT 2 -s 1.1.1.1 -d 2.2.2.2 -j ACCEPT
-S 显示链表的所有用法
-P 指定链表的默认行为
iptables -t filter -P INPUT DORP
建议:写白名单
-N 自己定义链表;
如果策略过多,我们需要将策略分类,这就用自己定义链表来分类;
让后再将自己定义的链表调用在其他可以匹配数据流量的链表上;
【如何去调用呢?】
-X 也是清除自定义的链表
iptables -t filter -X [chain]
-v 可以查看策略匹配的数据包
-vv 详细查看数据包匹配情况 -vvv
iptables -t filter -L -v
-Z 将数据包计数归零;
-L --list显示所选chain上面所有规则rule
-F 清空制定chain上面所有规则
-E 替换chain的名称;
------------------------------------------
-p udp icmp tcp esp ah
-s
-d
-j jump DROP ACCEPT REJECT SNAT DNAT MARK
-i 进入的网卡
-o 出去的网卡
-c 设置收发数据包的警告值
-n 不做解析
--line-number 显示策略行号
-f TCP协议的标签 -- syn ack fin rst pus ...
【大多数进行数据匹配的参数,都可以使用 !取反;】
最新文章
- zookeeper集群管理配置优化总结
- Silverlight 动画详解
- oracle 语句 字段拼接(可换行)
- HD 1533 Going Home(最小费用最大流模板)
- python模拟浏览器保存Cookie进行会话
- Spring框架学习之第8节
- JVM基础:深入学习JVM堆与JVM栈
- PHP中::、->;、self、$this操作符的区别
- 关于jQuery的cookies插件2.2.0版设置过期时间的说明
- ORACLE 两个表或两个结果集的数据对比常用的函数
- Exception in MessageQueue callback: handleReceiveCallback
- Redis 优化查询性能
- MyEclipse的真正价值——时间等于金钱
- Oracle wm_concat(列转行函数)实际使用
- Fire Again CodeForces - 35C (BFS)
- Finance财务软件帮助
- itchat和wordcloud对微信好友的签名进行画像
- 用Windows命令行编译自己的c或者cpp以及一些操作
- api管理平台
- JavaWeb学习总结-12 JSTL标签语言
热门文章
- pytest、tox、Jenkins实现python接口自动化持续集成
- 曹工说mini-dubbo(1)--为了实践动态代理,我写了个简单的rpc框架
- 你会无聊到把Administrator用户禁用,并且自己创建的用户搞到消失掉还有Administrator用户被禁吗。。。。。
- windows git pull或者push代码时弹出安全框解决办法
- httpServletRequest.getCharacterEncoding()取出来是个null,怎么办?
- NIO中的ZeroCopy
- 一起了解 .Net Foundation 项目 No.21
- javaweb_HTML
- JWT签发token
- fastText 训练和使用