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系统以其稳定性和灵活性著称,而终端(Terminal)作为Linux的核心工具,是用户与系统交互的重要桥梁,通过终端,用户可以执行命令行指令、管理系统文件、运行脚本程序、排查系统问题等,相较于图形界面,终端操作更高效、更直接,尤其对于服务器管理和高级用户而言,终端是必不可少的技能,在Linux系统中如……

    2025年9月21日
    7100
  • Linux系统如何设置网络丢包测试?

    在Linux系统中,设置丢包通常用于网络测试、模拟真实网络环境(如弱网、高延迟场景)或验证应用在网络异常情况下的健壮性,主动设置丢包可以通过多种工具实现,其中最常用的是tc(Traffic Control)工具结合netem(Network Emulator)模块,也可通过iptables或自定义脚本实现,本文……

    2025年10月2日
    6100
  • iPhone如何远程连接Linux服务器?

    在数字化时代,连接服务器是管理网站、传输文件或远程运维的核心技能,本文详细讲解Linux系统和iPhone设备连接到服务器的专业方法,涵盖主流协议(SSH、FTP、SFTP)及安全实践,确保操作安全高效,基础概念:连接服务器的关键要素协议与端口SSH(安全外壳协议):默认端口22,用于加密命令行操作(如服务器运……

    2025年8月4日
    10600
  • linux打开网页如何

    Linux 中,可通过浏览器如 Firefox、Chrome 等打开网页,也可使用命令行工具

    2025年8月13日
    10000
  • Linux环境变量如何修改?临时与永久设置方法及注意事项有哪些?

    在Linux系统中,环境变量是操作系统和用户交互的重要桥梁,它们存储了系统运行所需的配置信息,如可执行文件搜索路径(PATH)、用户主目录(HOME)、默认编辑器(EDITOR)等,正确修改环境变量能帮助用户定制个性化工作环境,优化命令行操作效率,本文将详细讲解Linux环境变量的修改方法,涵盖临时修改、永久修……

    2025年9月25日
    6200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信