LINUX系统关闭33306端口的方法示例

一、使用防火墙关闭端口(推荐)

1. iptables方式

# 禁止所有IP访问33306端口(添加中文注释)
iptables -A INPUT -p tcp --dport 33306 -j DROP

# 允许特定IP访问(可选,将123.123.123.123替换为实际IP)
iptables -I INPUT -p tcp -s 123.123.123.123 --dport 33306 -j ACCEPT

# 保存规则(CentOS 6及以下)
service iptables save

# 查看已添加规则
iptables -L -n | grep 33306

2. firewalld方式(CentOS 7+)

# 永久移除33306端口
firewall-cmd --permanent --remove-port=33306/tcp

# 重新加载防火墙配置
firewall-cmd --reload

# 检查是否生效
firewall-cmd --list-ports | grep 33306

二、停止监听该端口的服务

1. 查找占用端口的进程

# 查看哪个进程在使用33306端口
netstat -tulnp | grep 33306
# 或
lsof -i :33306

# 输出示例:
# mysqld  1234  mysql  10u  IPv6  0xffffff  TCP *:33306 (LISTEN)

2. 停止相关服务

# 如果是MySQL(根据实际情况修改服务名)
systemctl stop mysqld

# 如果是其他服务,使用对应的服务名
systemctl stop 服务名称

三、彻底禁用端口(可选)

1. 修改服务配置

# 例如MySQL修改my.cnf
[mysqld]
port = 3306  # 改为默认端口或其他端口
# skip-networking = 1  # 也可以完全禁用TCP/IP连接

2. 使用内核参数禁用

# 临时禁用
echo 1 > /proc/sys/net/ipv4/tcp_drop_port_33306

# 永久生效(添加到/etc/sysctl.conf)
echo "net.ipv4.tcp_drop_port_33306 = 1" >> /etc/sysctl.conf
sysctl -p

四、验证端口已关闭

# 检查端口是否仍在监听
ss -tuln | grep 33306

# 从外部测试(另一台机器执行)
telnet 你的服务器IP 33306  # 应显示连接失败
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

djdlg2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值