連載
iptablesによる負荷分散とDoS対策:習うより慣れろ! iptablesテンプレート集(3)(2/4 ページ)
iptablesを応用すれば、簡易負荷分散システムを構築できる。さらに、DoS対策やQoSの実現方法を紹介する。(編集部)
テンプレート11
mangleテーブルを利用したQoSの実現
テンプレート11の想定環境
・外部からの接続パケットは基本的にすべて破棄
ただし接続済み通信のパケットは許可
・内部からの接続パケットは基本的にすべて許可
・ループバックアドレスに関してはすべて許可
・メンテナンスホストからのping、メンテナンスホストへのpingを許可
・メンテナンスホストからのssh(TCP 22)を許可
・任意のサーバからのHTTP(TCP 80)を許可
ただし接続の最初時にSYNで始まらない接続パケットは破棄
・サーバへのssh(TCP 22)のパケットの遅延(delay)を最小限に
・サーバへのHTTP(TCP 80)のパケット用にできる限り高スループットの経路を探す
mangleテーブルの使用例として、パケットの遅延を低減したり高スループット経路を探すようにTOSフィールドを設定してみます。
テンプレート11の解説
テンプレート5を基に、mangleテーブルの機能を実装します。
51、52行目がTOS、54行目がDSCPの書き換えです。また、55行目がECNの削除、56行目がMARKの設定です。
47 ################# 48 #mangle table 49 ################# 50 #Sample for TOS 51 iptables -A PREROUTING -t mangle -p tcp --sport 22 -j TOS --set-tos Minimize-Delay 52 iptables -A PREROUTING -t mangle -p tcp --sport 80 -j TOS --set-tos Maximize-Throughput 53 #Sample for DSCP,ECN,MARK 54 #iptables -A PREROUTING -t mangle -p tcp --sport 80 -j DSCP --set-dscp-class EF 55 #iptables -A PREROUTING -t mangle -p tcp --sport 80 -j ECN --ecn-tcp-remove 56 #iptables -A PREROUTING -t mangle -p tcp --sport 80 -j MARK --set-mark 15
繰り返しになりますが。ここでTOSフィールドの値を変更しても、それに連携できるルータや内部ルーティングの仕組みがなければ意味はありません。
Copyright © ITmedia, Inc. All Rights Reserved.