- - PR -
yahooBBで、クライアント(XP、2000)からインターネットできません。
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-10-22 12:47
yahooBBで、2台のクライアント(XP、2000)からインターネットができるようにしたいのですが、うまくいきません。
サーバー(?)にRedHat9をインストールし、DHCPの設定をしました。(動的に192.168.0.3〜192.168.0.24を割り当て)DHCPはうまくいっているようです。 iptablesの設定を下記のようにしたのですが、クライアントからはインターネットできません。 # echo 1 > /proc/sys/net/ipv4/ip_forward # iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE サーバーにはNICを2枚さしています。 eth0:インターネット側(動的IP) eth1:LAN側(192.168.0.2 gwは192.168.0.1) サーバーはlynxでインターネットにつながります。 GUI環境はいれていません。 DNSの設定はしていないのですが必要なのでしょうか? LINUXは最近始めたばかりで超初心者です。よろしくお願いします。 | ||||
|
投稿日時: 2003-10-22 13:49
ルータ機能のサービス開始が必要だと
思います。 いろんな文献には echo 1 > /proc/sys/net/ipv4/ip_forward で良いと書かれていますがRedhat9では少し 事情が違うみたいです。 /etc/sysctl.conf ファイルの net.ipv4.ip_forward = 0 を1にして再起動、そして /proc/sys/net/ipv4/ip_forwardがまだ0の場合 rc.local に echo 1 > /proc/sys/net/ipv4/ip_forward を追加してみてください。 iptablesでのファイヤーウォール設定は 自分に有った定義をインターネットから 探してみてください。 1スレッド前にも参考になりませんが 一応、、、 | ||||
|
投稿日時: 2003-10-22 21:32
早速のレス、ありがとうございます。
書きもれましたが、ご指摘の箇所、 >/etc/sysctl.conf ファイルの net.ipv4.ip_forward = 1 の設定はすでにしています。再起動後も1になっています。 2003/08/31の”件名:RedHat Linux9でルーター構築 ”に同じような質問の やり取りがありましたので、そちらを参考にして設定を下記のように変更しましたが やはりうまくいきません。 /etc/rc.localに /sbin/modprobe iptable_nat /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_nat_ftp クライアントのIPアドレスを固定にされているようなのでdhcpdをstopし、 固定にしました。 IPアドレス:192.168.0.3 または 5 gateway : 192.168.0.1 DNSサーバ:IPCONFIGで表示されるDNSサーバ /etc/sysconfig/networkに NETWORKING=yes HOSTNAME=*** GATEWAYDEV=eth0 質問された方は、結果、うまくいったみたいなのですが、 こちらはなぜかクライアントはインターネットが見れない状況です。 色々試しましたがうまくいきません。 よろしくお願いします。 | ||||
|
投稿日時: 2003-10-22 22:27
こんばんわ。原因を切り分けるのに以下のことをやってみてください。そして、その結果の報告をお願いいたします。また、そのときのメッセージを正しく書いて(copy & paste)いただけると早く解決すると思います。
1.サーバ側から a. $> /sbin/ifconfig b. #> /sbin/iptables -L (rootで) c. $> ping 202.229.198.216 d. $> ping yahoo.co.jp e. $> ping 192.168.0.3 2.クライアント側から a. $> ipconfig /all b. $> ping 192.168.0.1 (サーバのアドレスです) c. $> ping 202.229.198.216 d. $> ping yahoo.co.jp | ||||
|
投稿日時: 2003-10-23 00:08
便乗ですが
ついでにroute コマンドの表示結果お知らせ下さい。 具体的には、サーバー側とクライアントで /sbin/route -n として、その結果をお知らせ下さい。 またクライアントで /usr/sbin/traceroute www.yahoo.co.jp などとした結果をお知らせ下さい。 | ||||
|
投稿日時: 2003-10-23 09:00
↑ゴミを書いて申し訳ありません。 クライアントはMS-Windowsなので クライアントでは tracert でしたね。 これで判らなければ サーバーで tcpdump -i eth0 と tcpdump -i eth1 を(rootで)同時に実行して見て、クライアントから外部にping をして、 パケットがどこまで流れているか調べて見てください。 (とうぜん、pingの相手は、パケットをフィルタリングしていないホストを 選んでください。 また、Xをインストールしていないのであれば、二つのtcpdumpは 別の仮想端末で実行する必要があります。) 1) サーバーまでクライアントからパケットが届いているか? 2) サーバーから外部にパケットが出ているか? 3) 外部からパケットが戻ってきているか? 4) それをクライアントに転送しているか? を見てください。 | ||||
|
投稿日時: 2003-10-23 11:07
大変失礼しました。
クライアントからもインターネットにつながりました。 水無月様、kt様のご指摘の箇所をコピー&ペーストで返信を作成しているときに 気づきました。 dhcpd.confの内容を確かめところ、option routers に192.168.0.1を 指定していたのですが、”件名:RedHat Linux9でルーター構築 ”のスレを再度良く見るとゲートウェイはeth1のアドレスを指定するようになっていました。 そのように変更するとクライアントからもインターネットにつながりました。 今まで3台のパソコン(98、xp、2000)をLANでつないでいたのですが IPアドレスを192.168.0.2 、3 、4 としてゲートウェイを192.168.0.1にしていたのでそれで良いのかと思っていました。 /etc/sysconfig/network の GATEWAY=192.168.0.1からGATEWAYDEV=eth0に変更した際、疑問に思ったので 再度上記のスレを確認しました。 ネットワークはほとんど分かっていないのですが この設定でいいのでしょうか? | ||||
|
投稿日時: 2003-10-23 12:47
Internet ┃ ┃ ┃eth0 ┏━┻━━┓ ┃Linux ┃ ┗━┳━━┛ ┃eth1(192.168.0.1) ┃ ┃ ┃ ┃ ┃192.168.0.2 〜 4 ┏━┻━━━┓ ┃Windows ┃ ┗━━━━━┛ お話を読む限り、たぶん上記のような構成になっていると思います。「gateway = ネットワークの出口」であるため、各マシンによって出口が変わってきます。たとえば、「Windows」であれば、ネットワークの出口は「eth1(192.168.0.1)」になります。また、「Linux」の場合、「eth0」がそれに相当します。 イメージしにくい場合は自分が家から買い物に行くことを想像するとわかりやすいでしょう。まず、自分の部屋のドアを開けますよね? その後、家のドアを開けますよね?? 「Windows = 自分, eth1 = 部屋のドア, eth0 = 家のドア」と置き換えると何となく見えてくると思います。 おそらく、設定は問題ないと思います。ただし、家の鍵をかける(Firewallの設定)ことをお忘れなく… |