IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> iptables -> 正文阅读

[网络协议]iptables

iptables防火墙

iptables的结构:iptables -> Tables -> Chains -> Rules

简单地讲,tables由chains组成,而chains又由rules组成,牢记以下三点是理解iptables规则的关键

Rules包括一个条件和一个目标(target)
如果满足条件就执行目标(target)中的规则或者特定值,
如果不满足条件,就判断下一条Rules

iptables里默认的4个规则表

raw表 --记录状态,确定你是新的数据包还是老的数据包 mangle表 --为数据包设置标记
nat表 --修改数据包中的源、目标IP地址和端口号 (用的第二多的表)
filter表–过滤,确定是否放行该数据包 (用的最多的表,同时也是iptables的默认表)

iptables里默认的5种规则链 	

INPUT --处理入站数据包
OUTPUT --处理出站数据包
FORWARD --处理转发数据包
PREROUTING --在进行路由选择前处理数据包 POSTROUTING --在进行路由选择后处理数据包

默认情况下路由功能是关闭的(FORWARD)

 cat /proc/sys/net/ipv4/ip_forward
0
	打开路由功能
 echo 1 >/proc/sys/net/ipv4/ip_forward
cat /proc/sys/net/ipv4/ip_forward
1

规则表间的优先顺序

依次为: raw、mangle、nat、filter

规则链内的匹配顺序

按顺序依次进行检查,找到相匹配的规则即停止(LOG策略会有例外) ,若在该链内找不到相匹配的规则,则按该链的默认策略处理

查看iptables防火墙默认的规则表

(1)iptables -L

    查看filter表
        iptables -t filter -L
	查看mangle表
		iptables -t mangle -L
	查看raw表
		iptables -t raw -L
	查看nat表
		iptables -t nat -L

Chain INPUT (policy ACCEPT)
target prot opt source destination
目标 协议 选项 源 目的地

iptables [-t 表名] 管理选项 [链名] [条件匹配] [-j 目标动作或跳转]
iptables严格区分大小写
设置规则内容
	-A
		append
			在链尾追加一条新的规则
	-I
		insert
			在指定位置(或链首)插入一条新的规则
	-R
		replace
			修改、替换指定位置或内容的规则
	-P
		policy
			设置指定链的默认策略
列表查看规则
	-L
		列表查看各条规则信息
    	--line-numbers (或者--line)
		     查看规则信息时显示规则的行号
	-n
		以数字形式显示IP地址、端口等信息
	-v
		显示数据包个数、字节数等详细信息
清除规则
	-D
		删除指定位置或内容的规则
	-F
		清空规则链内的所有规则
自定义规则链
	-N
		创建一条新的规则链
	-X
		删除自定义的规则链

新创建的规则链如何被使用?

通过默认的5条规则链调用(类似于归于五链某个管)

删除新创建的规则链
先将链里面的规则删除,然后再将新创建的规则链删除
iptables -D sanchuang 1
iptables -X sanchuang

通用条件匹配
	协议匹配
		-p 协议名
		常用的协议包括tcp、udp、icmp等
	地址匹配
		-s 源地址
		-d 目标地址
		地址可以是单个IP地址、网络地址(带掩码长度)
	接口匹配
		-i 网络接口名
			对应接收数据包的网络接口
		-o 网络接口名
			对应发送数据包的网络接口
隐含条件匹配
	端口匹配
		--sport 源端口
		--dport 目的端口
		端口号之前必须要指明用的是哪种协议
		使用"端口1:端口2"的形式可以指定一个范围的端口
	TCP标记匹配
		使用“--tcp-flags 检查范围 被设置的标记”的形式
		如“--tcp-flags SYN,RST,ACK SYN”表示检查SYN、RST、ACK这3个标记,只有SYN为1时满足条件
	ICMP类型匹配
		使用“--icmp-type ICMP类型”的形式
		ICMP类型可以使用类型字符串或者对应的数值,例如Echo-Request(对应的数值为8)、Echo-Reply(对应的数值为0)
显式条件匹配
	MAC地址匹配
		使用“-m mac”结合“--mac-source MAC地址”的形式
	多端口匹配
		使用“-m multiport”结合“--sports 源端口列表”或者“--dports 目标端口列表”的形式
		多个端口之间使用逗号“,”分隔,连续的端口也可以使用冒号“:”分隔
		举例
			iptables -A INPUT -p tcp -m multiport --dport 9988,8877,6655 -j ACCEPT
	IP地址范围匹配
		使用“-m iprange”结合“--src-range 源IP范围”或者“--dst-range 目标IP范围”的形式
		以“-”符号连接起始IP地址、结束IP地址
几个实例
	在filter表的INPUT链尾追加一条新的规则
		iptables -t filter -A INPUT -p tcp -j ACCEPT
	在filter表的INPUT链首插入一条新的规则
		iptables -I INPUT -p udp -j ACCEPT
	在filter表的INPUT链的第2个位置插入一条新的规则
		iptables -I INPUT 2 -p icmp -j ACCEPT
	更改filter表的INPUT链的默认策略为DROP
		iptables -P INPUT DROP 
	查看filter表的INPUT链的全部规则
		iptables -L INPUT --line
		[root@huyuxuan lianxi]# iptables -L INPUT --line

Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT udp – anywhere anywhere
2 ACCEPT icmp – anywhere anywhere
3 ACCEPT tcp – anywhere anywhere
! 取反

iptables -A FORWARD -p ! icmp -j ACCEPT

这里表示除了icmp协议之外的其他所有协议都ACCEPT,是icmp协议的就拒绝

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-26 12:28:31  更:2021-08-26 12:30:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:41:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码