最新更新日 2001.06.11.

ケーブルテレビ接続。
 私は海浜幕張の幕張ベイタウンと言う所に住んでいるのですが、ここは「光収容」な街で、NTT の ADSL サービスは受けられません。以前、その事を知らずにNTT の web から申し込んだのに、今になってもも全く持って音沙汰なしです。せめて連絡くらいはよこせよな:-(。

 で、そんなこんなの状態だったのですが、千葉市をベースに存在するケーブルネットワーク千葉が、僕の住んでいる街にもケーブルテレビインターネットのサービスを開始してくれました\(^^)/。基本的にはただちに申し込んで、インタロップが始まる前までに工事を完了してくれました。

 インタロップでは ShowNet があるのでここから接続して自宅のマシンにアクセス出来る様にしたわけです。ShowNet なので、IPv6 りーちゃぼぉな環境で自宅にアクセスできるわけです。ついでにセキュリティの事も確認しつつ・・。と、言う感じですね。はい。

 話は横道にそれましたが、今回の接続までのいきさつをツラツラと書き連ねてみたいと思います。まずは接続する為の条件ですが、

o. 早さは下りが 256kbps の様だ
o. DHCP 接続だけれどグローバルな IPv4 アドレスをくれるようだ
o. ケーブルモデムはレンタルだそうだ
o. 月々 5,600yen だそうだ

 とまぁ、こんな感じで更に一歩踏み込んで聞くと、

o. IPv4 アドレスはもう一個使うと 1,000yen プラスだ
o. IPv6 サービスはしていない
o. IPv4 グローバルの固定サービスはしていないが、今後のサービスとしては検討している
o. nat した場合、その動作保証はしない

 みたいな感じでしたが概ね良い感触を得たので契約しました。さて、早速こちら側の環境を構築しないと・・;-)。と、言う事で以下の様にすることにしました。

o. グローバルな IPv4 アドレスとはいえ、DHCP なので、IPv4 でのサービスの提供はやはりやめよう
o. グローバルな IPv4 アドレスがあるので dtcp で IPv6 トンネルして IPv6のサービスをしよう
o. NAT して LAN 接続しよう
o. セキュリティも一応は大切だよね

 てな所でしょうか。と、言う事で、工事が完了したので早速自宅のネットワーク構築ですね。ふみふみ。

GateWay サーバの準備。
 今回は、今までお出かけ時に持っていっていたThinkPad535E(boss) に NIC 二枚刺しにして GW サーバとする事にしました。24h 運用を考えた場合、デスクトップ機では騒音、電気代問題が浮上するし、なんと言っても NotePC は UPS を積んでいる点が評価大です;-)。
#かと言って、CPU AMD486/MEM 16MB の リブレット 20 ではちっと役不足です。

 GW サーバが決まったので、ケーブルモデムから boss に接続します。いつものように text base のネットワーク構成図です;-)。あ、下の図は IPv6 トンネルは載っていません。図がややこしくなるので・・;-P。

     +-------+
-----|  CNC  |------------------- InterNet
     +---+---+            
         |
         |
   +-----+-----+
   |CablleModem|
   +-----+-----+
         |ed1:dhclient によるグローバル IPv4 アドレス
    +----+----+
    | FreeBSD | Hostname: boss
    +----+----+
         |ep0:IPv4:192.168.1.254/IPv6:3ffe:505:2019:1::1
         |
      +--+--+
      | HUB | 
      +--+--+
         |  +---------+
         +--+ FreeBSD |  IPv4:192.168.1.7/IPv6:3ffe:505:2019:1:2e0:7dff:fe84:18b4
         |  +---------+
         |  +---------+
         +--+ Win2000 |  IPv4:192.168.1.2/IPv6:3ffe:505:2019:1:260:97ff:fe92:cebf
         |  +---------+
         |  +----------+
         +--+ Solaris8 | IPv4:192.168.1.5/IPv6:3ffe:505:2019:1:260:8ff:feb0:7e58
            +----------+
 さ、GW サーバである boss に必要なのは、NIC 二枚と、NAT の機能です。その内、外側向けの NIC では dhclient を動かす必要があります。以下の様に/etc/rc.conf に指定しました。これで、ed1 側は DHCP のアドレス、ep0 には LAN のアドレスが付きました。
----------------
defaultrouter="NO"
gateway_enable="YES"

# --- PCCARD --- #
#pccard_ifconfig="inet 192.168.1.254  netmask 255.255.255.0"
#pccard_ifconfig="DHCP"
# --- IFCONFIG --- #
ifconfig_ep0="inet 192.168.1.254    netmask 255.255.255.0"
ifconfig_ed1="DHCP"
# --- #
----------------
 DHCP クライアントとしては特に問題無く機能しますが、/etc/resolv.conf などは DHCP で塗りつぶされてしまいます。GW サーバに DNS が立ち上げた場合には、ドメインは自分のを利用したいと思うのでこの DHCP の機能は結構大きなお世話ですね。なので動的に変更されないようにしましょう。/etc/dhclient.conf と言うのを設定します。詳細に付いては、man dhclient.conf してもらうとして、私の場合は以下の様に設定しました。
----------------
supersede domain-name "running-dog.net";
supersede domain-name-servers 0.0.0.0;
----------------
 これで、ドメイン名と nameserver は固定となり、/etc/resolv.conf はプロバイダのモノに上書きされなくなります。ちょっと説明をすると、上の行がドメイン名、下の行がネームサーバの指定です。ネームサーバに自分のマシンを示す場合は動的な IP アドレスでは無く、localhost、もしくは 127.0.0.1 が良いと思われるのですが、リゾルバ的にみると、0.0.0.0 と記述するのが正しいみたいです。

 続いて NAT に付いてですが、 natd では無く、今までも利用して来た ipnat を利用します。ipnat の設定などは、以前に書いているのでそっちを参考にしてください。

----------------
map ed1 192.168.1.0/24 -> 0/32 portmap tcp/udp auto
map ed1 192.168.1.0/24 -> 0/32
----------------
 こんな感じでルールを書くと NAT のパケットも外に飛んでいきます。後は DNS サーバを立てたり httpd を起動したりすれば、もうサーバです;-)。

 ipnat は一部のポートを別のマシンへリダイレクトする機能も持っています。GW マシンのスペックが貧弱である場合、DMZ に配置したマシンにパワーの必要とする処理を飛ばす事も可能です。

----------------
map ed1 192.168.1.0/24 -> 0/32 portmap tcp/udp auto
map ed1 192.168.1.0/24 -> 0/32
#
rdr ed1 0.0.0.0/0 port 20 -> 192.168.1.7 port 20
rdr ed1 0.0.0.0/0 port 21 -> 192.168.1.7 port 21
rdr ed1 0.0.0.0/0 port 80 -> 192.168.1.7 port 80
----------------
 ed1 に来た port 20/21/80 のパケットを 192.168.1.7 の port 20/21/80 にリダイレクトする。と、言う書き方も可能です。これを利用するとますます素晴らしいネットワークが構築されましたね。

 これで、サクサクと利用出来る環境になりました;-)。

IPv6 な環境。
 前項で IPv4 の GateWay サーバと、NAT、各種サーバが整ってサービスが運用できるようになりました。IPv4 は NAT を使うとたまたま LAN 内へのアクセスを抑制できるのでそんなに大げさな仕掛けは必要ないですね。

 じゃ、次はいよいよ本命の IPv6 の設定です。私のページを読んで頂ければ解ると思いますが、私はグローバルな(IPv6 的に言うと、「集約可能グローバルユニキャストアドレス」) アドレスを持っているのでそれをそのまま使い、外部に(から)対しぴあつーぴあな接続をします。

 まずは設定からですが、一番迷ったのは NIC 二枚刺しな GW のどっちを利用するのだろう?と、言う事でした。結局今回は内側の NIC を使う事にしました。以下は /etc/rc.conf の設定です。

----------------
ipv6_enable="YES"
ipv6_network_interfaces="ep0"
ipv6_default_interface="ep0"

ipv6_gateway_enable="YES"
# 3ffe:505:2019::/48
ipv6_prefix_ep0="3ffe:505:2019:1"
----------------
 ま、グローバルアドレスなので、どっちの NIC を使っても問題は無いでしょう。なんと言っても、IPv4 で NAT しているマシンでも IPv6 はグローバルなので、外からガシガシアクセスが来るから全然関係ないですね。

 と、言う事で、設定が全部終わったので利用してみると、ぬぁるほろ。こりゃーえーわ。ちゃんと使えているわ。と、言う感じです。dtcp を利用しているので IPv4 アドレスが変更になっても IPv6 トンネルはずっと続いています。なのでなんの不安も無いです。この辺りは、今野さん のページ を見るとその効能が伺え知ることが出来ます;-)。

 と、言う事で、IPv6 アドレスを持っていると IPv4 なサーバに固執する必要がなくなるので DHCP なサービスでも良いかな。と、言う気になります。ただし、東急沿線の皆さんは悲しいですね。DHCP でプライベートな IP アドレスを配っている某ケーブルテレビ会社は何とかならないのでしょうか・・。

 そんなこんなで、インタロップの会場、ShowNet から自宅にアクセスしてみました。去年は IPv6 Only だった ShowNet も今年は IPv4 が使えるようになっていました。驚き・・。私は IPv6 環境だけであっちゃこっちゃアクセスしてみました。自宅にも IPv6 でアクセスしてみまたが、ちゃんと見えましたよ。良かったですよ。はい。と、言う事で案外簡単なケーブルテレビの接続でした;-)。

 さて、一応、IPv6 なサーバを書いておきます。ガシガシアクセスしてください。また、ちゃっとも用意したので伝言板的利用で書き込んで行って頂けると嬉しいです;-)。  →  http://v6.running-dog.net/



Copyright (c) 1997-2004 takachan@running-dog.net All Rights Reserved.