- PR -

不明なudp通信の理由が知りたい

1
投稿者投稿内容
JIMMY
常連さん
会議室デビュー日: 2004/10/26
投稿数: 32
お住まい・勤務地: 東京
投稿日時: 2006-10-03 17:23
現在、新規にSuSE Linux10.0(CD配布版)をセットアップしています。
iptablesでフィルタの設定を行なっているのですが、sshの通信を許可するため

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp -d 192.168.1.48 -j ACCEPT
iptables -A INPUT -p tcp -d 192.168.1.48 --dport 22 -j ACCEPT
iptables -A INPUT -p udp -d 192.168.1.48 --dport 22 -j ACCEPT

このような感じで記述しています。
この設定で、確かにsshでの接続は可能になるのですが、フィルタする前より接続に要する時間が10秒ほど遅くなります。
また、コンソール上で、iptables -Lを実行したとき、1行表示するごとに10秒ほどの待ちが発生します。
(netstatを実行した際、Active Internet connectionsを表示するときだけ同様の待ちが発生)

しかし、udpを全てACCEPTにするため、
iptables -A INPUT -p udp -d 192.168.1.48 -j LOG
iptables -A INPUT -p udp -d 192.168.1.48 -j ACCEPT
を追加すると、このような現象は発生しなくなります。

syslogのmessagesを確認すると、
Oct 3 16:55:15 linux kernel:
IN=eth1 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
SRC=(dnsサーバ) DST=192.168.1.48 LEN=141 TOS=0x00 PREC=0x00 TTL=63
ID=41082 PROTO=UDP SPT=53 DPT=32809 LEN=121
のようなログが出ます。(iptablesのLOGトラップで採取)

DNSサーバ(udp/53)から現在設定中のサーバー(udp/32809)に対して問い合わせが発生している事がわかりました。

dnsサーバはルーターで、MN128-SOHO IB3であり、内部で動作しているDNSが何
かは解っていません。
また、dnsリレーの設定は別のホストを指しているため、設定中のサーバーに
問い合わせは発生しないはずでした。

この通信が何故発生しているのか、DNSの動作について教えていただけますか?
「製品固有の仕様だから解らない」という問題かもしれませんが、一般的な動作で「こういうことが考えられる」という情報があれば是非お聞きしたいです。

_________________
ITなんて、無くたって人は生きていけます。
人の生き死にに関わるくらいの言い方なんてやめてください。
あまり僕を責めないでください。
Tasuku
大ベテラン
会議室デビュー日: 2006/09/14
投稿数: 106
お住まい・勤務地: tokyo
投稿日時: 2006-10-03 17:51
引用:

DNSサーバ(udp/53)から現在設定中のサーバー(udp/32809)に対して問い合わせが発生している事がわかりました。



「現在設定中のサーバ」が「DNSサーバ」に問い合わせをし、
その「結果の応答」が返ってきているだけではないでしょうか。

ソースIPアドレス「DNSサーバ」、ソース・ポート「53」のUDPパケットだけ
許可してあげればよいと思います。

引用:

この設定で、確かにsshでの接続は可能になるのですが、フィルタする前より接続に要する時間が10秒ほど遅くなります。



これは名前解決できないため、タイムアウト待ちをしているのだと思います。
JIMMY
常連さん
会議室デビュー日: 2004/10/26
投稿数: 32
お住まい・勤務地: 東京
投稿日時: 2006-10-03 18:56
引用:

Tasukuさんの書き込み (2006-10-03 17:51) より:
「現在設定中のサーバ」が「DNSサーバ」に問い合わせをし、
その「結果の応答」が返ってきているだけではないでしょうか。

ソースIPアドレス「DNSサーバ」、ソース・ポート「53」のUDPパケットだけ
許可してあげればよいと思います。


DNSの名前解決の結果って、別経路(という言い方は良くないけど)でDNSからのcome inパケットで返ってくるものなのでしたっけ?
udp通信で、私が何か大きな勘違いをしていたということですかね?

引用:

これは名前解決できないため、タイムアウト待ちをしているのだと思います。


名前解決をしているだけであれば、多分そうですね。

------------------------- 追記
名前解決について、OUTPUTパケットだけ通っていれば可能だと思ってましたがINPUTパケットもsource port53を許可しておく必要がありましたね。
昔は設定できてたと思うので、いつの頃からか勘違いをしていたようです。
失礼いたしました。




[ メッセージ編集済み 編集者: JIMMY 編集日時 2006-10-03 19:24 ]
Tasuku
大ベテラン
会議室デビュー日: 2006/09/14
投稿数: 106
お住まい・勤務地: tokyo
投稿日時: 2006-10-03 19:23
引用:

DNSの名前解決の結果って、別経路(という言い方は良くないけど)でDNSからのcome inパケットで返ってくるものなのでしたっけ?
udp通信で、私が何か大きな勘違いをしていたということですかね?



UDPはコネクションレスなので、リクエストと応答は完全に別物です。

あえて両者を結びつけるものがあるとすれば、
リゾルバ側がリクエスト・パケットを発した送信ポート(UDP)に向けて、
DNSサーバ側が応答パケットを返してくれるところくらいです。

具体的な設定はこのあたりが参考になるかと↓
http://www.atmarkit.co.jp/flinux/rensai/iptables01/iptables01c.html
JIMMY
常連さん
会議室デビュー日: 2004/10/26
投稿数: 32
お住まい・勤務地: 東京
投稿日時: 2006-10-03 19:29
引用:

Tasukuさんの書き込み (2006-10-03 19:23) より:

あえて両者を結びつけるものがあるとすれば、
リゾルバ側がリクエスト・パケットを発した送信ポート(UDP)に向けて、
DNSサーバ側が応答パケットを返してくれるところくらいです。



解説ページまで紹介くださってありがとうございます。
リゾルバの動作はちゃんと理解していなかった部分なので、勉強になりました。
ありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)