1.准备Linux Redhat7.6操作系统
安装操作系统后,系统一般默认开启防火墙,同时开启了允许所有IP通过SSH协议访问此系统。下面我们需要将此规则删掉或者注释掉。我们可以通过修改防火墙的/etc/firewalld/zones/public.xml配置文件完成。如下:
[root@localhost ~]# vi /etc/firewalld/zones/public.xml
Public
For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.
通过对public.xml可以将默认ssh协议进行注释或删除。注明:注释或删除SSH协议和22端口后,不要立即重启防火墙或重载防火墙配置文件,若重启或重载配置文件会导致无法通过SSH协议22端口进入操作系统。需要增加允许指定IP和端口之后在进行重载防火墙配置文件或重启防火墙。
通过firewall-cmd命令添加防火墙规则,如下:
[root@localhost ~]# firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.211.135" port protocol="tcp" port="22" accept" --permanent
success
通过执行以上命令,成功在防火墙中添加了一个规则,此规则允许192.168.211.135地址通过TCP协议的22端口访问服务器操作系统。成功添加规则后,通过重载防火墙配置文件命令,让已添加的规则生效。如下:
[root@localhost ~]# firewall-cmd --reload
success
可以通过查看命令查看规则是否添加成功,如下:
[root@localhost ~]# firewall-cmd --zone=public --list-rich-rules
rule family="ipv4" source address="192.168.211.1" port port="22" protocol="tcp" accept
rule family="ipv4" source address="192.168.211.135" port port="22" protocol="tcp" accept
通过查看命令,我们可以看到上面添加的规则已经生效。到此,规则已经添加成功并生效。
通过firewall-cmd --remove命令移除防火墙规则,如下:
[root@localhost ~]# firewall-cmd --remove-rich-rule="rule family="ipv4" source address="192.168.211.135" port protocol="tcp" port="22" accept" --permanent
success
[root@localhost ~]#
通过以上命令,成功将防火墙规则删除。通过重载防火墙配置文件命令,让已添加的规则生效。如下:
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --zone=public --list-rich-rules
rule family="ipv4" source address="192.168.211.1" port port="22" protocol="tcp" accept
1.启动防火墙:systemctl start firewalld
2.停止和关闭防火墙:systemctl stop firewalld
3.重启防火墙:systemctl restart firewalld
4.查看防火墙状态:systemctl status firewalld
4.重启加载防火墙规则:firewall-cmd --reload
5.查看已设置的规则:firewall-cmd --zone=public --list-rich-rules