RHEL中的防火墙种类

1.iptables

2.firewalld

3.ip6tables

4.ebtables


系统中防火墙的结构:

Firewalld


firewalld

firewalld不是防火墙,只是用来管理防火墙的一种软件,对iptables进行操作,之后会对内核进行修改

Firewalld的工作状态

Firewalld


firewall-config &             ##打开图形管理防火墙界面

Firewalld


Firewalld

Runtime                  ##临时性修改会立即生效,服务重启后消失

Permanet                ##永久性修改,需要重启服务后才会生效


监控命令:

Firewalld


临时性修改:(会立即生效)

Firewalld


永久性修改:(不会立即生效)

Firewalld


需要重启防火墙服务

Firewalld


永久性更改火墙的服务,会记录到防火墙的配置文件中

Firewalld

public.xml.old是对public.xml的备份


Firewalld


/usr/lib/firewalld/目录下是对所有火墙服务状态的记录,永久性更改火墙服务,该目录下的文件也会及时做出相应的修改

Firewalld


Firewalld


firewall-cmd --state                                          ##查看防火墙的状态

firewall-cmd --get-active-zones                      ##查看防火墙正在运行的网络区

firewall-cmd --get-services                             ##查看防火墙所有的服务

firewall-cmd --get-default-zone                       ##查看默认网络区

firewall-cmd --get-zones                                  ##查看防火墙所有的网络区

Firewalld


如果想更改服务的名称,可以切换到/usr/lib/firewalld/services目录下进行修改,修改后需要重启火墙服务

但是一般不建议随意修改服务的名称

Firewalld


firewall-cmd --list-all-zones                            ##查看防火墙所有网络区的详细信息

Firewalld


firewall-cmd --list-all --zone=public                            ##查看public网络区的所有信息

firewall-cmd --list-all --zone=trusted                          ##查看trusted网络区的所有信息

Firewalld


firewall-cmd --set-default-zone=trusted                          ##设定默认网络区为trusted

Firewalld


firewall-cmd --add-sourse=172.25.254.49 --zone=trusted                    ##将172.25.254.49这个ip添加到trusted网络区

firewall-cmd --remove-sourse=172.25.254.49 --zone=trusted            ##将172.25.254.49这个ip移除trusted网络区

Firewalld


为了方便实验,我们可以安装一个httpd服务来检测试验的效果

Firewalld


编辑服务下可读取的文件,启动服务

Firewalld

Firewalld


将默认网络区设为dmz,将eth1网卡从dmz网络区中移除添加到trusted网络区

eth0的ip为:172.25.254.149

eth1的ip为:172.25.49.149

Firewalld


此时httpd服务只能通过eth1这块网卡的ip

Firewalld

上面的更改为临时性更改,重启火墙服务后会消失


编辑httpd的主配置文件,将服务端口改为8080

Firewalld

Firewalld


在图形管理火墙界面中添加8080/tcp端口

Reload Firewalld               ##重启火墙服务

Firewalld


Firewalld


此时默认的80端口将无法登陆httpd服务,需在访问的ip后添加8080端口

Firewalld


Firewalld


永久性的移除http和https服务,需要重启火墙服务才会生效

Firewalld


永久性移除8080/tcp端口,也需要重启火墙服务才会生效

Firewalld


此时将无法登陆httpd服务

Firewalld


firewall-cmd --reload                                ##重启火墙服务临时性的修改会消失,但临时性正在连接中的服务不会断开

firewall-cmd --complete-reload              ##重启火墙服务临时性的修改会消失,如果临时性的服务正在连接中服务将会断开


firewall-cmd --direct --get-all-rules         ##查看火墙服务中的所有规则

firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.49 -p tcp --dport 22 -j REJECT

拒绝ip为172.25.254.49的主机访问22端口的ssh服务

Firewalld


测试:

Firewalld


firewall-cmd --direct --add-rule ipv4 filter INPUT 1 ! -s 172.25.254.49 -p tcp --dport 21 -j REJECT

只允许ip为172.25.254.49的主机访问21端口的ftp服务,其他主机都拒绝

Firewalld


测试之前需要将ftp服务添加到火墙服务上

Firewalld


测试:

Firewalld







相关文章:

猜你喜欢
  • 2021-08-15
  • 2022-01-19
  • 2021-09-18
相关资源
相似解决方案