連載
» 2005年06月14日 00時00分 公開

習うより慣れろ! iptablesテンプレート集(3):iptablesによる負荷分散とDoS対策 (2/4)

[鶴長鎮一,@IT]

テンプレート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.

編集部からのお知らせ

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。