OpenWRT(および他のシステム)でSSHとSCPのQoSをどのように区別しますか?

OpenWRT(および他のシステム)でSSHとSCPのQoSをどのように区別しますか?

私は1kbit / sに制限されているDSLアップリンク接続を介してSCPを使用して大量のデータを頻繁にアップロードします。インタラクティブSSHセッションの優先順位が最も高いことを望んでいますが、SSHを最高の優先順位に設定すると、SCPアップロード中に接続が利用できなくなります。

特に、OpenWRTでSSHとSCPのサービス品質設定を区別する方法は?

ベストアンサー1

少なくともOpenSSHは、次のように他のTOSビット(0x16対話型セッション、0x08一括転送用)を設定します。quoraで議論された

これは、これらのビットに一致するルールを使用して簡単に悪用される可能性があります。最も一致するQoSが適用されるようです。ポート22 / SSHの一般規則がないことを確認してください。 OpenWRT には、デフォルトで SSH と DNS を一致させるルールが用意されています。これらのルールでは、上にリンクされたquoraの記事で提案されているとの重複0x04するDSCP値を使用しました。0x02

config classify                                          
        option target           "Priority"                   
        option ports            "22"                     
        option dscp             0x04                     
        option comment          "ssh"      
config classify                                          
        option target           "Bulk"                   
        option ports            "22"                     
        option dscp             0x02                     
        option comment          "scp"                    

「デフォルト」iptables設定の場合、生成されたルールは次のとおりです(パラメータ-m dscp --dscp 0x04-m dscp --dscp 0x02面白い部分です)。

-A qos_Default_ct -p tcp -m mark --mark 0x0/0xf -m tcp -m multiport --ports 22 -m dscp --dscp 0x04 -m comment --comment ssh -j MARK --set-xmark 0x11/0xff
-A qos_Default_ct -p tcp -m mark --mark 0x0/0xf -m tcp -m multiport --ports 22 -m dscp --dscp 0x02 -m comment --comment scp -j MARK --set-xmark 0x44/0xff

QoS設定の再ロードを使用した後は、SCP転送を再開する必要があります/etc/init.d/qos restart。 QoS設定は新しいフローにのみ適用されます。

これらのルールを適用する前(シングルSSH「優先順位」ルールを使用)、SCPアップロード中のマイピングは約200msでした。ルールを適用した後、時間は70〜100msに低下しました(アイドル回線の時間は30ミリ秒に比べて)。

おすすめ記事