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虚拟机如何配置实现上网?

    Linux虚拟机作为开发、测试和服务器部署的常用环境,实现上网功能是其基础需求之一,虚拟机上网的核心在于虚拟化软件(如VMware、VirtualBox)提供的网络模式,不同模式通过虚拟网络设备与宿主机物理网络的交互方式,实现虚拟机与外部网络的连接,以下是常见实现方式及配置要点,NAT模式(网络地址转换)NAT……

    2025年10月7日
    11600
  • 一键开机背后的秘密?

    自动化引导到桌面硬件启动 (Power-On Self Test – POST):按下电源键,电脑硬件(主板、CPU、内存等)通电,主板上的固件(通常是 BIOS 或更现代的 UEFI)执行自检(POST),检查关键硬件(内存、显卡、硬盘等)是否正常工作,如果自检通过,你会听到一声短促的“滴”声(或没有声音,取……

    2025年7月21日
    13400
  • Linux系统IP冲突怎么办?,快速解决Linux IP地址冲突,如何检测Linux的IP冲突?

    使用arp-scan工具(推荐)arp-scan通过主动发送ARP请求检测IP冲突,结果精准可靠,步骤:安装工具(Debian/Ubuntu为例):sudo apt update && sudo apt install arp-scan扫描本地网络(替换eth0为你的网卡名):sudo arp……

    2025年6月24日
    15700
  • linux中如何安装nginx

    Linux中安装Nginx,可以使用包管理器如apt(Debian/Ubuntu)

    2025年8月15日
    13800
  • Linux下如何删除文件最后一行?

    在Linux系统中,处理文本文件时,经常需要根据需求删除特定行,其中删除最后一行是常见操作之一,无论是日志分析、数据清洗还是脚本编写,掌握删除最后一行的方法都能提高工作效率,本文将详细介绍多种在Linux中删除最后一行的命令行方法,涵盖sed、awk、head、tail等工具,并分析各自的适用场景、优缺点及注意……

    2025年10月8日
    11500

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信