交換機の工事が終わったので、家庭内のネットワーク構成を変更した。
夜中の12時過ぎにはじめて、6時頃までかかってしまった。
まずは、ルータの設定のみ変えようと思って、ルータの電源を入れてPCと繋いでみたが、回線と繋がっていないと設定画面までいけないらしく、単体での設定ができなかった。
そこで、先に現在のルータであるFreeBSDの設定を変えた。(ほぼ/etc/rc.confの変更)
  • 4つあるネットワークインターフェイスのうち、つかうものをrl0のみとし、192.168.0.2とする。(以前は192.168.0.1だったが、新しいルータを192.168.0.1とするため)
  • ホスト名を変える。(gwと言う名前だったので、gwは新しいルータに譲る)
  • named周りの設定を変える。
  • pppやipfilter、ipnatが起動時に立ち上がらないようにする。
これで、FreeBSDは再起動して、dhcpサーバを止める。新しいルータを光終端装置、アナログ電話、HUBに繋いで電源ON。
Windows PCからブラウザ経由でルータの設定を変更。
  • プロバイダのpppoeアカウントを設定。フレッツスクエアもデフォルトで有効に
  • LAN側IPを192.168.1.1から192.168.0.1に変更。
  • dhcpサーバを停止。
  • ポート53を192.168.0.2に飛ばす。
これで、ルータも再起動して、FreeBSDのdhcpサーバを起動してみた。
が、WindowsでIPアドレスが取れなくなった。
さんざん悩んで、FreeBSDが自分自身にpingを打っても帰ってこないことに気づく。何度か再起動したりしているうちに、All blockでipfilterが動いていることを発見。
カーネルのoptionsでIPFILTERって書いてあると、/etc/rc.confでipfilter_enable="NO"って書いてあっても、ipfilterが効いてしまうらしい。
しょうがないので、ほとんどpassするようなipf.rulesを書いて、ipfilterを有効にしたら、dhcpとかnamedによる名前引きができるようになった。
後は、postfixとか、squidとか、imapdとか、それぞれ設定ファイルを変更して、LISTENするアドレスを以前のグローバルIPから192.168.0.2に変更していき、無事に起動したら新しいルータに静的NATの設定を追加していく。
次にはまったのがapache。
うちの環境は、名前ベースのバーチャルホスト設定になっていて、たとえばwww.wizard-limit.netだったら普通の外向けのサービス。sns.wizard-limit.netだったらopenpneって感じ。
これの設定をいまいち理解していなかったらしく、LISTENするインターフェイスが192.168.0.2だけになったらうまく動かなくなってしまった。(外から見ると403)
しょうがないので、apacheのマニュアルを読み直して、間違いに気づいて直したら、なんとか元通り見れるようになった。
一応間違いの内容を書いておく。うちのように一つのIPアドレスで名前によるバーチャルホストを使う場合、関係するディレクティブは以下の3つ。
NameVirtualHost
NameVirtualHost *:80
とか書く。IPアドレスベースのバーチャルホストを併用しない場合は、*:80で良い。IPアドレスベースも併用する場合は、使うIPアドレス毎に書く。
VirtualHost
<VirtualHost *:80>
</VirtualHost>
バーチャルホストの数分書く。NameVirtualHostで指定したものと同じアドレスを書く。
ServerName
ServerName www.wizard-limit.net
VirtualHostの内側に書く。
NameVirtualHostで指定されたIPアドレスにアクセスがあると、クライアントが指定した名前とServerNameが一致するVirtualHostを探し、一致したものがあればそれが使われる。一致したものがなければ最初のVirtualHostが使われる。
私の間違いは、VirtualHostとServerNameの意味を逆に捉えていて、VirtualHostで指定した名前が一致するものが選択されると思っていた。(ServerNameはおまけだと思っていた)

ここまでの状況を整理しておく。
  • ルータは192.168.0.1。
  • dhcpサーバは192.168.0.2で、dhcpで指定されるDNSサーバは192.168.0.2。デフォルトルータは192.168.0.1
  • dhcpで案内されるwpad.datで指定されるproxyサーバは、192.168.0.2
次に、フレッツスクエアにアクセスしてみることにする。
ルータの設定は、「要求時接続」で「.fletsにアクセスがあったとき」。
が、ブラウザからアクセスしてもうんともすんとも言わない。
いろいろ試行錯誤した結果、以下の推測をした。
  • DNSサーバがルータではなくFreeBSDで、forwardersにフレッツスクエアのDNSサーバのアドレスを指定しているが、オンデマンド接続だと名前を引きたいときにはフレッツスクエアのDNSサーバにアクセスできない。
  • squid経由でアクセスした場合、名前ではなくIPアドレスで行くので、「.fletsにアクセスがあったとき」と言うルールに引っかからない。
とりあえず、接続形態を常時接続にしたら、名前は引けるようになった。
しかし、やっぱりwebはうまく見れない。
2番目の推測が当たっているとすると、ルータがフレッツスクエア向きのリクエストをうまくルーティングできていないのではないかと思い、ルールに「あて先が.flets」だけではなく、宛先のIPアドレスがフレッツスクエアだったら、を追加した。フレッツスクエアのアドレスブロックは、ルーティングアドレス情報|フレッツ・スクウェア|フレッツ公式|NTT東日本を参考にした。
これで、無事にフレッツスクエアが見れるようになった。

1番目の推測はビンゴだったようで、forwardersの設定を192.168.0.1に変えたら、オンデマンド接続ができるようになった。
ひょっとしたら、これをやるだけでIPアドレスブロックの指定はいらないのかも知れないけど、検証するのが面倒なのでこのまま行く。

続いて、IPv6の実験をしようと思って、brancoにアクセスしてみる。
前は、「IPv6じゃないよん」と言われて会員登録ができなかったけど、今回はルータがIPv6ブリッジになるので、無事に会員登録ができた。
しかし、その後動画を見ようとするとbrancoのクライアントが落ちてしまった。
brancoのサイトを見ていたら、無線LAN版のβが出ていたので、こちらもインストールしてみたが、同じように落ちた。

気を取り直して、今度はフレッツスクエアv6にアクセスしてみた。
IEじゃないとアクセスできなかったが、フレッツ接続ツールとやらをインストールした上、なんかアクティブXコントロールをインストールしたら無線LAN経由でもv6サイトにアクセスできた。(ただし、proxyを経由しない場合のみ。squidをv6対応すれば行けるのかな?)

な~んてことをやっていたら朝になっていた。

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: ネットワーク構成変更

このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/1704

コメントする

このブログ記事について

このページは、falseが2008年10月11日 14:33に書いたブログ記事です。

ひとつ前のブログ記事は「ルータ移行計画」です。

次のブログ記事は「openvpn(3)」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

広告

Powered by Movable Type 6.1.1