IPv6ではポート開放は原則不可と言われているが、実際にできたのでやり方をメモしておく。
やり方はいたって簡単。
① IPv6の光ルータに割り当てられたIPv6のプレフィックスを調べる。
② それを元に自分に向けて開かれているポートの範囲を調べる。
③ あとは光ルータで②のポートの穴をあけてやるだけ。
まずは①自分の光ルータに割り当てられたIPv6アドレス(のプレフィックス)を調べる。
BUFFALOルータなら、管理画面の「CEアドレス」にあるのが IPv6アドレス。これをメモる。
割り当てあられた IPアドレスが「240b:12:3456:7890:a12b:cd3e:45:d6/64」だと仮定すると、その頭の「240b:12:3456:7890:」に「:」を足した「240b:12:3456:7890::」がIPv6のプレフィックスになる。
ルータを見るのが面倒なときはIPv6のグローバルアドレスを取得できる機器(WindowsパソコンやLinux、RaspberryPi)であっても確認できる。
例えば、前回設定した RaspberryPi Zero で
ifconfig した画面にある「240b:12:3456:7890:」はルータと全く同じなので、ここをメモっても良い。
次に、①で得たプレフィックスを元に自分に向けて開かれているポートの範囲を調べる。といってもこのサイトにプレフィックス「240b:12:3456:7890::」を入力して「計算」ボタンを押すだけ。
http://ipv4.web.fc2.com/map-e.html
あくまでサンプル(実在しない)プレフィックスだが、仮に「240b:12:3456:7890::」を入力してポートを調べてみるとこうなる。
この場合だと、例えば6016番ポートから6031番ポートは(IPv6ネットワークにおいて)自分に割り当てられた(自分に向けて開かれている)ポート範囲なので、外出先からこのポートを使って家庭内ネットワークにリモート接続できるということだ。
同様に、10112-10127の範囲、14208-14223の範囲…は自分が使えるポート領域だということになる。
最後に、③ 光ルータで②のポートの穴をあけてやるだけだ。
例えば、
外出先から ポート6016番で家のサーバに接続
家のサーバ ポート80番でHTTPサーバで待ち受け
するには
とすればいい。
HTTPに限らず、例えばVNCやtorrentのためのポート穴あけもできた。
実際に、外部ネットワーク(テザリング中)の iPad からVNCで接続実験してみる。
アプリは「VNC Viewer」を使う。
繋いでみると…
バッチリ繋がった。これでIPv4のときと変わらない運用ができる。
速度は速いし。最高の環境だ。