范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

关于Linux中firewalld的一些笔记整理

  写在前面嗯,今天和小伙伴们分享一些 firewall 的笔记 内容涉及:  zone  的介绍具和具体规则的添加服务,端口和协议,ICMP 阻塞,SNAT/DNAT,IP伪装,端口转发等Demofirewall  离线命令(服务未启动规则预设方式)理解不足小伙伴帮忙指正
  傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。--------王小波
  系统服务 firewalld 主要用于 管理防火墙链和规则,相对于  iptables.services  ,它更灵活,表意性更强。对应的管理工具:firewall-cmd、firewall-config。
  需要说明的是,如果你在启动  firewalld  服务之前,使用 ipatables  添加了一些防火墙规则,那么,在启动后,添加的规则会消失。 iptables 是一个 内核命令。他不需要任何服务就可以使用 ,而 iptables.service  , firewalld.service  是用于 管理 iptables 链和规则的工具,它们存在的意义即可以在系统启动时自动加载保存的防火墙规则,在关机时卸载对应的规则。 单纯的通过 iptables  命令设置的 防火墙规则是基于内存的,类似 /proc  目录一样,会随着系统重启消失。
  所以如果你通过命令  iptables  配置了对应的规则。那么在开启 firewalld  之前一定要导出 之前配置的 iptables  规则。 [root@vms152.liruilongs.github.io]-[~]  $iptables-save > ips
  先来看下区域这个概念: 什么是区域?   What is a zone?        A network zone defines the level of trust for network connections. This is a one to many        relation, which means that a connection can only be part of one zone, but a zone can be used        for many network connections.         The zone defines the firewall features that are enabled in this zone:         Predefined services            A service is a combination of port and/or protocol entries. Optionally netfilter helper            modules can be added and also a IPv4 and IPv6 destination address.         Ports and protocols            Definition of tcp or udp ports, where ports can be a single port or a port range.         ICMP blocks            Blocks selected Internet Control Message Protocol (ICMP) messages. These messages are            either information requests or created as a reply to information requests or in error            conditions.         Masquerading            The addresses of a private network are mapped to and hidden behind a public IP address.            This is a form of address translation.         Forward ports            A forward port is either mapped to the same port on another host or to another port on            the same host or to another port on another host.         Rich language rules            The rich language extends the elements (service, port, icmp-block, masquerade,            forward-port and source-port) with additional source and destination addresses, logging,            actions and limits for logs and actions. It can also be used for host or network white            and black listing (for more information, please have a look at            firewalld.richlanguage(5)).         For more information on the zone file format, please have a look at firewalld.zone(5).
  帮助文档查看  [root@vms152.liruilongs.github.io]-[/var/spool]  $man firewalld.zones| cat
  区域用于定义了在该区启用的防火墙功能: 一个网络区域定义了网络连接的信任级别 。这是一种一对多的的关系,这意味着一个连接只能是一个区域的一部分,但一个区可以被用于许多网络连接。可以把区域理解为一堆防火墙规则的别名。这些规则可以是常见的:服务,端口和协议,ICMP 阻塞,NAT,IP伪装,端口转发 等
  查看当前防火墙的默认区域  [root@vms153.liruilongs.github.io]-[~]  $firewall-cmd  --state running  [root@vms153.liruilongs.github.io]-[~]  $firewall-cmd --get-default-zone trusted
  可以设置的区域  [root@vms153.liruilongs.github.io]-[~]  $ firewall-cmd --get-zones block dmz drop external home internal public trusted work
  这些是由 firewalld 提供的区域,根据区域的默认信任级别从不受信任到受信任排序: drop:任何传入的网络数据包都被丢弃,没有回复。只能进行传出网络连接。 block:任何传入的网络连接都会被 icmp-host-prohibited 消息拒绝,IPv4 和 icmp6-adm-prohibited IPv6。只有在此系统内发起的网络连接是可能的。 public:用于公共场所。您不相信网络上的其他计算机不会损害您的计算机。仅接受选定的传入连接。 external:用于启用伪装的外部网络,尤其是路由器。您不相信网络上的其他计算机不会损害您的计算机。仅接受选定的传入连接。 dmz:对于您的非军事区中的计算机,这些计算机可公开访问,但对您的内部网络的访问权限有限。仅接受选定的传入连接。 work: 用于工作区域。您大多相信网络上的其他计算机不会损害您的计算机。仅接受选定的传入连接。 home:用于家庭区域。您大多相信网络上的其他计算机不会损害您的计算机。仅接受选定的传入连接。 internal:用于内部网络。您大多相信网络上的其他计算机不会损害您的计算机。仅接受选定的传入连接。 trusted:接受所有网络连接。
  一般情况下,我们用的比较多是  trusted  和 public  这两个区域。 trusted  一般用与添加类似黑名单一样的规则 ,public  添加类似白名单规则,。
  关于区域的其他的一些命令:
  设置查看默认区域  [root@vms152.liruilongs.github.io]-[~]  $firewall-cmd --set-default-zone=work success  [root@vms152.liruilongs.github.io]-[~]  $firewall-cmd --get-default-zone work
  指定网卡设置查看区域  [root@vms152.liruilongs.github.io]-[~]  $firewall-cmd --get-zone-of-interface=ens32 no zone  [root@vms152.liruilongs.github.io]-[~]  $firewall-cmd --zone=public --add-interface=ens32 success  [root@vms152.liruilongs.github.io]-[~]  $firewall-cmd --get-zone-of-interface=ens32 public
  查看所有网卡的区域  [root@vms152.liruilongs.github.io]-[~]  $firewall-cmd  --get-active-zones public   interfaces: ens32  [root@vms152.liruilongs.github.io]-[~]  $ 规则添加
  设置好区域之后,我们需要添加对应的规则,这里我们以  public  和 trusted  这两个区域为例:
  注意: 添加完规则一定要重载才可以使配置生效
  当前在 public  区域,我们期望运行一些端口通信或者服务,添加某些允许的规则添加 允许服务通信 [root@vms152.liruilongs.github.io]-[~]  $firewall-cmd --add-service=http success 添加允许 端口/协议通信 [root@vms152.liruilongs.github.io]-[~]  $firewall-cmd --add-port=30001/tcp success  [root@vms152.liruilongs.github.io]-[~]  $firewall-cmd --add-port=30005/udp success
  可以通过  firewall-cmd --list-all  查看当前端口的预设区域信息 [root@vms152.liruilongs.github.io]-[~]  $firewall-cmd --list-all trusted   target: ACCEPT   icmp-block-inversion: no   interfaces:   sources:   services: http   ports: 30001/tcp 30005/udp   protocols:   masquerade: no   forward-ports:   source-ports:   icmp-blocks: timestamp-request timestamp-reply   rich rules:   [root@vms152.liruilongs.github.io]-[~]  $
  当前在  trusted  区域,我添加一些 icmp  协议的限制的规则,用于解决,ICMP 时间戳请求响应漏洞添加 icmp-block 规则 [root@vms16.liruilongs.github.io]-[~]  $firewall-cmd --add-icmp-block=timestamp-request --permanent success  [root@vms16.liruilongs.github.io]-[~]  $firewall-cmd --add-icmp-block=timestamp-reply --permanent success  [root@vms16.liruilongs.github.io]-[~]  $firewall-cmd --reload success  [root@vms16.liruilongs.github.io]-[~]  $firewall-cmd --list-icmp-blocks timestamp-request timestamp-reply
  查看区域的全部规则信息  [root@vms16.liruilongs.github.io]-[~]  $firewall-cmd  --list-all trusted   target: ACCEPT   icmp-block-inversion: no   interfaces:   sources:   services:   ports:   protocols:   masquerade: no   forward-ports:   source-ports:   icmp-blocks: timestamp-request timestamp-reply   rich rules: 配置 NAT
  NAT 的出现,缓解了 IP 不够用的问题,使得我们可以通过 局域网访问到公网,实现私有 IP 到公共 IP 不同网段的访问,可以通过一台 Linux 机器,开启路由功能,通过 iptables 的 NAT 路由转发表实现。 使用 firewalld,可以配置以下网络地址转换(NAT)类型: IP 伪装 源 NAT,SNAT(Source Network Address Translation) 目标 NAT(DNAT) 重定向
  需要做一些准备工作。开启 ipv4 的地址转发  [root@vms152.liruilongs.github.io]-[~]  $echo "net.ipv4.ip_forward = 1" >>  /etc/sysctl.conf  [root@vms152.liruilongs.github.io]-[~]  $sysctl -p net.ipv4.ip_forward = 1  [root@vms152.liruilongs.github.io]-[~]  $ 伪装和源 NAT(SNAT)
  配置开启 IP 地址伪装  [root@vms152.liruilongs.github.io]-[~]  $firewall-cmd --zone=external --add-masquerade success  [root@vms152.liruilongs.github.io]-[~]  $firewall-cmd --zone=external --query-masquerade yes  [root@vms152.liruilongs.github.io]-[~]  $firewall-cmd --zone=external --delete-masquerade --permanent
  更改数据包的源 IP 地址 。例如,互联网服务提供商不路由私有 IP 范围,如 10.0.0.0/8。如果您在网络中使用私有 IP 范围,并且用户应该能够访问 Internet 上的服务器,需要将这些范围内的数据包的源 IP 地址映射到公共 IP 地址。
  比如提供的 公网 IP 为  39.27.24.141 , 你通过这个公网 IP 请求服务,实际你在内网机器 192.168.26.3  上面发出请求,使用 NAT 做了映射,根据 参考模型,网络层会添加目标端和源端的 IP 地址,通过 路由寻址获取下一跳地址,但是你请求源端地址是 192.168.26.3  这个 私有 IP 地址,所以公网 IP 的服务,没办法响应你的请求,那这个时候你可以更改 192.168.26.3  这个私有 IP 为做 NAT 的对应公网,否则数据出的去,但是回不来。
  伪装和  SNAT  相互类似。不同之处是:伪装自动使用传出接口的 IP 地址。因此,如果传出接口使用了 动态 IP 地址,则使用伪装 。SNAT 将数据包的源 IP 地址设置为指定的 IP 地址,且不会动态查找传出接口的 IP 地址。因此, SNAT 要比伪装更快 。如果传出接口使用了固定 IP 地址,则使用 SNAT
  配置 SNAT
  内部访问外部,将 source ip 为src_net 网段来的数据包伪装成external 区域对应的网卡的地址
  rich规则 firewall-cmd --zone=external --permanent   --add-rich-rule="rule family="ipv4" source address="" masquerade’
  设置NAT规则也可实现(设置POSTROUTING),将 源IP  192.168.100.0/24  修改为 eth0  对应的IP地址,修改后的地址可以是 区域或者IP或则网卡firewall-cmd --permanent --direct   --passthrough ipv4 -t nat POSTROUTING -o eth0 -j MASQUERADE -s 192.168.100.0/24  firewall-cmd --permanent --direct   --passthrough ipv4 -t nat -A POSTROUTING -s  -j SNAT --to-source  firewall-cmd --permanent --direct   --passthrough ipv4 -t nat POSTROUTING -o ens0 -j MASQUERADE -s  目标 NAT(DNAT)
  使用此 NAT 类型重写传入数据包的目标地址和端口。例如,如果您的 Web 服务器使用私有 IP 范围内的 IP 地址,那么无法直接从互联网访问它,您可以在路由器上设置 DNAT 规则,以便将传入的流量重定向到此服务器。 firewall-cmd  --permanent --direct   --passthrough ipv4 -t nat -A PREROUTING -d  -j DNAT --to-destination  重定向(端口转发)
  这个类型是 IDT 的特殊示例,它根据链 hook 将数据包重定向到本地机器。例如,如果服务运行在与其标准端口不同的端口上,您可以将传入的流量从标准端口重定向到此特定端口。
  将访问本机’external_port’端口流量转发到’internal_ip’ firewall-cmd --zone=external --permanent   --add-forward-port=port=:proto=tcp:toaddr=
  将访问本机’external_port’端口流量转发到’internal_ip’的’internal_port’ firewall-cmd --zone=external --permanent   --add-forward-port=port=:proto=tcp:toport=:toaddr=  区域 Target和信任源IP
  target是就是对该区域内流经的数据包作最终的处理动作, firewall-cmd --zone=public --set-target=DROP
  要允许来自特定IP地址(或范围)的所有传入流量,使用–zone选项指定区域,并使用–add-source选项指定源IP firewall-cmd --zone=public --add-source=192.168.100.10 防火墙区域预设(防火墙离线命令)
  如果我们希望在防火墙启动之前设置相关区域,比如  K8s  集群中,在集群部署中我们关闭的 firewalld  ,但是在之后的运维中我们需要开启防火墙,比如处理漏洞,那么这个时候我们可用通过 firewall-offline-cmd  命令来 在 firewalld  为启动之前设置区域或者规则。
  注意的是:需要成为  root  用户才能使用 firewall-offline-cmd 。firewall-offline-cmd 只能提供有关永久环境的信息,也可以更改它。它使用带文件 IO 处理程序的 firewalld 核心。 firewall-offline-cmd 可以在 firewalld 运行时使用,但不推荐使用。大约五秒钟后,使用 firewall-offline-cmd 所做的更改会在防火墙中可见。
  帮助文档查看  [root@vms152.liruilongs.github.io]-[~]  $man firewall-offline-cmd
  看一个 Demo ,在运行的  k8s  集群中我们遇到了一个漏洞,解决这个漏洞需要开启防火墙。但是防火墙默认的区域是 public  ,它会限制 k8s 的一些节点通信端口,并且会影响集群上的 SDN ,所以我们需要在启动之前设置为 trusend  [root@vms152.liruilongs.github.io]-[~]  $firewall-cmd --get-default-zone FirewallD is not running  [root@vms152.liruilongs.github.io]-[~]  $firewall-cmd --state not running  [root@vms152.liruilongs.github.io]-[/var/spool]  $firewall-offline-cmd --version 0.6.3
  当前防火墙未启动,通过命令修改默认区域  [root@vms152.liruilongs.github.io]-[/var/spool]  $firewall-offline-cmd --get-default-zone public  [root@vms152.liruilongs.github.io]-[/var/spool]  $firewall-offline-cmd --set-default-zone=trusted success  [root@vms152.liruilongs.github.io]-[/var/spool]  $firewall-offline-cmd --get-default-zone trusted
  然后我们启动防火墙,查看设置的区域  [root@vms152.liruilongs.github.io]-[/var/spool]  $systemctl start firewalld.service  [root@vms152.liruilongs.github.io]-[/var/spool]  $firewall-cmd --get-default-zone trusted 博文参考
  https://firewalld.org/documentation/zone/predefined-zones.html
  https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/8/html/securing_networks/assembly_configuring-nat-using-firewalld_using-and-configuring-firewalld
  https://blog.51cto.com/huanghai/2656485

首次官宣离婚!全网恭喜她19年了,终于不用再装恩爱了01hr关于婚姻,博士很喜欢导演娄烨讲过的一句话,大意是很多人不知道怎么爱找不到爱的方法,抑或是爱得太过分。多数爱情,不过是一张PS过的照片。深以为然。热恋的激情,让感情在玫瑰色的洪金宝老婆56岁风韵不减!穿亮片旗袍裙雍容华贵,太给洪金宝长脸旗袍作为最古典的单品之一,一直深受成熟女性喜爱,它的韵味满满,线条剪裁流畅,优势是能完全展现出穿搭者的身材曲线,特别适合身材纤细的美眉,颇有江南女子的风情。不过大家在穿旗袍时也要注林志颖老婆公开炫富,开百万豪车,拎22万名包,膝盖青紫是咋了?近日,林志颖老婆陈若仪外出逛街被有关媒体拍到,陈若仪这次是单独出街,没有林志颖的陪伴,也没有三个孩子的身影,看来她这次是难得的清闲啊。当天的陈若仪看起来心情很不错,在逛街的时候还顺同样是大龄装嫩,把章子怡刘涛和赵丽颖放一起对比,差距就出来了不知道大家有没有发现,影视剧里的大龄装嫩现象已经见怪不怪了,但是为啥大家都是大龄装嫩,把章子怡刘涛与赵丽颖谭松韵放在一起,差距就立马显现出来了呢?章子怡少女感缺失,大龄装嫩显尴尬提冉莹颖晒一家人日常!9岁邹明轩变胖不少,仨儿子继承父母高颜值近日,邹市明的妻子冉莹颖在社交平台上分享了一段居家视频,视频中冉莹颖三个孩子和丈夫邹市明都有出镜,她表示虽然疫情在家,但是陪伴很宝贵。冉莹颖和邹市明的大儿子邹明轩已经成长了很多,92022年2000元2500元手机强烈推荐5款,下次讲一般推荐的4款推荐原则相同价位性价比较高,配置参数相对比较均衡,不存在明显的短板,但是,因为机型太多和不同用户对于系统品牌外观拍照等的要求也不尽相同,所以推荐中可能会有个人主观色彩在里面,也欢迎OPPOA12s已悄悄量产,5500mAh加持,1399买到8256G说起来,OPPO除了FindRenoK系列,还有A系列这样物价格也实惠的千元机,定价999起,才是真的千元机!现在OPPOK10系列已经上线,不知道大家满不满意呢,这几年的国产千元教练球员双满贯,杨鸣终于证明自己,下赛季带队全力卫冕在40击败了广厦之后,杨鸣露出了笑容,对于他来讲,身上的压力太大了。在郭士强辞职后,马丁内斯接任,执教到赛季结束,随后杨鸣成为主教练,在此之前杨鸣没有任何的助教经历。能够明显感觉到回顾篮网的失败赛季三大弱点太过致命,休赛期任务艰巨当篮网最终以东部第七的名次进入季后赛的时候,当他们的对手确定是下半赛季表现最为强势的球队之一的凯尔特人时,已经有很多人猜到,篮网很可能会过不了首轮,但相信没多少人会预料到,篮网会以休赛期该练练罚球了,外线球员罚球命中率最低的不到50CBA本赛季已经结束,首先恭喜辽宁男篮再次登顶,也恭喜赵继伟拿下最有价值球员。看了CBA整个季后赛有个最大的感受就是我们的罚球怎么那么差。整个季后赛期间罚球命中率不到65的主力外线山东男篮交易高顺位摘下王岚钦,是否可行?最近,有传闻说,山东男篮意图交易高顺位选秀权,力争在选秀大会上摘下来自清华大学的王岚钦。其实,如果此事成行,还真的可以补强山东男篮。但问题是,这件事可行吗?需要什么条件才能够实现?
自驾海南之途中记事2022年1月中旬临近春节来临之际,疫情又在国内成点状式散发。多省出现本土病例,形势颇为紧张。政府一方面有序抗疫,一方面倡导人们就地过年。女儿也决定在工作地过年。学校开始放寒假了。尿酸高的人能吃羊肉吗?提醒不想肾脏受伤,尽量远离这3物体内尿酸水平呈现于过高状态对于机体肾脏部位肝脏部位带来了实质性影响,根据临床医学研究表明体内尿酸堆积过多得不到充足的消耗以及代谢过程转化为尿酸结晶堆积于血管表层组织部位。人体尿酸超影响寿命长短的,或并非疾病和衰老,重要的是这4条养生准则导语神龟虽寿,犹有竟时。中国千百年来有无数个皇帝想要追求长生不老,秦始皇修建陵墓炼制丹药,就是为了与山同寿与海同岁,但若想延长寿命吃丹药是没用的。与寿命长短有关的有哪些因素呢?案例便便变黑色了是咋回事?柯大夫,你好。今天早上,我迷迷糊糊起床去上大号,完事了回头冲马桶的时候,看到粑粑竟然是黑色的!这是怎么回事?要紧吗?家医柯大夫人的正常大便一般呈现为黄色,出现黑色样便,一般先考虑以为举办奥运会,耗费34亿建造的鸟巢,13年过后,赔了还是赚了?奥林匹克运动,起源于两千年前的古希腊,因为它的起源地是在奥林匹克,因而得名。1894,被尊称为奥林匹克之父的法国教育家顾拜旦决定成立国际奥委会开创奥林匹克运动,在今天奥林匹克运动也我们不知道恐龙灭绝在哪一年,但现在知道死亡在春天来临我们早就知道大约6600万年前发生了一场灾难,在一个地质瞬间,地球上75的植物和动物都灭绝了,包括所有陆生恐龙。但关于那次事件有一个新的细节尽管我们不能准确地说出灾难发生在哪一年,这些车企没能撑到2022的春天在上一篇稿件中,我们对2021年中国新能源汽车产业的蓬勃发展进行了回顾,但这并不就意味着2021车市一片祥和,能容得下部分后进生划水。疫情肆虐,缺芯缺电资金短缺产能不足市场竞争日益散文随着春天的内在气息,去舞蹈与创造作者芷默送走锣鼓喧天的年,春的气息便悠悠荡逸出来,如小猫奶白色的绒毛,酥酥软软地拂过耳际,将本已蠢蠢欲动的心,挠得风浪四起又像鼓着劲儿的种子,猝不及防地在人们心里破土,又无声无息地哈登从场均16。8分到25。9分却无缘MIP,当时他输给谁?20112012赛季,哈登打了62场比赛,场均上场31。4分钟,场均贡献16。8分4。1个篮板3。7次助攻1次抢断0。2次盖帽,获得了最佳第六人的奖项,不过他在总决赛中的表现非常糟姚明为什么怕包夹?为什么要包夹姚明,因为没人能防住啊,姚明在NBA的那些年遇到都是些什么对手呢?我们着重提一下国人自封的。大姚宿命对决的对手,大鲨鱼沙奎尔,奥尼尔首先不提巅峰期的奥尼尔,大姚没有打过备受争议的安贤洙在中国与俄罗斯的待遇如何?()。韩国国内对中国短道速滑队技术教练维克多安(安贤洙)的舆论批评仍在继续。3,1。他从韩国的冰上英雄变成了俄罗斯的冰上英雄。在