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
标签:linuxprobe,12,07,zone,--,cmd,firewalld,firewall,root 来源: https://blog.csdn.net/x629242/article/details/118672477