- - PR -
Linuxルーターを構築したら外が半分くらい見えなくなりました。
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-10-27 05:33
korotinといいます。
いつも参考にさせていただいています。 Vine Linux 3.0を使ってLinuxルータを構築してみたのですが、 マスカレードのせいか、LANのマシンが外を見ることができないと言う 状況になっています。ここまではよくあることかなと思います。 構成としてはこんな感じです。 eth0 eth1<192.168.1.1> Dモ ┌───────┐ <192.168.1.100> Sデ----│ Linux BOX │--┬ windows 2000 Lム └───────┘ │ ↓ │ <192.168.1.102> WANへ └ Mac OS X # WAN側のIPは固定IPをもらってはいないので、動的です。 ただし、まったく見れないと言うことではなくて、IPを直打ちしてやると LAN内のマシンでもブラウズができたりPINGは通るということがわかってい ます(www.google.comでは繋がらず、66.102.7.147のように直打ちで行け るということです)。フィルタリングはiptablesを用いて構築しましたが、 一応LAN内のマシンがIMやメール、ブラウジングなどできるまではINPUT, FORWARD,OUTPUTチェインは全てACCEPTでやっています。 ISPへはADSLモデムを介しrp-pppoeを用いて接続しています。rp-pppoe セットアップ時に2-MASQUERADEを選び、firewall-masqに書いてあるのを 全部消して以下のiptablesの文をボリボリ書いてみたのですが…… ---------------------------------------------ここから #!/bin/sh EXTIF=ppp+ iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward ---------------------------------------------ここまで # iptable -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination # iptables -t nat -L Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- anywhere anywhere Chain OUTPUT (policy ACCEPT) target prot opt source destination んな感じです。 とりあえずLANのマシンが外を見ることができれば良いと言う最低限の設定の つもりなのですが前述の通りIP直打ちでないと接続できてないような状況です。 解決策があればご教授いただけないでしょうか。DNS回りのような気もするので すが途方に暮れつつあります。 長くなってしまいましたが、よろしくお願いします。 _________________ * * * * * * * * * * * * * * * * * * * * * Now you know,no one get out alive. @ころちん * * * * * * * * * * * * * * * * * * * * * | ||||||||||||
|
投稿日時: 2004-10-27 07:34
一応確認です. 「見えなくなった」のではなくて「見えない」のですよね? ある時点から見えなくなったのであれば話は別かと.
名前解決ができていないためでは? 実際に名前解決できているか確認は? client の DNS の設定は? さらにその DNS server との疎通は? | ||||||||||||
|
投稿日時: 2004-10-27 10:39
WAN側(ADSL側)のMTU の設定はどうなっていますか?
| ||||||||||||
|
投稿日時: 2004-10-27 23:47
ご返信ありがとうございます。
>>kazさん
タイトルの書きかたがまずかった様です、すみません。ご指摘の通り 構築時から「見えません」。
クライアントマシン(Windows2000,MacOSX)のDNS設定は全てこのLinuxルーター (192.168.1.1)へ振っています。ゲートウェイも192.168.1.1へ。Linux側ではnamed を特に走らせてはいません。resolv.confにはrp-pppoeがISPから取得したDNSが 書き込まれているのは確認しました。 Linux上からではブラウズ、メールなど正常に使うことができるので、名前解決は できていると思います。LinuxルーターにISPのネームサーバーを参照させれば (resolv.confを参照させれば)できると思ったのですが、記述が足りないのでしょうか? >> holicさん
この場合ppp0のMTU値になるのでしょうか。それですとifconfigで確認できる限り 「1454」に設定されています。WANからのデータを受けるインターフェース(eth0)は 「1500」になっていて、これで良いのかなとちょっと疑問に思っています。 | ||||||||||||
|
投稿日時: 2004-10-28 00:24
こんばんわ.
Linux router で DNS service を提供していないのに, client pc で Linux router を DNS server として名前解決していると? それは無理だと思います. Linux router は resolv.conf の設定で名前解決が出来るのはむしろ当然です. 試しに Linux router の resolv.conf に書かれている nameserver の IP address を client pc の DNS server として定義してみてください. で,仕組みとしてそれでは「拙い」かもしれませんね. DNS が DHCP で定義されるなら,変更されることもあるでしょうし. その場合は,Linux router 上で proxy を動かしては如何かと. そうすれば,client pc は www browser で proxy の設定をするだけで, 名前解決の必要なく Internet へ接続できます. あるいは,Linux router で named を動かして, DHCP で定義される namaeserver に forward してあげれば良いかも. そうすれば今の client pc の設定のままでも良いですが, 前述のように DNS server の IP address が変更されたらダメダメです. | ||||||||||||
|
投稿日時: 2004-10-28 23:29
こんばんは。
検証作業していたら1日経ってしまいました。
まずresolv.confに書かれているDNSのアドレスをクライアントのDNSに入れてみると うまくいきました。そうだろうと思います。 ええと、私はLinuxルーターと言ってしまいましたが、要はNAPTしてクライアントの PCでブラウズなどのサービスが提供できればいいだけなのですが、タイトルごとひね くれていたので単なる「ルーターとしての設定」がわからない・・・というわけではありませんでした。この点、お詫びします。 しかし、ご提案いただいたnamedやDHCPでのDNSサービスを走らせないといけないと なると市販のブロードバンドルーターというのはどうやって名前解決をしているかな、 という疑問が残ります・・・ 設定をもう一度見直してみます。ただ、自宅サーバーを立ち上げるWeb上の資料では DNSの設定のことが飛ばされていたりして何でぇ?とか思ったのですがnamed走らせたり しているんでしょうか。 すみませんが、もう少しお付き合いいただけないでしょうか。 よろしくお願いします。 | ||||||||||||
|
投稿日時: 2004-10-28 23:36
MTU は、ppp0 が 1454 になっていれば問題ありません。
DNS キャッシュサーバを実装しているのでしょう。 djbdns の dnscache などを使えば、Linux 上でも比較的簡単にできると思いますよ。 | ||||||||||||
|
投稿日時: 2004-10-29 08:50
おはようございます.
です. named でも同様に cache only な DNS server を構成できます. forward option などで「名前解決を受け付けたら要求を転送」 つまり DNS の proxy を構成すれば良いわけですね. |