linux端口怎么永久关闭

老兄我想谈谈Linux系统上的端口关闭问题。
在过去的几年里,我在服务器方面工作,遇到了一些错误,不得不告诉你们。

去年,我记得我公司的CentOS服务器上的一个端口被恶意劫持,总是有未知的路由,把我烦死了。
我使用firewalld关闭了端口。
你说简单点可以吗?在终端中输入firewall-cmd --zone=public --remove-port=端口号/tcp --permanent;然后重启防火墙,firewall-cmd --reload;再次检查firewall-cmd --list-ports;如果没有找到端口,则成功。
此技巧适用于 CentOS 7 和 RHEL 7 及更高版本。

还有一次,我使用ufw防火墙工具关闭了Ubuntu服务器上的端口。
也是同样的原因。
该命令已更改为允许 ufw 删除的端口号。

但有时,端口被某个进程占用,需要手动终止该进程。
例如,我运行了 netstat -tlnp |使用 grep 搜索端口号以查找进程 ID (PID),然后使用kill -9 PID 强制终止进程。
但要小心这个伎俩;强行终止进程会影响正在运行的服务。

我们来谈谈服务关闭。
有时端口被SSH等系统服务占用。
systemctl list-units --type=service | systemctl list-units --type=service |将使用使用 grep 端口号来查找服务名称;然后使用systemctl stop service name来停止服务;然后使用 systemctl disable servicename 禁用自动启动。
这样你就不用担心端口的问题了。

但是兄弟,关闭端口时要小心。
如果禁用关键端口,例如 SSH 端口 (2 2 ) 和远程桌面端口 (3 3 8 9 ),您将无法远程登录。
操作前最好备份防火墙规则或服务配置文件。

这必须根据不同的Linux发行版来进行。
例如,Ubuntu更喜欢使用ufw,这与CentOS的firewalld不同。
顺序根据实际情况进行调整。

LINUX关闭防火墙、开放特定端口等常用操作

坦白说,Linux系统上的防火墙管理其实相当简单。
关键是掌握几个关键命令。
我们先来说说最重要的事情。
在两种情况下您应该关闭防火墙。
一种是在重新启动后永久启用它并使用 chkconfig iptables off。
另一种是立即生效,但是重启后就失效了,所以使用service iptables stop。
启用防火墙也是如此。
使用 chkconfig iptables on 永久启用它,或使用 service iptables start 立即启用它。

还有一点就是直接使用service iptables restart来重启防火墙。
要打开特定端口,请编辑 /etc/sysconfig/iptables 文件。
例如,要打开端口 3 3 06 ,规则为:-A INPUT -m state –state NEW -m tcp –dport 3 3 06 -j ACCEPT。
请记住重新启动防火墙以使配置生效,使用 service iptables restart 并使用 service iptables save 保存设置。

我原本以为只有高级用户才需要手动编辑iptables规则,但后来发现我错了。
很多基础操作也离不开它。
等等,还有一件事。
要查看 iptables 规则和编号,请使用 iptables -nL –line-number。

很多人没有注意到这一点。
关闭所有 INPUT、FORWARD 和 OUTPUT 端口,直接使用 iptables -P INPUT DROP、iptables -P FORWARD DROP 和 iptables -P OUTPUT DROP。
要仅打开特定端口(例如端口 2 2 ),请使用 iptables -A INPUT -p tcp –dport 2 2 -j ACCEPT 和 iptables -A OUTPUT -p tcp –sport 2 2 -j ACCEPT。
要禁止访问特定 IP(例如 1 9 2 .1 6 8 .1 .2 ),请使用 iptables -A INPUT -p tcp -s 1 9 2 .1 6 8 .1 .2 -j DROP。

解释一下参数。
-A 添加规则,-p 指定协议,例如 tcp 或 udp,-dport 指定目标端口,-sport 指定数据源端口,-j 指定操作,例如 ACCEPT 或 DROP。
通过以上操作,您可以灵活地管理Linux系统的防火墙设置,在保证系统安全的同时,满足您特定的网络访问需求。
我认为值得一试,但请注意,频繁更改防火墙设置会影响系统稳定性。

Linux禁用防火墙规则的命令_linux 防火墙开启端口

说实话,做Linux防火墙确实很混乱。
不同发行版中的命令有很大不同。
我曾经从事 CentOS6 项目。
当我使用iptables时,我必须快速服务iptables,除非我每次都改变规则,否则重启后我会忘记一切。

有趣的是,我后来切换到CentOS7 ,发现我可以使用systemctl来停止firewalld.service。
这两种工具的使用思路也不同。
iptables命令行是直接的,就像脚本写的一样,但是每次都要保存,不然重启后又会回到原来的状态。
Firewalld 更智能。
使用firewall-cmd添加永久模块。
规则将直接继续,您无需担心重新启动。

在我的印象中,SELinux在CentOS 6 上默认是强制的。
有时当出现网络问题时,我不得不时不时地强制0。
后来老师教我直接改/etc/selinux/config,改SELINUX=force SELINUX=disabled。
他表示,这样系统会更加开放,但他也得小心,否则有些任务会莫名其妙地挂掉。

说到开放端口,对于iptables来说,使用-I INPUT -p tcp --dport 8 08 0 -j来开放INPUT,简单粗暴。
但firewalld 不同。
您需要指定区域,例如firewall-cmd --zone public --add-port=8 08 0/tcp --permanent。
它的参数很多,但优点是比较灵活,可以针对不同的地区实施不同的方案。

我想提醒您的是,开放的端口虽然方便,但也存在较高的安全风险。
我之前有一个计划,当时尝试移植到4 4 3 ,但是忘记拿回来了。
工作维护完毕后,兄弟检查了所有日志,发现都是安全的,没有被使用过。
所以我之前通常会做一些事情,真的有必要吗?我可以使用firewall-cmd添加常量参数吗?
我自己不运行这个,但我听说有关于 iptables 和 firewalld 之间转换的教程。
不过,在更改规则之前最好回忆一下当前的配置,以避免错误时直接关闭服务。
请注意,CentOS6 及以下版本的默认数据是 iptables,CentOS7 + 的默认数据是 firewalld,但我建议您检查每个升级的特定版本。