先日から行っていた社内のインターネットサーバーの更新はほぼ順調に終了した。
新たにFreeBSDでサーバーを2台起こしたが、1台はMainDNSでDNSサーバーのみ
こちらはシングルホームの単純なサーバーなのでついでに作成した(本来は依頼してた物の
もう一台のサーバーの動作検証等の為にどちみち仮に起こす必要があったので)
問題のもう1台が複雑で、
・IPv6ルーターとしてIIJのトンネリングサービスを利用してIPv6Cloudに接続
・他拠点へIPv6ネットワークを分割して再ルーティングするDTCPサーバー
・念のためDNSのスレーブサーバ およびIPv6用サブドメインのMasterDNS
・外部サーバーに同期させるNTPサーバー
・内部クライアントのアクセス用 Proxyサーバー
といった役割を行わせている。
心配していたIIJとのIPv6接続サービスの設定方法だが、予測以上に簡単に接続が完了した。
1.ローカルのインターフェースにIPv6アドレスを設定して
2.仮想IF(gif)を作成し
3.IIJ側トンネルサーバーのIPを指定して2のIFでトンネルを作成
4.route6dを実行しRIPngをしゃべらせる
以上でOK
注意点としては
・IIJ側へは ::/48の集約したルートを通知する(内部の変更をいちいち知らせる理由も
ないしIIJ側の負荷も心配)
→route6d -A x:x:x:x:/48 オプション
・DTCPサーバーで、再分割したリモートネットワーク::/64から、IIJ側へIPv6ネットワークへ
ルーティングを行わせるためには、Ripv6のカーネルルートを読み込ませる必要がある。
→route6d -s オプション
・DTCPサーバーで振り出したリモートネットワークからさらに別のIPv6ネットワークへのルーティング
はStaticRouteを設定する必要がある。
(RIPngは動いてるんだけどなぁー うまく行きません なぜ?)
この辺の設定は/etc/rc.confに入ってるんですが、誰かの役に立つかな?関係のある部分だけ掲載
**** /etc/rc.conf ****
gif_interfaces="gif0" #仮想I/F有効化
gifconfig_gif0="[local ipv4 address] [remote ipv4 address] "
#↑トンネルを掘る。ここでトンネルサーバーのアドレスを指定する
ipv6_enable="YES" #IPv6有効化
ipv6_network_interfaces="lnc1" #内部I/FでIPv6を利用する
ipv6_default_interfaces="lnc1"
ipv6_gateway_enable="YES" #IPv6のルーティングを行う
ipv6_router_enable="YES"
ipv6_ifconfig_lnc1="wwww:xxxx:yyyy:zzzz::1/64" #I/FのIPv6アドレスを指定 ここは/64になる
ipv6_router_flags="-s -A wwww:xxxx:yyyy:zzzz::/48,lnc0"
#/48の割り当てられたアドレスは集約して通知する(他拠点のも送ってねっと)
ipv6_static_routes="ipv6route1"
ipv6_route_ipv6route1="wwww:xxxx:yyyy:aaaa/64 2001wwww:xxxx:yyyy:bbbb::1"
#これは、DTCPSで振り出した先にあるネットワークへのルーティング指定
#~bbbbが拠点のネットワーク ~aaaaがその先のネットワーク
ipv6_firewall_enable="YES" #一応IPv6 Firewall を有効化
rtadvd_enable="YES"
#ローカルのネットワークI/Fにルーターアドバタイズ有効にしてクライアントの自動設定可能に)
rtadvd_interface="lnc1" #ルーターアドバタイズは内側I/Fのみに出す
dtcps_enable="YES" #DTCPサーバーを起動する
dtcps_tunif="gif70" #DTCPサーバーの利用する仮想I/Fの指定
dtcps_prefix="wwww:xxxx:yyyy:cccc::"
#ネットワーク接続で無い(端末形)の場合に使うネットワークアドレス
#ネットワーク型のみでつなぐならいらない
んー IPv6のFirewall設定もちゃんとしないとなぁー
それと、Daemonに寄っては勝手にIPv4とIPv4の両方でListenを始めるので注意!
IPv4で穴を塞いでもv6で穴が開いてたら意味が無いですから...
と言っておきながらSSHがIPv6でもListenしてたので修正(苦笑
コメント