帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
linux 防火墙(firewall)
发布时间:2024-03-06 10:28:10   分类:帮助文档
linux 防火墙(firewall) 一 : 介绍 1.1 防⽕墙是保护机器不受来⾃外部的、不需要的⽹络数据的⼀种⽅式。它允许⽤⼾通过定义⼀组防 ⽕墙规则来控制主机上的⼊站⽹络流量。这些规则⽤于对进⼊的流量进⾏排序,并可以阻断或允 许流量。 1.2 firewalld 是⼀个防⽕墙服务守护进程,其提供⼀个带有 D-Bus 接⼝的、动态可定制的、 基于主机的防⽕墙。如果是动态的,它可在每次修改规则时启⽤、修改和删除规则,⽽不需要在 每次修改规则时重启防⽕墙守护进程。 1.3(区别) 1.3.1 firewalld :使⽤ firewalld 实⽤程序进⾏简单防⽕墙⽤例。此⼯具易于使⽤,并 涵盖了这些场景的典型⽤例 1.3.2 nftables :使⽤ nftables 实⽤程序设置复杂和⾼性能的防⽕墙,如为整个⽹络设 置。 1.3.3 iptables :Red Hat Enterprise Linux 上的 iptables ⼯具使⽤ nf_tables 内 核 API ⽽不是 legacy 后端。 nf_tables API 提供了向后兼容性,以便使⽤ iptables 命令的脚本仍可在 Red Hat Enterprise Linux 上⼯作。对于新的防⽕墙脚 本,红帽建议使⽤ nftables 1.4(联系) RHEL 7 中使⽤ firewalld 服务作为⽤⼾配置防⽕墙规则的⼯具,iptables 作为实现防⽕墙规则的⽤⼾空间实现,因此通过 firewall-cmd 与 iptables 命令⾏均可实现防⽕墙的配置。RHEL 8 中也使⽤ firewalld 服务,但其后端默认通过 nftables 实现防⽕墙规则,iptables也可作为其后端,但为⾮默认配置可通过⼿动⽣效 1.5(Zones 分区) 可以根据⽤⼾对该⽹络中的接⼝和流量设置的信任程度,使⽤ fi rewalld 来将⽹络划分为不同的区。⼀个连接只能是⼀个区的⼀部分,但⼀个区可以被⽤来进⾏很多⽹络连接。 1.5.1(分区工具) NetworkManager 通知接⼝区的 firewalld 。您可以为接⼝分配区: fi rewall- confi g 图形化⼯具 fi rewall- cmd 命令⾏⼯具 后 三 个 只 能 编 辑 适 当 的 NetworkManager 配 置 ⽂ 件 。 如 果 您 使 ⽤ web 控 制 台 fi rewall- cmd 或 fi rewall- confi g 来 更 改 接 ⼝ 的 区 , 则 请 求 将 被 转 发 到 NetworkManager ,且不是由 fi rewalld 来处理。 预定义的区存储在 /usr/lib/fi rewalld/zones/ ⽬录中,并可⽴即应⽤到任何可⽤的⽹ 络接⼝。只有在修改后,这些⽂件才会被拷⻉到 /etc/fi rewalld/zones/ ⽬录中 预定区默认配置有: block :任 何 传 ⼊ 的 ⽹ 络 连 接 都 会 被 拒 绝 , 并 报 IPv4 的 icmp-host-prohibited 消息和 IPv6 的 icmp6-adm-prohibited 消息 。只有从系统启动的⽹络连接才能进⾏。 dmz :对于您的⾮企业化区⾥的计算机来说,这些计算机可以被公开访问,且有限访问您的内部 ⽹络。只接受所选的⼊站连接。 drop :所有传⼊的⽹络数据包都会丢失,没有任何通知。只有外发⽹络连接也是可⾏的。 external :适⽤于启⽤了伪装的外部⽹络,特别是路由器。您不信任⽹络中的其他计算机不会损害您 的计算机。只接受所选的⼊站连接。 home :⽤于家⽤,因为您可以信任其他计算机。只接受所选的⼊站连接。 internal :当您主要信任⽹络中的其他计算机时,供内部⽹络使⽤。只接受所选的⼊站连接。 public :可⽤于您不信任⽹络中其他计算机的公共区域。只接受所选的⼊站连接。 trusted :所有⽹络连接都被接受。 work :可⽤于您主要信任⽹络中其他计算机的⼯作。只接受所选的⼊站连接。 二:防火墙的使用 2.1防火墙的启用 [root@kittod ~ # systemctl unmask firewalld [root@kittod ~ # systemctl start firewalld [root@kittod ~ # systemctl enable firewalld (系统启动时自动启用) 2.2防火墙的停止 [root@kittod ~ # systemctl stop firewalld [root@kittod ~ # systemctl disable firewalld (防止系统启动时自动启动) 2.3 查看防火墙的状态 [root@kittod ~ # firewall- cmd --state [root@kittod ~ # systemctl status firewalld 2.4查看区的状态: [root@kittod ~ # firewall- cmd --list- all(列出默认区的相关信息) [root@kittod ~ # firewall- cmd --list-all-zone=home(列出指定区home的状态) 2.5查看当前区允许哪些服务 [root@kittod ~ # firewall- cmd --list- services 2.6当要禁止网络服务时可以使用以下命令(谨慎使用): [root@kittod ~ # firewall- cmd --panic-on(启用) [root@kittod ~ # firewall- cmd --query- panic(是否关闭) 启⽤ panic 模式可停⽌所有⽹络流量。因此,只有当您具有对机器的物理访问权限或使⽤ 串⾏控制台登录时,才应使⽤它。 2.7列出所有预定的服务 [root@kittod ~ # firewall- cmd --get-services 2.8检查被允许的服务 [root@kittod ~ # firewall- cmd --get-services 2.9添加允许服务 [root@kittod ~ # firewall- cmd --add-service=http 2.10添加永久服务 [root@kittod ~ # firewall- cmd --runtime- to- permanent 2.11 端口的设置: 2.11.1 列出所有允许端口 [root@kittod ~ # firewall- cmd --list- ports 2.11.2 在允许端口中添加端口 [root@kittod ~ # firewall- cmd --add- port=port- number/port- type 2.11.3删除端口 [root@kittod ~ # firewall- cmd --remove- port=port- number/port- type 2.12 区域 2.12.1 列出可用区域 [root@kittod ~ # firewall- cmd - get- zone 2.12.2 查看所有区的详细信息 [root@kittod ~ # firewall- cmd - list- all- zones 2.12.3 查看特定区的信息 [root@kittod ~ # firewall- cmd - zone=zone- name - list- all 2.12.4 更改特定区的设置 [root@kittod ~ # firewall- cmd --add- service=ssh - zone=public 2.12.5 更改默认区 [root@kittod ~ # firewall- cmd --get- default- zone 2.12.6 设置新的默认区 [root@kittod ~ # firewall- cmd --set- default- zone zone- name 2.13 网络接口分配给区 2.13.1 列出启用区域以及接口 [root@kittod ~]# fi rewall- cmd --get- active- zones 2.13.2 为不同的区分配接口 [root@kittod ~]# firewall- cmd --zone=internal -- change- interface=ens224 [root@kittod ~]# firewall- cmd --get- active- zones(查看) 2.14 使用nmcli为连接分配区域 [root@kittod ~]# nmcli connection modify ens256 connection.zone public [root@kittod ~]# firewall- cmd - get- active- zones 2.15 创建一个区 [root@kittod ~]# firewall- cmd --new- zone=testzone --permanent [root@kittod ~]# firewall- cmd --get- zones [root@kittod ~]# firewall- cmd --reload [root@kittod ~]# firewall- cmd --get- zones 2.16 配置区文件 区配置⽂件包含区的信息。这些区描述、服务、端⼝、协议、icmp-blocks、 masquerade、forward-ports 和丰富的语⾔规则采⽤ XML ⽂件格式。⽂件名必须是 * zone- name* .xml , 其 中 zone-name 的 ⻓ 度 限 制 为 17 个 字 符 。 区 配 置 ⽂ 件 位 于/usr/lib/fi rewalld/zones/ 和 /etc/fi rewalld/zones/ ⽬录中 [root@kittod ~]# cd /etc/fi rewalld/zones/ [root@kittod zones]# cp public.xml testzone02.xml [root@kittod zones]# fi rewall- cmd - get- zones block dmz drop external home internal nm- shared public testzone trusted work [root@kittod zones]# fi rewall- cmd --reload success [root@kittod zones]# fi rewall- cmd --get- zones block dmz drop external home internal nm- shared public testzone testzone02 trusted work 2.17设定传入区流量的默认行为 ACCEPT :接受除特定规则不允许的所有传⼊的数据包。 REJECT :拒绝所有传⼊的数据包,但特定规则允许的数据包除外。当 fi rewalld 拒绝数据包时,源机器会发出有关拒绝的信息。 DROP :除⾮由特定规则允许,丢弃所有传⼊数据包。当 fi rewalld 丢弃数据包时, 源机器不知道数据包丢弃的信息。 2.17.1 列出特定区的默认目标 [root@kittod ~ # fi rewall- cmd --zone=zone- name --list- all 2.17.2 设置区中的新目标 [root@kittod ~ # fi rewall- cmd --permanent - zone=zone- name --set target= 三:题目 定义两个虚拟主机 node1, node2 1、在 node1 主机上配置 chrony 时间服务器,将该主机作为时间服务器。 2、在 node1 主机上创建防火墙区域 testzone, 将 node1 主机网络接口接入该区域,创建新防火墙服务为 timeservice 3、在 node1 将该防火墙服务 timeservice 定义为允许 chrony 服务通过。 4、在 node2 主机上配置 chrony 时间客户端,该主机将 node1 主机作为时间源服务器 5、配置完防火墙服务之后,node1 和 node2 主机的时间服务器可以正常工作。 创建一个新区: [root@localhost ~]# firewall-cmd --new-zone=testzone --permanent success [root@localhost ~]# firewall-cmd --get-zones block dmz docker drop external home internal nm-shared public trusted work [root@localhost ~]# firewall-cmd --reload success [root@localhost ~]# firewall-cmd --get-zones block dmz docker drop external home internal nm-shared public testzone trusted wor 将网络接口划入分区 [root@localhost ~]# nmcli connection modify ens160 connection.zone testzone [root@localhost ~]# firewall-cmd --get-active-zones testzone interfaces: ens160 创建新的防火墙服务 [root@localhost ~]# firewall-cmd --new-service=timeservice --permanent success [root@localhost ~]# ll /etc/firewalld/services/ total 4 -rw-r--r--. 1 root root 60 Mar 16 00:02 timeservice.xml vim编辑/etc/firewalld/services/: 查看服务端口的命令: [root@localhost services]# netstat -nultp 将服务timeservice放入public zones 永久放行 public target: default icmp-block-inversion: no interfaces: sources: services: cockpit dhcpv6-client ssh timeservice ports: protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: 时间配置 vim/etc/chrony.conf: node1 server ntp1.aliyun.com iburst allow 192.168.203.132 node2 server 192.168.203.133 iburst (node1的ip) node2 node1
香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价