简单设置防火墙

开始之前先关闭SELINUX。

这是一个Linux下的访问控制系统,主要进行安全策略和权限控制的管理,对很多涉及目录和文件的操作都会产生影响,个人用户建议关闭,如有兴趣了解可以单独进行学习。

vim /etc/selinux/config

将 SELINUX=enforcing 修改为 SELINUX=disabled

然后重启系统

reboot

网络防火墙FirewallD简单讲解。

FirewallD就是Linux下的防火墙,这里介绍一些常用的命令来应对后面搭建WEB服务器的需要。

首先是防火墙的开关命令,如果不想要防火墙可以直接关闭并取消开机启动。

# 启动FirewallD
systemctl start firewalld
# 关闭 FirewallD
systemctl start firewalld
# 设置开机启动(当前如果没启动并不会启动)
systemctl enable firewalld
# 取消开机启动(并不会关闭启动中的防火墙)
systemctl disable firewalld
# 查看防火墙运行状态
systemctl status firewalld
# 查看所有防火墙规则
firewall-cmd --list-all
# 重新加载防火墙
firewall-cmd --reload

服务的管理,FirewallD的服务配置文件在/usr/lib/firewalld/services/下,可以理解成一个批量包,如果防火墙允许某个service,那么该service下的所有规则将全被允许。如果修改了系统服务的默认端口,这里也要修改对应的端口,比如SSH服务默认端口为22,如果修改了SSH服务的端口,那么这里也要修改ssh.xml里的端口,或者在防火墙里单独设置一条端口允许也是可以的。

# 查看所有可以设置的服务
firewall-cmd --get-services
# 查看当前允许的服务
firewall-cmd --list-services
# 查询一个服务的状态
firewall-cmd --query-service http
# 允许一个服务
firewall-cmd --add-service=http
# 禁止一个服务
firewall-cmd --remove-service=http
# 允许一个服务多少秒
firewall-cmd --add-service=http --timeout=60

注意:这些设置在重新加载防火墙或者重启系统后将会失效,如果想要让设置永久生效,需要添加–permanent参数

例如:

firewall-cmd --permanent --add-service=http

但是这样设置并不会立即生效,需要重新加载防火墙使其生效。同样,删除服务包括后面的端口管理要永久生效都要添加该参数。

端口的管理,如果有一些软件不在常用服务列表里,或者把系统服务的默认端口更改了,可以直接添加一个允许访问的端口。

# 查看当前允许的端口
firewall-cmd --list-ports
# 添加一个允许的端口
firewall-cmd --add-port=8080/tcp
# 删除一个允许的端口
firewall-cmd --remove-port=8080/tcp
# 添加一个允许的端口多少秒
firewall-cmd --add-port=8080/tcp --timeout=60

同样,要使其永久生效需要添加参数permanent,后面将不再赘述。

防火墙还有一个小功能,可以进行端口转发,Linux不允许root以外的用户使用1024以下的端口,我们举例设置一个1024以上的端口转发到80端口。

firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080

这样访问该机的80端口将被转发到8080端口,这里转发的目标地址需要添加防火墙允许,也就是要允许8080端口访问,而指向端口不用在防火墙里设置允许,这里是80端口。

防火墙的设置就简单介绍到这里,如需要更加详细的学习请查询专业资料,其中比较重要的是防火墙的filter功能。