怎么关闭linux的端口?

我不得不从几年前关于在 Linux 系统上设置防火墙规则的详细案例开始。
当时,我经营一家小公司,负责维护。
该公司推出了新的在线产品,但处于测试阶段。
调试端口意外地保持打开状态。
该端口中隐藏着许多敏感数据。
让我们快点结束吧,以避免漫长的夜晚和噩梦。

首先,需要查明该端口是否正在使用。
我使用 netstat 命令并输入 netstat-anp|grep 端口号。
Listening 立即出现在屏幕上,包括建立和正在使用哪个进程。
一目了然。
那时现代工具不多,我就把它们排成一排看。
如果发现端口正在使用,则必须配置防火墙规则。
使用 iptables,在终端中键入 sudoiptables-AOUTPUT-ptcp --dport 端口号-jDROP。
该命令旨在直接拒绝源自本机的 TCP 连接并告诉 iptables 访问特定端口。
这次测试环境的端口被阻塞了。

但是,如果系统重新启动,这些防火墙规则将会失效;所以我必须手动保存配置。
请记住,CentOS 命令是 sudoserviceiptablessave。
现在如果你切换到其他系统,你可能需要找到一个特殊的命令。

是的,有一个更简单的方法可以直接停止占用该端口的服务。
对于 Nginx 或 MySQL 等服务;要停止它们,请使用 systemctl:sudosystemctlstop service-name。
这种方法有时更直接,并且无需干扰防火墙。

不过,我要提醒大家的是,防火墙规则设置错误是严重的,会影响整个系统的通信。
因此,我首先在测试环境中进行测试并确认没有问题,然后在生产环境中启动它。
现在很多系统都有firewalld或者ufw等高级的防火墙工具,使用起来更加方便。

最后,如果是云服务器。
不要忘记同时检查安全组规则,以确保它们与本地防火墙配置匹配。
这说起来容易,但在实践中,你必须小心,不要犯下危及整个服务器安全的错误。

Linux服务器防火墙配置教程(端口关闭和放行)

linux关闭防火墙后curl本地的443端口拒绝

嘿,去年我在我的家庭服务器上遇到了这个问题,这真的让我很恼火。

当时我禁用了Linux防火墙,然后使用Curl检查本地端口4 4 3 ,结果连接被彻底拒绝。
起初我以为是防火墙问题,但事实证明不是。

您提到的步骤大部分是正确的。
这是我一步一步检查的方法。

首先我检查是否有任何服务正在侦听端口 4 4 3 使用的命令: sudo netstat -tulnp | grep 4 4 3 结果什么都没有,什么都没有。
我知道必须启动该服务。

然后我启动了Nginx,因为当时已经安装了。
我用 sudo systemctl start nginx 启动它。
运行后我使用了 sudo netstat -tulnp | grep 4 4 3 进行确认。
这次我看到 Nginx 正在监听 4 4 3 端口。

但是有一天我同事电脑上的 4 4 3 端口很忙。
那家伙,经过一番检查,原来是旧的SSH进程没有关闭。
使用 sudo lsof -i :4 4 3 找到它,然后使用 sudo Kill -9 杀死它。
被破坏后,Nginx 又可以正常工作。

您还需要仔细查看服务配置。
去年我犯了一个错误,Nginx配置文件出错了。
结果4 4 3 端口根本就不能用了。
后来我重新看了很长时间的配置才明白一切正确。

另外不要忘记主机文件。
我有一个朋友,他的 localhosts 文件中有一个无效条目,导致 localhost 被错误地解析。
结果,Curl 无法访问它。
经过检查并删除错误条目后,问题解决。

最后,在使用curl命令时,还必须指定正确的命令。
去年的一天我忘了写端口,直接使用了Curl https://localhost。
结果我就一头雾水,根本无法联系。
后来我添加了curl port -v https://localhost:4 4 3 ,一切顺利。

总之,这些步骤需要一步步进行,不要跳过。
另外,在更改配置之前,请先进行备份,以免搞乱并重新安装。