서버에서 SSH 대역폭을 제한하고 싶습니다. 즉, 각 sshd 프로세스는 200Kb / s 또는 이와 유사한 것으로 제한되어야합니다.
scp에는이 기능이 있지만 반응 형 대화식 사용을 위해 더 설계된 ssh에는이 옵션이없는 것 같습니다. 그러나 -D (SOCKS 프록시) 기능과 트래픽을 제한하는 기능을 결합하고 싶습니다.
이것에 대한 옵션이 있습니까?
서버에서 SSH 대역폭을 제한하고 싶습니다. 즉, 각 sshd 프로세스는 200Kb / s 또는 이와 유사한 것으로 제한되어야합니다.
scp에는이 기능이 있지만 반응 형 대화식 사용을 위해 더 설계된 ssh에는이 옵션이없는 것 같습니다. 그러나 -D (SOCKS 프록시) 기능과 트래픽을 제한하는 기능을 결합하고 싶습니다.
이것에 대한 옵션이 있습니까?
답변:
사용자를 신뢰하는 것이 방정식의 일부인지 확실하지 않지만 trickle
주어진 명령의 속도를 제한하는 데 매우 편리합니다. 집에서 패키지를 업로드 할 때 와우 중독자 룸메이트는 파이프를 거의 지배하기 때문에 그런 것을 잊었을 때 알 수 있습니다.
trickle
분기하는 프로세스에서는 작동하지 않습니다. 그것은 sshd를 포함합니다!
tc를 사용하여 HTB 트래픽 쉐이핑을 구현하는 것이 좋습니다. 비슷한 문제에 대한 나의 해결책은 http://sourceforge.net/projects/htbinit/에 있는 htb.init 스크립트를 사용하는 것이 었습니다 .
포트 22의 트래픽 제한을 기반으로 설정했지만 iptables를 사용하여 패킷을 표시 / 뭉글 수 있으며 마크를 기반으로 처리됩니다.
tc
지금까지 유일한 관련 답변 은 +1입니다 .
scp -l 8192 file.txt user_name@111.111.1.11:/tmp
//8192 = 8192 KB per second
이 스레드가 상당히 오래되었다는 것을 알고 있지만 이것이 누군가를 도울 수 있기를 바랍니다.
scp
ssh의 다소 구체적인 사용 사례 이기 때문 이라고 생각합니다. 테스트를 거쳤 scp -l
지만 작동하지만 킬로바이트 (kB)가 아니라 초당 킬로 비트 (kb)입니다.
몇 가지 옵션이 있습니다.
일반적인 방법은 서버와 클라이언트 사이의 방화벽 / 라우터에서 포트 22에서 QoS를 구현하는 것입니다.
그들이 같은 로컬 네트워크에 있다면 (즉, 그들 사이에 라우터 나 방화벽이없는 경우) IPTables를 사용하여 포트 22로 대역폭을 제한 할 수 있다고 생각합니다 .이 작업을 수행하는 방법에 대한 자세한 내용은 여기 를 참조하십시오.
당신은 iprelay 같은 것을 볼 수 있습니다 :
User-space bandwidth shaping TCP proxy daemon
iprelay can shape the TCP traffic forwarded through it to a specified
bandwidth and allow this bandwidth to be changed on-the-fly. Multiple
data streams to different sockets may be shaped to the same total
bandwidth, much like a traffic shaping router would. However, this
application runs in user space, and works by acting as a TCP proxy.