Linux如何正确关闭网络连接?3种方法

断开特定客户端的TCP连接

当需要终止某个远程客户端(如SSH用户或异常访问IP)的活跃连接时:

  1. 定位目标连接
    使用ssnetstat命令查看活跃连接:

    sudo ss -tunp | grep <客户端IP或端口>  # 示例:sudo ss -tunp | grep 192.168.1.100

    输出示例:

    tcp ESTAB 0 0 192.168.1.10:22  192.168.1.100:54321 users:(("sshd",pid=1234,fd=3))
  2. 终止连接

    • 方法1:通过进程ID(PID)终止
      找到输出中的pid值(如1234),执行:

      sudo kill -9 1234  # 强制结束进程
    • 方法2:使用ss直接断开(需内核≥4.9)
      sudo ss -K dst 192.168.1.100 dport = 54321  # 指定目标IP和端口

通过防火墙禁止客户端访问

使用防火墙永久阻止特定IP的网络访问:

  1. iptables(传统方案)

    sudo iptables -A INPUT -s <客户端IP> -j DROP  # 禁止该IP所有入站流量
    sudo iptables -A OUTPUT -d <客户端IP> -j DROP # 禁止出站流量
    sudo iptables-save > /etc/iptables/rules.v4  # 永久保存规则
  2. firewalld(推荐,适用于CentOS/RHEL)

    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="<客户端IP>" reject'  # 拒绝IP
    sudo firewall-cmd --reload  # 生效配置
  3. UFW(Ubuntu/Debian)

    sudo ufw deny from <客户端IP> to any  # 禁止IP访问

完全关闭网络接口

临时禁用整张网卡(如eth0):

sudo ip link set eth0 down  # 关闭接口
sudo ifconfig eth0 down     # 传统命令(部分系统兼容)

恢复网络

sudo ip link set eth0 up    # 重新启用

关键注意事项

  1. 风险预防

    • 避免在生产环境直接kill关键服务(如数据库连接)。
    • 防火墙规则错误可能导致自身被锁,操作前确保留有本地控制台访问权限。
  2. 连接状态验证

    • 断开后检查效果:
      sudo ss -tunp | grep <客户端IP>  # 确认连接消失
      ping <客户端IP>                 # 验证防火墙阻断(应无响应)
  3. 持久化配置

    • 防火墙规则需--permanent(firewalld)或iptables-save保存,否则重启失效。
    • 禁用网卡重启后自动恢复,需编辑配置文件(如/etc/network/interfaces)实现永久关闭。

适用场景总结

场景 推荐方法
踢出单个异常用户(如SSH) 终止TCP连接(kill/ss -K
永久封禁恶意IP 防火墙规则(iptables/firewalld)
临时断网维护 关闭网络接口(ip link down

引用说明基于Linux内核文档、iptables官方手册及firewalld Wiki,命令兼容主流发行版(Ubuntu 20.04+/CentOS 7+),操作前建议查阅man手册(如man ssman iptables)获取系统特定说明。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5410.html

(0)
酷番叔酷番叔
上一篇 2025年6月23日 12:50
下一篇 2025年6月23日 13:09

相关推荐

  • Linux操作系统下,如何查看CPU的具体类型信息?

    在Linux系统中,了解CPU类型信息对于系统优化、软件兼容性检查、性能调优等场景至关重要,通过命令行工具,可以快速获取CPU的厂商、型号、架构、核心数、线程数、缓存大小、支持的指令集等详细信息,本文将详细介绍多种查看CPU类型的方法,涵盖不同场景和需求,并对比各方法的优缺点,使用lscpu命令查看CPU信息……

    2025年9月29日
    1300
  • Linux下如何开发Java?

    在Linux操作系统下进行Java开发,凭借其稳定性、开源特性和丰富的命令行工具,已成为许多开发者的首选环境,本文将从环境搭建、工具选择、项目构建、调试优化到部署运维,详细阐述Linux下Java开发的完整流程,帮助开发者高效利用Linux生态完成Java应用开发,Java开发环境搭建Java开发的核心是JDK……

    2025年8月22日
    3000
  • 在Linux系统中,sar性能监控工具的安装步骤和配置方法是什么?

    在Linux系统中,sar(System Activity Reporter)是sysstat工具包中的一个核心组件,用于收集、统计和报告系统的各项性能数据,如CPU使用率、内存占用、磁盘I/O、网络流量等,通过sar,管理员可以实时监控系统状态,或分析历史数据排查性能瓶颈,本文将详细介绍Linux环境下安装s……

    2025年10月2日
    1300
  • Linux如何返回上级目录?

    核心命令:cd ..命令作用cd .. 是返回上级目录的标准命令, 在Linux中代表父目录(即当前目录的直接上级),操作步骤:# 1. 查看当前目录(确认位置)pwd# 输出示例:/home/user/documents/project# 2. 执行返回命令cd ..# 3. 再次验证位置pwd# 输出示例……

    2025年8月5日
    4000
  • Linux系统中,如何查看当前用户的环境变量PATH路径呢?

    在Linux系统中,PATH是一个至关重要的环境变量,它定义了当用户在终端输入命令时,系统会按顺序搜索哪些目录来查找可执行文件,PATH相当于系统的“命令搜索路径”,如果某个可执行文件的路径未包含在PATH中,即使该文件存在于系统中,直接输入其命令名也无法执行,掌握如何查看、理解和正确设置PATH,是高效使用L……

    2025年9月22日
    2100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信