光クロス10Gに変更に伴う自宅サーバーの設定。

結論から言うと、出来る。(改善点はたくさんある) “出来ない”とするサイトも多いようだが、間違いなく出来る。 ドコモnetの光クロスにするとMAP-EのIPv6環境になるので、ISPが指定してきたポートでしかIPv4を使うことが出来ない。 ※MAP-Eは1つのIPv4を複数の家庭で共有し、通信をポート毎に切り分けて配信

結論から言うと、出来る。(改善点はたくさんある)

“出来ない”とするサイトも多いようだが、間違いなく出来る。

ドコモnetの光クロスにするとMAP-EのIPv6環境になるので、ISPが指定してきたポートでしかIPv4を使うことが出来ない。

※MAP-Eは1つのIPv4を複数の家庭で共有し、通信をポート毎に切り分けて配信している。

123.456.789.1:1~10000 →A宅

123.456.789.1:2~20000 →B宅

123.456.789.1:3~30000 →C宅…

このとき、ポート番号は契約者側から選ぶことは出来ないし、実際に割り当てられるポート番号も断続的。

2000~2100,3600~3650等

我が家の取得しているIPが下記の通りだったとして。

v6:2400:4051:0:0:123:456:789:1

v4:123.456.789.1

本来であればhoge.asami.chiba.jpに対するレコードを

AAAA 2400:4051:0:0:123:456:789:1

A 123.456.789.1

と設定しておけば良いのだが、これだとipv4の通信はポートが指定できないので通らない。

解決策その1

IPv6とIPv4をサブドメインで切り分け、IPv4接続の場合はMAP-Eで割り当てられたポート番号で通信をする。

IPv6.asami.chiba.jp = 2400:4051:0:0:123:456:789:1

IPv4.asami.chiba.jp:8080 = 123.456.789.1:8080

これで証明書周りは解決出来るが、面倒臭い。

解決策その2

cloudflareのproxyを使う。

cloudflareにAAAAレコードで登録しておけば、

ユーザーはCDN側と通信してくれるため、IPv4でも通信が出来る。

※自宅サーバー <=IPv6=> cloudflare <=IPv6 or IPv4=> client

ただし、無料プランだとクライアント側の最大アップロード容量が100MBに制限されてしまう。

私の環境ではファイルサーバーなども使うので採用出来なかった。Webサーバーなどであればこの方法が一番良いと思う。

解決策その3

VPSでIPv4&IPv6の両方を持つプロキシサーバーを立て、(IPv4環境から使うときは)経由させる。

ConoHaVPSでubuntu辺りを立て、squidを使って通信する。

※自宅サーバー <=IPv6=> PROXY <=IPv4=> client

自宅サーバーは基本的に限られたユーザーでしか利用していないため、今回はこの方法を採択した。

proxy経由でも60Mbps~80Mbpsは出してくれるので問題ない。

解決策その4

オレオレCDNを自前で用意…というよりはキャッシュサーバーを用意して、そっちと通信する。

イメージとしてはその2+3。ドメインのA&AAAAはcacheを示し、リダイレクトで自宅サーバーとやりとりさせる。

※自宅サーバー <=IPv6=> cache <=IPv6 or IPv4=> client

本来であればこの方法が一番利便性が高いので、実際問題とても悩んだ…のだが。

折角10Gで通信してるのに回線を落としたくないなあ、と。※サーバーは5Gbpsで動いている

実際に使うかはさておいてIPv6の環境では5Gbpsという数値を維持したいので採択しなかった。


ということで現状は1+3の両方で運用している。

IPv4でしか通信出来ない環境下ではプロキシをONにし、プロキシが使えない場合は泣く泣くポート番号を打って通信。

IPv4からの攻撃(他国からのランダムなアタック)が激減したと思えば、まあ許せるのかなあ。


コメント

コメントを読み込んでいます…

コメントを投稿する

お名前とコメントを入力してください。HTMLは使用できません。

0 / 1000文字