- ベストアンサー
Pingが通らない.Win98<->FreeBSD
フレッツADSLにFreeBSD4.2(98)でルーターを組んでppp+natdでLANを組もうとしているのですが、ルーター のマシン(NIC2枚)は外とつながったのですが、その下のマシン(WIN98)がpingしてもつながりません。 ルーターはカーネルを option IPFIREWALL option IPDIVERT option NETGRAPH option NETGRAPH_SOCKET option NETGRAPH_ETHER option NETGRAPH_PPPOE をFreeBSD handbookのドキュメントの通りに つけてコンパイルして設定ファイルも書いてあります。 ネットワークの設定は、 192.168.1.254 router 192.168.1.1 win98 でrouterから直接ADSLモデムにつながっています。 win98->routerのping ----------------------------------- C:\WINDOWS>ping 192.168.1.254 Pinging 192.168.1.254 with 32 bytes of data: Request timed out. Request timed out. Request timed out. Request timed out. Ping statistics for 192.168.1.254: Packets: Sent = 4, Received = 0, Lost = 4 (100% Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms ----------------------- router->win98のping #ping 192.168.1.1 PING 192.168.1.1(192.168.1.1) 56 data bytes ping: sendto: host is down ping: sendto: host is down ... というかんじなのですが よくわからなくなっていて整理できていないので 過不足あるかもしれませんが アドバイスのほう、よろしくお願い致します。
- みんなの回答 (10)
- 専門家の回答
質問者が選んだベストアンサー
ppp.confを読んで納得しました。一つ前の発言は忘れて下さい。 ここまでくると、ソフトウェアの設定の問題の可能性は低くなってきて、むしろハードウェア側の問題を疑いたくなってきますね。 LANケーブルが断線しているとか、ed4側のLANボードもしくはWin98側のLANボードのハードウェア的な障害、あとLANケーブルのストレート/クロスを間違えてないかとか、そのあたりが気になりますが。
その他の回答 (9)
- ken2
- ベストアンサー率36% (86/235)
FreeBSDとWin98が、同じセグメントにつながっているという前提で、pingが、飛ばないというのは、今までの情報からだと考えにくいので、何かのトラブルだと考えるの適切のようです。同じセグメントにもう1台ホストを入れて、どちらに飛んで、どちらに飛ばないかを確認されてはいかがでしょう。 もう少し、高尚な方法としては、tcpdump等のキャプチャーツールで、FreeBSDのインターフェースをキャプチャーしてみてはいかがでしょうか。 パケットが飛んできているのに受け取らないのかパケットが飛んできていないのかがはっきりします。パケットが飛んできていなければ、物理的な問題でしょう。 物理的な部分からトラブルシューティングをしていくべきだと思います。
- ken2
- ベストアンサー率36% (86/235)
私も同じような感じで、Linuxでやっていますが、物理的な接続は、大丈夫でしょうか? HUBが入っていないとか、ケーブルがストレートとクロスと間違っているとか、きちんとつながっていないとか。 あと、設定の問題なら、win98のゲートウエイアドレスは、192.168.1.254になっているでしょうか? netstat -rn等のコマンドで、ルートを確認したほうがいいのではないでしょうか?
補足
netstat -rn の出力です。ed4を外向きに、fe0を家向きに交換した設定での出力です。 ------------------- Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 165.76.255.10 UGSc 2 18 tun0 127.0.0.1 127.0.0.1 UH 0 0 lo0 165.76.255.10 165.76.97.1 UH 2 0 tun0 192.168.1 link#2 UC 0 0 fe0=> 192.168.2 link#1 UC 0 0 ed4=>
- cocky
- ベストアンサー率57% (232/402)
念のため聞きますけど、まさかHUBを経由しないで、router機~Win98機をストレートケーブルで直結してませんよね?
補足
HUBはかませてあります。 ストレートケーブルです。
- cocky
- ベストアンサー率57% (232/402)
今回のケースはnat以前の問題で、同一LANにおけるpingが通らない、という問題ですから、gateway_enableやppp_enable、natd_enable等は関係ないと思うんですが。>selenityさん あと、今ifconfigの出力見直していて気づいたんですが、ひょっとしてed4とfe0のネットワークケーブルを逆に差しているってことはありませんか? どうも下の出力を見ていると、tun0のlink(PPPoE)がed4に対して張られているように読めるので、だとすると、192.168.1.1と対向するのがfe0=192.168.2.254ということになってしまいますから、どちらも相手ホストを認識できないのは当たり前ですね。
補足
えーと、すみません勉強不足で出力を見てもそこの判別が 出来ないのですが、tun0にed4のIPV6のアドレスが記述 されている所に関係があるのでしょうか? 小生でもわかるようにお願い致します。 今ちょうどカーネルコンパイル真っ最中で この調子だと明日までかかりそうなのですが、 IPFIREWALL_DEFAULT_TO_ACCEPT を組込まなくてすむならそれに越したことはないので。 よろしくお願いします。
- selenity
- ベストアンサー率41% (324/772)
たぶん、 /etc/rc.confに gateway_enable="YES" の記述が無いのでしょう。 複数のNIC間でパケット転送を行う場合は 上記記述が「必須」です。 また、 firewall_enable="YES" firewall_type="OPEN" も/etc/rc.confの中に記述しておきましょう。 ただ、firewall_type="OPEN"で使用するなら、 options IPFIREWALL options IPDIVERT の設定は不要だと思うのですが、、、 PPPoEを使うなら、さらに natd_enable="YES" natd_interface="ed4" natd_flags="..." とNATの設定をする必要があります。 間違っても、Private AddressをINTERNET上に流さないでね。
補足
rc.confの関係のありそうな所です。 今これを見てて思ったのですが forward_sourcerouteこのフラグはどういう意味なんでしょうか? これが原因? 念のためその下に/etc/ppp/ppp.confも付けます。 /etc/default/rc.conf /etc/rc.conf ------------------------------------- networks_interfaces="ed4 fe0 lo0" ifconfig_ed4=inet192.168.1.254 netmask 255.255.255.0" ifconfig_fe0="inet 192.168.2.254 netmask 255.255.255.0" firewall_enable="YES" firewall_script="/etc/rc.firewall" firewall_type="OPEN" FIREWALL_quiet="NO" firewall_logging="YES" firewall_flags="" natd__program="/sbin/natd" natd_enable="YES" natd_interface="tun0" natd_flags="-dynamic yes" ifconfig_lo0="inet 127.0.0.1" ppp_enable="YES" ppp_mode="ddial" ppp_nat="yes" ppp_profile="default" ppp_user="root" pppoed_enable="NO" gateway_enable="no" forward_sourceroute="NO" ------------------------------------- ppp.conf ------------------------------------- default: set device PPPoE:fe0:papchap setmru 1454 set mtu 1454 set authname ***** set authkey ***** set speed sync set login set log Phase Chat LCP IPCP CCP tun command set dial enable lpr set ifaddr 10.0.0.1/0 10.0.0.2/0 add default HISADDR nat enable yes nat log yes nat same_ports yes nat unreistered_only yes set cd 5 set crtscts off enable dns papchap: set authname ***** set authkey *****
- cocky
- ベストアンサー率57% (232/402)
あと、今回の一件とは直接関係はないですが、ppp.confのMTU/MRUは1454にしておいた方がいいですよ。 フレッツADSLの場合はMTUが1454を超えて設定されていると、サイトによっては全くアクセスができなくなるケースがありますから。
補足
たびたびアドバイスありがとうございます。 この設定についてはNTT配布のCDROMの中の LINUXの設定ファイルに記述があったので コピーしてみました。効果はあるんですね。
- cocky
- ベストアンサー率57% (232/402)
あと、kernelのconfigに option IPFIREWALL_DEFAULT_TO_ACCEPT を付けるか、もしくは「option IPFIREWALL」を外してしまった方がいいかもしれません。 ひょっとしたらipfwが通信を遮断している可能性もあり得るので。 ipfwを使うにしても、とりあえずはipfw無しできちんとnatが通ることを確認してからそのあとで設定しても遅くないでしょう。
補足
/etc/default/rc.confの firewall_type="OPEN" としているのですが、それでもあるのでしょうか? 一応 #OPEN -will allow anyone となっています。 これはtun0経由のみということでしょうか。 option IPFIREWALL_DEFAULT_TO_ACCEPT は何をどの栓をゆるめる設定なのですか? とりあえずこのオプションで試してみます。
- cocky
- ベストアンサー率57% (232/402)
とりあえず「ifconfig -a」の出力を見たいですね。 それを見ればNICがどういう状態かわかりますから。
補足
ifconfig -aの出力です。 ----------------------- ed4: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.1.254 netmask 0xffffff00 broadcast 192.168.1.255 inet6 fe80::280:c8ff:fec9:2e1c%ed4 prefixlen 64 scopeid 0x1 ether 00:80:c8:c9:2e:1c fe0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.2.254 netmask 0xffffff00 broadcast 192.168.2.255 inet6 fe80::200:f4ff:fe75:6f5a%fe0 prefixlen 64 scopeid 0x2 ether 00:00:f4:75:6f:5a media: autoselect supported media:autoselect gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280 gif1: flags=8010<POINTOPOINT,MULTICAST> mtu 1280 gif2: flags=8010<POINTOPOINT,MULTICAST> mtu 1280 gif3: flags=8010<POINTOPOINT,MULTICAST> mtu 1280 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet6 fe80::1%lo0 prefexlen 64 scopeid 0x7 inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500 sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552 faith0: flags=8000<MULTICAST> mtu 1500 tun0: flags=8151<UP,POINTOPOINT,RUNNING,PROMISC,MULTICAST> mtu 1500 inet6 fe80::280:c8ff:fec9:2e1c%tun0 --> :: prefixlen 64 scopeid 0xb inet 165.76.97.1 --> 165.76.255.10 netmask 0xffff0000 Opend by PID 73
- Sarukan
- ベストアンサー率55% (41/74)
FreeBSDから192.168.1.254(自分自身)へpingを打つとどのような結果が返ってくるでしょうか。正常に返ってこないようだとBSD自身が192.168.1.254のNICが認識できていない可能性があるのですが…。
お礼
外向きがfe0(192.168.2.254) 家向きがed4(192.168.1.254) どちらもpingは通ります。 ルーターからはNICは認識されているみたいです。 ほかにどんな原因があるでしょうか?
補足
WIN98側のネットワークの設定は コンパネのネットワークのNICのTCP/IPのプロパティ は現在 IP 192.168.1.1 netmask 255.255.255.0 gateway 192.168.1.254 DNSはdisableになってます。 DHCPdもroutedも動いてないので手動設定なんですが、 そこの所はどうなんでしょうか。 一応、c:\windows\hostsには/etc/hostsと同じようなかんじになっています。 win98側はwinipcfgでちゃんと設定が出るし BSD側はping通るし、ifconfig出るし問題ないと思います。 今しがたカーネルコンパイル終わったので ちょっとケーブルを変えてやって見ます。 長くなりますがよろしくお願いします。 ちなみに使いまわしているストレートケーブルを使うので そこの所は問題ありません。 では