百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Linux,操作系统,防火墙,Netfilter,命令及操作

nanshan 2025-03-19 14:56 8 浏览 0 评论

Netfilter模块

Netfilter是Linux 2.4.x引入的一个子系统,它作为一个通用的、抽象的框架,提供一整套的hook函数的管理机制,使得诸如数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪成为了可能。

Netfilter的架构就是在整个网络流程的若干位置放置了一些检测点(HOOK),而在每个检测点上登记了一些处理函数进行处理。

查看内核启动的参数(查看Netfilter是否启动):cat
/boot/config-3.10.0-957.e17.x86_64

Netfilter(IP层,网络层)的五个HOOK点的位置

1、NF_IP_PRE_ROUTING:刚刚进入网络层的数据包通过此点(刚刚进行完版本号,校验和等检测), 目的地址转换在此点进行;

2、NF_IP_LOCAL_IN:经路由查找后,送往本机的通过此检查点,INPUT包过滤在此点进行;

3、NF_IP_FORWARD:要转发的包通过此检测点,FORWARD包过滤在此点进行;

4、NF_IP_POST_ROUTING:所有马上便要通过网络设备出去的包通过此检测点,内置的源地址转换功能(包括地址伪装)在此点进行;

5、NF_IP_LOCAL_OUT:本机进程发出的包通过此检测点,OUTPUT包过滤在此点进行。

CentOS6&CentOS7

CentOS6的防火墙-->iptables

---->4表13链,链表之间的关系。

---->iptables-save

CentOS7的防火墙-->firewall-cmd

---->firewall-cmd命令

包状态:数据能否穿透防火墙取决于包的状态。

---->数据包发不出

---->数据包回不来

---->通过内核管理的8个选项:包状态、包类型、源和目的端口、源和目的IP、源和目的mac。

---->管理7层防火墙,7层防火墙是在应用层工作的防火墙,它实时监控保护系统各个方面的行为。保护系统的安全运行,有效地保证系统的正常运行,网络系统安全中有良好的表现。

查看命令的软件包:yum provides iptables

读取配置文件:
/etc/sysconfig/iptables-config

firewall服务和firewall命令以及firewall区域

firewall-cmd:

---->firewall,根据区域来判断规则。

---->firewall-cmd --

---->firewall-cmd --get-zones

区域(9个):block(阻塞)、dmz(非军事交战区或隔离区)、drop(丢弃)、external、home、internal、public、trusted、work

drop,接收的任何网络数据包都会被丢弃,没有任何回复,仅能有发送出去的网络连接。

block,接收的任何网络数据包都被 IPv4 的 icmp-host-prohibited 信息和 IPv6 的 icmp6-adm-prohibited 信息所拒绝。

public,在公共区域内使用,不能相信网络内的其他计算机不会对你的计算机造成危害,只能接收经过选取的连接。

external,特别是为路由器启用了伪装功能的外部网,你不能信任来自网络的其他计算机,不能相信他们不会对你的计算机造成危害,只能接收经过选取的连接。

dmz,用于你的非军事区内的电脑,此区域内可公开访问,可以有限地进入你的内部网络,仅仅接收经过选取的连接。

work,用于工作区,你可以基本相信网络内的其他计算机不会危害你的电脑,仅接收经过选取的连接。

home,用于家庭网络,你可以基本相信网络内的其他计算机不会危害你的电脑,仅接收经过选取的连接。

internal,用于内部网络,你可以基本相信网络内的其他计算机不会危害你的电脑,仅接收经过选取的连接。

trusted,可以接收所有的网络连接。

动态管理防火墙:支持zones管理的防火墙,firewall按传入流量划分区域。

逻辑说明:1、如果传入的数据的Saddr,和区域的某个S规则匹配,就把这个包通过这路由;2、接口相同;3、默认区域。

具体操作:

查看所有区域:firewall-cmd --list-all
查看某个区域:firewall-cmd --zone=public--list-all
查看默认区域:firewall-cmd --get-default-zone
查看所有区域(激活的、可用的):firewall-cmd --get-zones
查看正在所用的区域(启用的):firewall-cmd --get-active-zones
查看防火墙的状态:firewall-cmd --state
查看防火墙支持的所有协议:firewall-cmd --get-services
查看协议icmp所支持的类型:firewall-cmd --get-icmptypes
查看网卡在哪个区域:firewall-cmd --get-zone-of-interface=ens33
查询当前区域内支持的服务:firewall-cmd --list-services
查询当前区域内支持的端口:firewall-cmd --list-ports
更改当前区域:firewall-cmd --set-default-zone=internal
某个网卡绑定到区域内:firewall-cmd --zone=work --add-interface=eth1
某个网卡更改绑定到区域:firewall-cmd --zone=work --change-interface=eth1
某个网卡更改移除到区域:firewall-cmd --zone=work --remove-interface=eth1
某个网卡查看绑定某个区域:firewall-cmd --zone=work --query-interface=eth1
区域内允许使用http协议:firewall-cmd --zone=work --add-service=http
区域内移除使用http协议:firewall-cmd --zone=work --remove-service=http
区域内查询使用http协议:firewall-cmd --zone=work --query-service=http
区域内允许使用80端口:firewall-cmd --zone=work --add-port=80/tcp
区域内允许使用20到30端口:firewall-cmd --zone=work --add-port=20-30/tcp
区域内拒绝使用20到30端口(本身不允许):firewall-cmd --zone=work --remove-port=20-30/tcp
上网伪装:
允许work区域访问外网:firewall-cmd --zone=work --add-masquerade
拒绝work区域访问外网:firewall-cmd --zone=work --remove-masquerade
查询work区域访问外网:firewall-cmd --zone=work --query-masquerade
禁止阻塞应答包:firewall-cmd --zone=work --add-icmp-block=ech0-reply
查询阻塞应答包:firewall-cmd --zone=work --query-icmp-block=ech0-reply
移除阻塞应答包:firewall-cmd --zone=work --remove-icmp-block=ech0-reply
禁止阻塞请求包:firewall-cmd --zone=work --add-icmp-block=ech0-request
查询阻塞请求包:firewall-cmd --zone=work --query-icmp-block=ech0-request
移除阻塞请求包:firewall-cmd --zone=work --remove-icmp-block=ech0-request
数据包的转发:
firewall-cmd --zone=work --add-forward-port=[-port]:proto={:toport=port|:toaddr=
} firewall-cmd --reload 端口转发(80端口转到192.168.1.2的8080端口):firewall-cmd --zone=work --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.2 移除端口转发:firewall-cmd --zone=work --remove-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.2
富策略:策略中的特例
firewall-cmd --zone=public --list-rich-rules
inverse---->取反
语法:
rule family=<ipv4/ipv6> source adddress=<ip/mask> invet=true destination address=<ip/mask> invet=true server name=<服务名> port=<服务端口> protocol=<tcp/udp>  <drop/reject/accept/log/adit>
举例:
从1.1.1.1过来的地址,访问8888端口,转到80端口:
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=1.1.1.1/8 forward-port port=8888 protocol=tcp to-port=80'
阻止可疑的IP地址访问:
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=10.0.0.0/24 drop'
限制某个协议每分钟允许访问3次(限流的作用):
firewall-cmd --permanent --add-rich-rule='rule service name=ssh accept limit value=3/m'
伪装IP,允许192.168.0.0/24访问:
firewall-cmd --permanent -zone=dmz ---add-rich-rule='rule family=ipv4 source address=192.168.0.0/24 masquerade' 
开放服务器的端口:
firewall-cmd --permanent --zone=public --add-port=22/tcp 
firewall-cmd --permanent --zone=public --add-port=100-500/tcp
firewall-cmd --reload

允许某个IP/IP地址段访问某个端口:
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" accept"
firewall-cmd --reload

限制某个IP访问某个端口:
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" reject"
firewall-cmd --reload
防火墙的规则文件:
vi /etc/firewalld/zones/public.xml

相关推荐

小白初学linux之无法修改系统分辨率

/*此文是做为自己的一个总结还有就是最好也可以给大家提供一些帮助。*/时间:2020年7月14日11:28:41我安装的是Ubuntu20.04LTS,昨天处理的是,grub的引导问题,因为是...

Ubuntu 如何启动、停止或重启服务

在本文中,我们向您介绍在Ubuntu中启动、停止和重启服务的方法。列出Ubuntu中的所有服务在开始之前,先获取计算机上所有服务的列表,因为我们需要知道服务名称来管理服务。service--...

Win11学院:如何在Windows 11上使用WSL安装Ubuntu

IT之家2月18日消息,科技媒体pureinfotech昨日(2月17日)发布博文,介绍了3中简便的方法,让你轻松在Windows11系统中,使用WindowsSubs...

Linux安装中文输入法-Google拼音输入法,搜狗输入法

主要步骤,选择适合自己的尝试:1)卸载之前没装好的搜狗输入法。@:~/Downloads$sudoapt-getremovefcitx*删除依赖库@:~/Downloads$sudoap...

Ubuntu 22.04 请谨慎使用搜狗输入法,可能是你当机原因

在Ubunutu下没有什么有名的输入法,也就听说搜狗输入法有Linux版本,所以特意到官网去找了下载。在Ubuntu新版本里,他仍然用的是fcitx框架的输入引擎,而不是默认的ibus,所以要先把i...

前钢后胶!徐工XMR403VT小型压路机有点意思

【第一工程机械网原创】在越来越注重施工品质,对项目管理越来越精细化的今天,施工方在施工设备选择上,也越来越讲究设备的配套分工,因此小型压路机的应用场景也越来越多。徐工XMR403VT小型压路机高度集...

图大明白 | 404错误为什么是Not Found?为什么是404?

“404错误”大家都不陌生吧?常规来讲它长这样或者长这样艺术一点的长这样404NotFound意思就是所请求的页面不存在或者已被删除被称为“互联网最后一个界面”有很多同学发出疑问:为什么是404?...

Nginx负载均衡安全配置说明2(nginx负载均衡部署)

上一节,我们对Nginx安全配置的几个知识点做了一个说明,例如限制IP访问、文件目录禁止访问限制、需要防止DOS攻击、请求方法的限制和限制文件上传的大小这个进行了一个分析说明,详细的文章请关注我的头条...

惊艳写真系列第403期,本期主人公—叶青

惊艳写真系列第403期,本期主人公—叶青制作不易,欢迎各位看官提供宝贵意见。如果您喜欢记得关注,么么哒。您的每一份点赞和关注都是对作者的最大认可(图片素材均来源于网络,如有侵权联系删除。)本篇是写惊艳...

先秦布币之尖足布、圆足布、方足布,今年圆足最高拍卖价16万一枚

在战国魏、韩地区诞生桥足平首布、锐角平首布之后,赵也诞生了尖足平首布,并且在尖足布的基础上,后来相继派生出了圆足布、三孔布,以及类圆足布和类方足布。一尖足布尖足布是从耸肩尖足空首布演变而来的,是黄河...

403 禁止访问错误的全面排查与解决方案

当遇到403Forbidden错误时,意味着服务器已接收并理解请求,但拒绝执行访问操作。以下从用户端、服务器端等多个维度,提供分步排查与解决方法。一、用户端基础排查1.检查URL准确性确认...

这才是2019年夏最高颜值的泳装(2019夏季泳装秀)

最近的天气是越来越热了,又到了暑期泳衣勇闯海滩的时刻了,打开ins,微博满满地都是各大博主晒的泳装照,明星们也纷纷跑到海边去度假了。虽然我们没有超模般地身材,但是到了海边我们也要成为人群中最亮眼的那颗...

朋友圈爆火!这组《衡中班主任的一天》漫画,感动了无数人!

很多人觉得做老师很轻松他们说有些老师一天一节课就下班了有双休,还有寒暑假,真让人羡慕呀······但事实真是这样吗?最近衡水中学的赵心扬同学画了一组漫画形象地还原了衡中班主任一天的生活那么衡中班主任一...

国家安全教育 | 一组漫画,带你走进国家安全!

当前,我国面临哪些安全威胁?下面带你来看一组漫画!①你要配合,注意保密。我绝不对别人讲。②这件事,千万别对别人讲。③咱单位的…喂!老k!你要当心,有风声了!④你的泄密行为已触犯了国家法律!①请你协助了...

400、403、404、405,访问网页时出现这些代码是什么意思?

今天小泽访问一个页面时,出现了403,很抱歉,您的访问请求被禁止的提示。相信经常用电脑访问网页的朋友都遇到过这种情况,有的网页提示错误代码403,有的提示404,那这些代码都代表了什么呢?有什么含义呢...

取消回复欢迎 发表评论: