Linux教程

2021-07-12 linux学习-网络方面(四) 配置防火墙之firewalld命令行

本文主要是介绍2021-07-12 linux学习-网络方面(四) 配置防火墙之firewalld命令行,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 RHEL 8系统中集成了多款防火墙管理工具,其中firewalld(Dynamic Firewall Manager of Linux systems)服务是默认的防火墙配置管理工具,也叫Linux系统的动态防火墙管理器。 

 双击tab会出现命令提示选项

配置防火墙之firewalld

查看当前默认的区域 firewall-cmd --get-defaul-zone 

[root@linuxprobe ~]# firewall-cmd --get-default-zone 
public

查看网卡绑定的区域 firewall-cmd --get-zone-of-interface=ens160

[root@linuxprobe ~]# firewall-cmd --get-zone-of-interface=ens160
public

修改默认区域 firewall-cmd --set-default-zone=dmz

[root@linuxprobe ~]# firewall-cmd --set-default-zone=dmz
success
oot@linuxprobe ~]# firewall-cmd --get-default-zone 
dmz
[root@linuxprobe ~]# firewall-cmd --get-zone-of-interface=ens160
dmz

修改网卡默认区域  firewall-cmd --zone=public --change-interface=ens160

[root@linuxprobe ~]# firewall-cmd --zone=public --change-interface=ens160 
success
[root@linuxprobe ~]# firewall-cmd --get-zone-of-interface=ens160
public

五 启动和关闭紧急模式

    紧急模式下,会切断一切网络连接

   1 启动紧急模式 firewall-cmd --panic-on

[root@linuxprobe ~]# firewall-cmd --panic-on
success

   2 关闭紧急模式  firewall-cmd --panic-off

[root@linuxprobe ~]# firewall-cmd --panic-off
success

查询指定服务的流量是否放行 firewall-cmd --zone=public --query-service=ssh

                                                    firewall-cmd --zone=public --query-service=https

[root@linuxprobe ~]# firewall-cmd --zone=public --query-service=ssh
yes
[root@linuxprobe ~]# firewall-cmd --zone=public --query-service=https
no

七 把指定服务的流量设置为永久放行并立即生效  firewall-cmd --permanent --zone=public --add-service=https

                                                                               firewall-cmd --reload

[root@linuxprobe ~]# firewall-cmd --permanent --zone=public --add-service=https
success
[root@linuxprobe ~]# firewall-cmd --reload
success
[root@linuxprobe ~]# firewall-cmd --zone=public --query-service=https
yes

八 把指定服务的流量设置为永久拒绝并立即生效  firewall-cmd --permanent --zone=public --remove-service=https

                                                                               firewall-cmd --reload

[root@linuxprobe ~]# firewall-cmd --permanent --zone=public --remove-service=https
success
[root@linuxprobe ~]# firewall-cmd --reload
success
[root@linuxprobe ~]# firewall-cmd --zone=public --query-service=https
no

九 把指定端口的流量设置为允许  firewall-cmd --zone=public --add-port=8080-8081/tcp

                                                     firewall-cmd --zone=public --list-ports

[root@linuxprobe ~]# firewall-cmd --zone=public --add-port=8080-8081/tcp
success
[root@linuxprobe ~]# firewall-cmd --zone=public --list-ports
8080-8081/tcp

十 把访问端口转发为另一个端口并长期有效  firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.10.20

                                                                       firewall-cmd --reload

[root@linuxprobe ~]# firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.10.20
success
[root@linuxprobe ~]# firewall-cmd --reload
success

富规则,具有最高优先级。

十一 拒绝指定网段的用户访问指定服务  firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"

[root@linuxprobe ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
success
[root@linuxprobe ~]# firewall-cmd --reload
success

      PS:对应iptables的设置方法是 iptables -I INPUT -s 192.168.10.1 -p tcp --dport 22 -j REJECT

[root@linuxprobe ~]# iptables -I INPUT -s 192.168.10.1 -p tcp --dport 22 -j REJECT
[root@linuxprobe ~]# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
REJECT     tcp  --  192.168.10.1         anywhere             tcp dpt:ssh reject-with icmp-port-unreachable
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootps
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:bootps

PS 查看端口号-服务 cat /etc/services

这篇关于2021-07-12 linux学习-网络方面(四) 配置防火墙之firewalld命令行的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!