- PR -

iptablesとipvsadm:名前解決ができません

1
投稿者投稿内容
asuka
会議室デビュー日: 2008/10/06
投稿数: 2
投稿日時: 2008-10-06 15:45
はじめて投稿させていただきます。
最近CentOSを触り始めて、見よう見まねですが、iptablesとipvsadmでwebサーバの負荷分散設定にチャレンジしています。
実際にはwebサーバ2台で負荷分散する予定ですが、とりあえず動き方を見てみたくてLB1台、webサーバ1台でテストしているのですが、webサーバ側から名前解決ができずに困っています。プロバイダのDNSを利用していますがLB上では名前解決できます。

インターネット
|
LB-eth0:10.0.0.1
LB-VIP:10.0.0.10
----------------------------------
LB-eth1:172.16.0.254
    |      |
    |      |
WEB1:172.16.0.1 WEB2:172.16.0.2

[ LBのiptables設定 ]
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT all -- 0.0.0.0/0 10.0.0.10 to:172.16.0.1

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- 172.16.0.1 0.0.0.0/0 to:10.0.0.10

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain INPUT (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0

Chain FORWARD (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain RH-Firewall-1-INPUT (2 references)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255
ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0
ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

[LBのipvsadm設定]
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.0.10:80 lc
-> 172.16.0.1:80 Masq 1 0 0

tcpdumpを見たらeth0で止められているように見えたので、SNATの設定を追加したのですが状況は変わりません。

ご教示頂けませんでしょうか?
よろしくお願い致します。
ゆっぽ
常連さん
会議室デビュー日: 2006/02/15
投稿数: 40
投稿日時: 2008-10-06 16:05
LBサーバにてIPルーティング許可されてますか?

/proc/sys/net/ipv4/ip_forward

の内容を確認すれば、ルーティングの許可が確認できます。
図を見る限り、LBサーバはInternetを出る際のWEBサーバの
GATEWAYになっているようなので、御確認してみてはいかがでしょうか。

[ メッセージ編集済み 編集者: ゆっぽ 編集日時 2008-10-06 16:28 ]
asuka
会議室デビュー日: 2008/10/06
投稿数: 2
投稿日時: 2008-10-06 16:52
ゆっぽさん、返信ありがとうございます。
LBサーバの/proc/sys/net/ipv4/ip_forward ですが、1を入力して有効にしています。
WEBサーバのデフォルトゲートウェイはLBのeth1:172.16.0.254を指定しています。

IPアドレス指定だとちゃんとSNATされて、WEBサーバから外部のWEBサーバへtelnet接続可能なのですが。

ちなみにWEBサーバ上でのdig実行結果です。
dig www.yahoo.co.jp
; <<>> DiG 9.2.4 <<>> www.yahoo.co.jp
;; global options: printcmd
;; connection timed out; no servers could be reached

ルーティングの問題なのでしょうか?

よろしくお願いします。
ゆっぽ
常連さん
会議室デビュー日: 2006/02/15
投稿数: 40
投稿日時: 2008-10-06 17:13
>>LBサーバの/proc/sys/net/ipv4/ip_forward ですが、1を入力して有効にしています。
>>WEBサーバのデフォルトゲートウェイはLBのeth1:172.16.0.254を指定しています。
>>IPアドレス指定だとちゃんとSNATされて、WEBサーバから外部のWEBサーバへtelnet接続可能なのですが。

了解です。Internet上のサーバにアクセスできるということは、
ルーティングの問題ではないのでしょう。

ちなみに、WEBサーバのresolv.confはきちんとプロバイダのDNSを設定されているのですよね。
であれば、あとはフィルタリングが原因と思いますが。。。
ざっと確認しましたが、特に問題があるようには。。。

WEBサーバ側のiptablesの設定等も見てみてはいかがでしょうか。

後は、iptablesにログを出すよう設定すればもっと詳細なトラブルシューティングが
可能となると思います。




_________________
############################################
【OpenLaszlo】っておもしろいなぁ。
1

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