知春路网站建设公司,网站开发成app,网站开发视频是存储的,vue做网站的好处是什么文章目录 一.linux防火墙基础1.linux 包过滤防火墙概述1.1netfilter1.2 iptables 2.包过滤的工作层次2.1 通信的五元素和四元素 3.iptables 的表、链结构3.1 规则链3.2 默认包括5种规则链3.3 规则表3.4 默认包括4个规则表 二.数据包过滤的匹配流程1.规则表之间的顺序2.规则链之… 文章目录 一.linux防火墙基础1.linux 包过滤防火墙概述1.1netfilter1.2 iptables 2.包过滤的工作层次2.1 通信的五元素和四元素 3.iptables 的表、链结构3.1 规则链3.2 默认包括5种规则链3.3 规则表3.4 默认包括4个规则表 二.数据包过滤的匹配流程1.规则表之间的顺序2.规则链之间的顺序3.规则链内的匹配顺序4.匹配流程示意图5.转换 三.编写防火墙规则1.基本语法1.1 总结1.2 管理选项 2.数据包的常见控制类型3.管理选项.匹配的条件 四添加、查看、删除规则.查看规则.添加规则.删除规则.通用匹配.隐藏扩展模块.显示匹配.IP范围匹配.MAC匹配 一.linux防火墙基础
1.linux 包过滤防火墙概述
1.1netfilter
1位于Linux内核中的包过滤功能体系
2称为Linux防火墙的“内核态”
1.2 iptables
1位于/sbin/iptables用来管理防火墙规则的工具
2称为Linux防火墙的“用户态”
2.包过滤的工作层次
1主要是网络层针对IP数据包
2体现在对包内的IP地址、端口等信息的处理上
2.1 通信的五元素和四元素
五元素源IP、目标IP、源端口、目标端口、协议
四元素源IP、目标IP、源端口、目标端口
3.iptables 的表、链结构
3.1 规则链
1规则的作用:对数据包进行过滤或处理
2链的作用:容纳各种防火墙规则
3链的分类依据:处理数据包的不同时机
3.2 默认包括5种规则链
1INPUT:处理入站数据包
2OUTPUT:处理出站数据包
3FORWARD:处理转发数据包
4POSTROUTING链:在进行路由选择后处理数据包
5PREROUTING链:在进行路由选择前处理数据包
3.3 规则表
1表的作用:容纳各种规则链
2表的划分依据:防火墙规则的作用相似
3.4 默认包括4个规则表
1raw表:确定是否对该数据包进行状态跟踪
2mangle表:为数据包设置标记
3nat表:修改数据包中的源、目标IP地址或端口
4filter表:确定是否放行该数据包(过滤)
二.数据包过滤的匹配流程
1.规则表之间的顺序
raw——mangle——nat——filter
按照表的顺序依次查当前表中的链看链中是否有匹配规则匹配到立即停止若找不到匹配规则则会使用链的默认策略处理。
表里面有链链里面匹配规则
2.规则链之间的顺序
1入站: PREROUTING——INPUT
2出站: OUTPUT——POSTROUTING
3转发: PREROUTING——FORWARD——POSTROUTING
3.规则链内的匹配顺序
1按顺序依次检查匹配即停止 (LOG策略例外)
2若找不到相匹配的规则则按该链的默认策略处理
4.匹配流程示意图
按照顺序查从raw表开始到mangle——nat表——如没有策略到filter表input 让不让数据进来——路由转发——一般不会对出数据进行限制——raw——mangle——nat——filter看是否有策略——nat对数据进行地址转换——出去送达不转换也送达
5.转换
1nat PREROUTING目的地址转换。要把别人的公网ip换成你们内部的ip 2nat POSTROUTING源地址转换要把你的内网地址转换成公网地址才能上网一般用于对外发布内网的服务内网访问外网
三.编写防火墙规则
1.基本语法
1.1 总结
四表五链
规则表的作用:容纳各种规则链
规则链的作用: 容纳各种防火墙规则
总:表里有链链里有规则
1.2 管理选项
表示iptables规则的操作方式如插入、增加、删除、查看等;匹配条件:用来指定要处理的数据包的特征不符合指定条件的数据包将不会处理:控制类型指的是数据包的处理方式如允许、拒绝、丢弃等。
注
不指定表名时默认指filter表不指定链名时默认指表内的所有链一般不这么操作除非设置链的默认策略否则必须指定匹配条件选项、链名、控制类型使用大写字母其余均为小写
2.数据包的常见控制类型
(1)ACCEPT:允许数据包通过。
(2)DROP直接丢弃数据包不给出任何回 应信息
(3)REJECT:拒绝数据包通过必要时会给数据发送端一个响应信息。
(4)SNAT:修改数据包的源地址
(5)DNAT:修改数据包的目的地址
3.管理选项
选项注释示例-A在指定链末尾追加一条iptables -A INPUT 操作-I在指定链中插入一条新的未指定序号默认作为第一条iptables -I INPUT 操作-P指定默认策略iptables -P OUTPUT ACCEPT 操作-D删除iptables -t nat -D INPUT 2 操作-R修改、替换某一条规则iptables -t nat -R INPUT 操作-L查看iptables -t nat -L 查看-n所有字段以数字形式显示比如任意ip地址是0.0.0.0而不是anywhere比如显示协议端口号而不是服务名-v查看时显示更详细信息常跟-L一起使用 查看–line-numbers规则带编号iptables -t nat -L -n --line-number iptables -t nat -L --line-number
选项注释示例-F清除链中所有规则iptables -F 操作-X清空自定义链的规则不影响其他链iptables -X-Z清空链的计数器匹配到的数据包的大小和总和iptables -Z-S看链的所有规则或者某个链的规则/某个具体规则后面跟编号
.匹配的条件
条件作用-p指定要匹配的数据包的协议类型-s指定要匹配的数据包的源IP地址-d指定要匹配的数据包的目的IP地址-i指定数据包进入本机的网络接口-o指定数据包离开本机做使用的网络接口–sport指定源端口号–dport指定目的端口号
四添加、查看、删除规则
.查看规则
粗略查看默认规则
iptables -L数字化的形式查看规则
iptables -nL指定表查看
iptables -t filter -vnL查看指定表中的指定链
iptables -t filter -vnL INPUT ——————不指定表默认就是filter.添加规则
添加规则的两个常用选项 -A在末尾追加规则。 -I在指定位置前插入规则。如果不指定则在首行插入 添加新的防火墙规则时使用管理选项“-A”、“-I”前者用来追加规则后者用来插入规则。
iptables -F————————清空规则如果不写表名和链名默认清空filter表中所有链里的所有规则iptables -t filter -A INPUT -p icmp -j REJECT ——————————禁止所有主机ping本机iptables -t filter -A INPUT -p icmp -j ACCEPT————————————允许ping通-A在前一条规则后添加#匹配到了就不在匹配后面的规则
iptables -t filter -I INPUT 1 -p icmp -j ACCEPT ——————————指定序号插入插入到第一条#即时生效 iptables -t filter -A INPUT -p tcp -j REJECT ——————————禁止任何主机tcpiptables -I INPUT 1 -p udp -j ACCEPT——————允许任何主机udpiptables -nL --line-number #查看行规则的位置拒绝某一台主机其他的可以
iptables -t filter -A INPUT -s 192.168.198.12 -p icmp -j REJECT拒绝多台主机
iptables -t filter -A INPUT -s 192.168.198.12,192.168.198.13 -p icmp -j REJECT不允许的数据包出去其他的就都ping不通了 iptables -t filter -A OUTPUT -s 192.168.198.11 -p icmp -j REJECT指定端口:
iptables -t filter -A INPUT -p tcp --dport 22 -j REJECT
注协议在前指定端口号在后否则识别不了端口无法匹配就会报错iptables -t filter -A INPUT -s 192.168.198.12 -p tcp --dport 80 -j REJECT
指定IP地址的服务端口拒绝.删除规则
D删除
根据序号删除内容
iptables -D INPUT 1——————————删除指定的INPUT链中的第一条规则内容匹配删除有两个相同的则作用为去重 如果有两个重复的规则则删除序号较小的 iptables -D INPUT -p icmp -j REJECT——————删除序号小的.通用匹配
网络协议、IP地址、网络接口等条件。 协议匹配: -p协议名 地址匹配: -s 源地址、-d目的地址 #可以是IP、网段、域名、空(任何地址) 接口匹配: -i入站网卡、-o出站网卡 感叹号”!”表示取反
网络协议
iptables -P INPUT DROP ————其他的服务不受影响这个时候把策略清空所有的协议都将被DROP
iptables -F ————这时只能进虚拟机重启IP地址
iptables -A INPUT -s 192.168.198.12 -j DROP——————————禁止22的数据进入网络接口
iptables -I INPUT 1 -i ens33 -s 192.168.198.0/24 -j DROP————————禁止指定的网络设备名称ens33的所怎么使整个网段不能用指定的端口 iptables -t filter -A INPUT -s 192.168.198.0/24 -p tcp --dport 80 -j REJECT——————————禁止整个网段访问80端口.隐藏扩展模块
iptables在使用-p 指定协议时若指明特定协议后就无须再使用-m指明扩展模块的扩展机制。 例如若已经指明是 -p tcp协议则使用–dport及–sport等tcp模块内容时即可省略-m tcp。
多端口隐藏扩展匹配 iptables -A INPUT -p tcp --dport 22:80 -j REJECT ——————————禁止整个网段访问22和80端口注小的数字写在前面大的写在后面.显示匹配
多端口显示扩展匹配 iptables -A INPUT -p tcp -m multiport --dport 80,22,21,20,53 -j REJECT
多端口匹配一次性禁止多个tcp网络协议的端口匹配规则.IP范围匹配
-m iprange --src-range 源IP范围 -m iprange --dst-range 目的IP范围
iptables -A INPUT -p icmp -m iprange --src-range 192.168.198.20-192.168.198.30 -j REJECT——————禁止网段内的ip地址ping主机.MAC匹配 iptables -A INPUT -m mac --mac-source 00:0c:29:23:65:98 -j DROP