Linux firewalld 防火墙使用

目录

firewall 防火墙服务简述与安装

firewalld 服务基本使用

firewalld-cmd 防护墙命令使用

public.xml 文件修改防火墙端口

注意事项


firewall 防火墙服务简述与安装

1、Centos7 默认的防火墙是 firewall,替代了以前的 iptables

2、firewall 使用更加方便、功能也更加强大一些

3、firewalld 服务引入了一个信任级别的概念来管理与之相关联的连接与接口。它支持 ipv4 与 ipv6,并支持网桥,采用 firewall-cmd (command) 或 firewall-config (gui) 来动态的管理 kernel netfilter 的临时或永久的接口规则,并实时生效而无需重启服务。

4、查看 firewall  版本:firewall-cmd --version

[root@localhost ~]# firewall-cmd --version
0.4.4.4
[root@localhost ~]# 

firewall 防火墙安装

1)像使用 iptables 一样,firewall 同样需要安装

2)需要注意的是某些系统已经自带了 firewal l的,如果查看版本没有找到,则可以进行 yun 安装

3)安装指令: yum install firewalld

Linux firewalld 防火墙使用_第1张图片

firewalld 服务基本使用

1、firewall 与 iptables 一样都是服务,所以可以使用 systemctl 服务管理工具来操作

目的 命令
查看防火墙状态 systemctl status firewalld
关闭防火墙,停止 firewall 服务 systemctl stop firewalld
开启防火墙,启动 firewall 服务 systemctl start firewalld
重启防火墙,重启 firewall 服务 systemctl restart firewalld
查看 firewall 服务是否开机启动 systemctl is-enabled firewalld
开机时自动启动 firewall 服务 systemctl enable firewalld.service
开机时自动禁用 firewall 服务 systemctl disable firewalld.service

Linux firewalld 防火墙使用_第2张图片

firewalld-cmd 防护墙命令使用

1、上面所说的 firewall 可以看成整个防火墙服务,而 firewall-cmd 可以看成是其中的一个功能,可用来管理端口

一:查看 firewall-cmd 状态,即查看 firewall 防火墙程序是否正在运行: firewall-cmd --state

[root@localhost ~]#  firewall-cmd --state
running
[root@localhost ~]# 

二:查看已打开的所有端口firewall-cmd --zone=public --list-ports

[root@localhost ~]# firewall-cmd --zone=public --list-ports
6379/tcp 22122/tcp 23000/tcp 8080/tcp 8888/tcp 9502/tcp 6662/tcp 9999/tcp 7002/tcp 6661/tcp 6688/tcp 6667/tcp 6689/tcp 8000/tcp 6663/tcp 9070/tcp 9089/tcp 9988/tcp 9222/tcp 4444/tcp
[root@localhost ~]# 

三:开启指定端口

1、开启一个端口:firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent 永久生效,没有此参数重启后失效)

2、重新加载 firewall,修改配置后,必须重新加载才能生效:firewall-cmd --reload 

[root@localhost ~]# firewall-cmd --zone=public --list-port
9876/tcp 8090/tcp 80/tcp 8080/tcp
[root@localhost ~]# firewall-cmd --zone=public --add-port=3307/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --zone=public --list-port
9876/tcp 8090/tcp 80/tcp 8080/tcp 3307/tcp
[root@localhost ~]# 

四:关闭指定端口

1、关闭 9876 端口:firewall-cmd --zone=public --remove-port=9898/tcp --permanent(--permanent 表示永久生效,没有此参数重启后失效)

2、重新加载 firewall,修改配置后,必须重新加载才能生效:firewall-cmd --reload 

[root@localhost ~]# firewall-cmd --zone=public --list-ports
9876/tcp 8090/tcp 80/tcp 8080/tcp
[root@localhost ~]# firewall-cmd --zone=public --remove-port=9876/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --zone=public --list-ports
8090/tcp 80/tcp 8080/tcp
[root@localhost ~]# 

public.xml 文件修改防火墙端口

1、firewall-cmd对端口的操作,如开放端口等信息,都放在在"/etc/firewall/zones/public.xml"中记录

2、所以直接修改此文件也是可以的

Linux firewalld 防火墙使用_第3张图片

注意事项

1、如下所示,CentOS 7.2 Linux系统防火墙明明开启了指定的端口,tomcat服务器端口也指定正确,启动没有任何问题,最后从windows浏览器访问的时候,却只有80端口有效,其余的端口全部访问失败

2、最后原因居然是因为系统是阿里云服务器,而它的后台为了安全,封掉了其它端口的访问,所以即使防火墙修改了也没用,解决办法是登录阿里云服务器后台,修改它的安全组策略即可。这是生产上遇到的问题。

 

你可能感兴趣的:(Linux)