Linux开启防火墙、开启自定义端口
前言
之前在腾讯云买了一台服务器, 用来供学习测试使用。 买来才一天,结果服务器被黑了,黑的莫名其妙。于是提交了一个工单, 客服说确实是被黑了, 让我把密码设置复杂一点, 并且不要使用默认的22远程端口。修改默认端口请看: 于是我设置了18位密码, 默认端口也改了, 结果第二天, 服务器又被黑了(排除安装了有病毒的软件, 该服务器只安装了一个Harbor, 并且是从官网下载的), 我当时都麻了~~~~ 无奈, 只能重装系统了, 不过为了防止再次被黑, 特意上网查询了一下, 可以开启Linux 防火墙,至于是否有用, 只能等待时间的验证。 具体开启步骤如下。
开启防火墙
一、查看防火墙状态:
systemctl status firewalld
二、开启防火墙
注意: 这里存在一个问题,防火墙默认是不开启任何端口的, 当我们防火墙开启之后, SSH 远程就断开了, 导致无法连接远程服务器。所以需要配置默认可以访问的端口
# 1、配置默认端口 cd /etc/firewalld/zones vim public.xml # 2、<zone> 节点下增加配置 <rule family="ipv4"> <port protocol="tcp" port="SSH远程默认端口"/> <accept/> </rule> # 3、设置开机启动 systemctl enable firewalld # 4、开启防火墙 systemctl start firewalld
扩展:
下面列出了一些常用的命令
# 查看版本 firewall-cmd --version # 查看帮助 firewall-cmd --help # 显示状态 firewall-cmd --state # 查看防火墙的状态 systemctl status firewalld # 开启防火墙 systemctl start firewalld # 关闭的命令是 systemctl stop firewalld # 查看所有已开放的临时端口(默认为空) firewall-cmd --list-ports # 查看所有永久开放的端口(默认为空) firewall-cmd --list-ports --permanent # 添加临时开放端口(例如:比如我修改ssh远程连接端口是222,则需要开放这个端口) firewall-cmd --add-port=222/tcp # 添加永久开放的端口(例如:222端口) firewall-cmd --add-port=222/tcp --permanent # 关闭临时端口 firewall-cmd --remove-port=222/tcp # 关闭永久端口 firewall-cmd --remove-port=222/tcp --permanent # 配置结束后需要输入重载命令并重启防火墙以生效配置 firewall-cmd --reload systemctl restart firewalld
