AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 126751
Accepted
davr
davr
Asked: 2010-03-27 13:07:17 +0800 CST2010-03-27 13:07:17 +0800 CST 2010-03-27 13:07:17 +0800 CST

减慢通过 Linux 路由器的单个连接?

  • 772

我们有一台 Linux 服务器作为我们办公室的路由器/防火墙。偶尔有人会上传一个占用我们所有带宽的大文件。我不想实施任何复杂的规则或流量整形,但我想知道是否有办法在现场减慢单个连接?我找到了 tcpnice,但它并没有减慢我测试中的传输速度。

firewall router linux traffic-shaping
  • 4 4 个回答
  • 1558 Views

4 个回答

  • Voted
  1. Best Answer
    Unreason
    2010-04-01T02:19:59+08:002010-04-01T02:19:59+08:00

    如果流量整形不能正确地整形 shell 和主动上传的流量(我认为可以,但不确定),那么您可以:

    a) 在两个端口上运行 ssh - 您可以优先考虑一个用于文件传输和一个用于交互工作。

    b) 限制总 ssh 速率 - 唯一的问题是,如果你填满了链接的上传容量,并且如果你将速率限制在 50kbps 之类的东西,ssh 将很好地交互工作(这将迫使用户使用其他协议来传输更大的文件)

    c)如果可以的话,优先考虑源地址上的流量

    此外,流量整形应该使流量更加平衡,以使单个连接不会垄断整个链路。

    编辑:这是一个使用 bash 脚本的示例。它提到 ssh 确实将 TOS 设置为交互到交互,所以我认为 Wondershaper 会利用这一点。

    如果您想要除Wondershaper之外的其他选项,请务必查看shorewall或pyshape。

    Shorewall 非常成熟,在灵活性、功能和简单性之间取得了很好的平衡。

    • 6
  2. alex
    2010-03-27T14:25:22+08:002010-03-27T14:25:22+08:00

    Wondershaper可以创造奇迹,而且很容易设置。除此之外,您可以找到一些用户级程序来做到这一点。在 Linux 中有Trickle,可能有适用于 Windows 的等价物。

    但实际上,您需要流量整形——人们会忘记运行程序等。仅将上传限制在略低于您的全部容量可能会给您带来很多好处。

    • 4
  3. Aleksandar Ivanisevic
    2010-03-31T22:39:45+08:002010-03-31T22:39:45+08:00

    查看 iptables(8) 联机帮助页中的 connrate。您可以匹配连接速率并减慢上传速度过快的连接,方法是将其放入适当的 tc 类或 drop 或 tarpit 或任何适合您的方法。

    • 2
  4. d34dh0r53
    2010-03-30T20:59:41+08:002010-03-30T20:59:41+08:00

    您是否想过设置反向 Squid 代理并设置延迟池?你也可以使用 iptables 的 limit 指令来做到这一点。

    我对您的请求的一个问题是,您似乎想开始限制已经建立的连接的传输速率,这将很难做到,因为我能想到的一切都想开始在一个新连接,并将保留现有连接。

    我必须同意 alex 的观点,因为您可能需要某种流量整形器,您要查看的是每秒数据包数,因为交互式 shell 的值将比适度的文件传输小得多。

    • 1

相关问题

  • 多操作系统环境的首选电子邮件客户端

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve