2023/06/08(木)フレッツ光クロスを今すぐに契約すべきではない2つの理由

はてブ数 2023/07/25 23:08 計算機な日記つーさ

タイトルは釣りです。

というか、無知すぎた。

本エントリの要約

  • 光クロス10Gに乗り換えたら、回線速くて素晴らしい
    • DS-Liteになって、自宅サーバ用のGlobal IP (v4)を失ってしまったよ。
    • 強制レンタルでやってきた 10G ルータ、ジャンボパケット通らないよ。
    • もうPCIeスロット空いてないから、新設10G用のNICは、M.2 スロットに差してみたよ。

せっかく関東に引っ越すのだし、光クロスのサービス提供エリア内に入ったんだったら、10Gいくしかないと安易に申し込んでみた。最速でも2週間後の工事なといわれ2週間待って、お兄さんがONUと XG-100NE というHGWをつないでおいていったのが一昨日のことである。 (今まで使ってたISPの光クロス対応光コラボにしたところ、HGWレンタル必須になりますということだった)

工事完了後に、そのうち繋がるようになりますと言い残してお兄さんは帰ったが、半日経っても「初期状態」LEDが点灯したまま繋がらず……んー、これはなんかさすがにおかしいぞと、HGWとONUを電プチからの再起動したら、10分程度であっさり繋がった。バグってたんですかね。

とりあえず繋がってからは、特に困らず、有線も無線も繋がった。

スピードテストなど

デスクトップのオンボLANは1Gなので10G NICを増設した。

speed.png

今まで住んでた神戸のマンション設備がVDSLで100Mbpsに制限されていたことを考えれば20倍~40倍速いってことですね。夢がある。

さて、あとは、自宅サーバだが、、設定してみても、うーん、インターネットから、つながらないね?

課題1: 自宅サーバ

いろいろググって知識のアップデートをした結果、

DS-Liteにはインターネット側からのIPv4到達性はありません。

ということがわかった。

えっ。

完!万事休す!

知らなかった……(知らなかったのかよ)。

固定IPはおろか、動的ですらIPv4による自宅サーバは提供できません。ほえー。

基本的に、IPoE環境はIPv6のみで、IPv4通信はIPv6に包まれて、フレッツ網(NGN)を抜け、NGNインターネット出口側にあるVNEで、裸のIPv4に戻って出て行くんです。ここまでは知ってた。いや、知らなかったけど、ISPがv4に変換してくれるんだろうというかそれしかないと思ってた。しかし、ここから出て行くときに使われるIPv4アドレスは共用 で、つまり NAPT されて出て行くらしいです。えっ、共用! 共用する以上は、好き勝手にインターネット側から到達性のある任意のポートを用意することができません。値段の割に(?)。自宅にグローバルが来ないタイプのインターネットでしたか。へぇ。UPnPなんかも通らない? P2PゲームやるのはSTUNとか使う感じになるのかしら。昔のゲームは鯖建てられないですね……。

もう少し調べていくうちに、プロバイダによってDS-Lite方式とMAP-E方式というのがあって、MAP-E方式の方はこのNAT処理をご家庭に設置されたHGW上で行うので、設定変更によりポートを開放できるらしいことはわかった。ただ、その場合であっても、共用のIPアドレス上で契約ごとにポートの範囲が割り当てられるようで、80番や443番を開けることは、やはりできないっぽい。ふむー……。

で、IPv4が欲しい場合は、IPv4をくれるISPにPPPoEとかでつなぐ必要があるんだね。そのようなプロバイダーは…… 14,000円~…… んーむ。結構しますね。趣味もほどほどの宅鯖のためだけにPPPoE新たに引く気はちょっとおきないので、VPS借りてIPv4の入り口にするとかでお茶を濁すかな……うーん、難しそう……っていうか、VPS借りるならもうそのままVPS上でWebサーバホストすればいいような。まぁ、とりあえずあとで考えよ。

追記。プロバイダは、もうちょっと調べると シグナルv6プラス とか オープンサーキット とかもあるみたい? (と、思ったけど東京エリアだけかも)

とりあえず、IPv6かぁ。今まで、「IPv6アドレスは128bit」くらいの知識しかなくて、宅内LANはIPv4だけにしていた(どうせ、100Mbpsしか出なかったし)けど、この環境で自宅サーバをなんとかしようとすると、IPv6を避けて通れないよね。ついに、IPv6を勉強せざるをえないよね。少し勉強しようね。

IPv6 勉強

というわけで、ほんのちょっと勉強した。まとめ

IPv6 は DHCPは要らなくなった。

ルータが、自分の配下にRAでprefixを放送しているので、それをつかめればIPアドレスのネットワーク部が決められるっていうことみたい。

ホスト部は、Modified EUI-64っていうMACアドレスから計算で自分のIPを決めるしくみがあるので、RAと組み合わせてDHCPなしで自分のアドレスを決められるって仕組みらしい。なるほど、確かに、ホストアドレス部が64bitもあれば、グローバルユニークなはずのMACアドレスから計算で決めればよいってのはそうかもね。でも、グローバルIPとMACアドレスが1:1で紐付いてしまうのは、なんかそれはそれでちょっと抵抗はあるね? IPわかったらMACアドレスわかるってことだから追跡可能になっちゃいそうだなぁ。。

さて、手元のWindowsからインターネットにつないでいわゆる「確認くん」的なもので自分のIPv6を確認すると、全然違うアドレスで通信してるようにみえる。ipconfig /all してみると IPv6 AddressTemporary IPv6 Address と、2つアドレスが出てくる。インターネット側にあるサーバから、通信元として見えるのはテンポラリの方っぽい。これも、ちょっと調べてみると、まず IPv6 Address だけど、WindowsはModified EUI-64 まんまではなく、それをなんか加工したやつになるらしい。これも計算式が決まってるぽく不変らしい。Windows で 素直なModified EUI-64 を使いたければ netsh interface ipv6 set global randomizeidentifiers=disabledenabled にすれば、デフォルトの、ランダム化?の挙動にもどるみたい。で、Windowsはもういっこ Temporary IPv6 Address を作って、インターネットとかにつなぐときはこっちを使うっぽいらしい。こっちは作るたびに毎回変わるっぽい。追跡回避のためかな。まぁ、IPアドレスのネットワーク部が固定だから、別に匿名性があるわけではないんだけど……。

うーん、まぁ、IPアドレスと採番についてはなんとなくわかった気になったので、

とりあえずIPv6で自宅サーバをたててみる。

IPv4 は、現状どうにもならないので、とりあえずIPv6だけでもインターネット側から到達可能なようにしてみる。

自宅サーバであるところの、QNAP NASのIPv6を有効にして再起動するところから……。

こちらは、そのままだと、MACアドレスからIPv6アドレスが決まるってことだけど、QNAP NAS の MACアドレスが、いつのまにか 00-00-00-00-05-09 になってる。歴代いつかのファームウェアのバグらしく、2台以上持ってる環境で、どっちも 00:05:09 になってしまい、コンフリクトして困った、というフォーラム投稿など引っかかった。ssh で入って sudo set_mac 00:11:22:33:44:55 的なことをすれば(要再起動)書き換えられるっぽい。しかし、元々いくつだったのかは、00:08:9B:...、もはやわからぬ、、まぁ、、不都合はないんだけど……。

IPアドレスに話を戻すと、適当なMACを決めてModified EUI-64にしてもいいんだけど、サーバIPアドレスは当然DNSのAAAAで公開されるわけで、さっきの話、MACアドレスをわざわざ決めるよりは、IPv4時代みたいに、普通に適当に決めたアドレスを static に割り当てればいいよね。ていうか、0なビットを増やせてアドレス表記も短くできるし、その方がよさそう。じゃあ、77番にしよう。

とりあえず、ローカルネットワーク内からIPv6で疎通OKっと。

ポートの穴開け

ホームゲートウェイのXG-100NE の 「IPv6 パケットフィルタ設定(IPoE)」の画面でルールを作ればいいらしい。IPv6ファイアウォール機能を有効にしたまま、 許可 IPoE→LAN のルールを作ってみる。

テストは外回線からやる必要ある。これまた、クラウドにVM?と思ったけど、調べてみると、モバイルで使ってるIIJmioはIPv6くれるらしいので、そっちから試す。APN設定の「APNプロトコル」ところを「IPv4/IPv6」にしたら、v6ふってくるようになる。この状態で https://[2001:db8::0123:4567:89ab:cdef]/ みたいにv6アドレス書けば繋がるはず……。

……コネクションタイムアウトな。

うーん、IPv6って難しいです!

繋がらなかったのは、NAS側のIPv6をstaticに決めた際、ゲートウェイにルータのリンクローカルを書いていたせい(たぶん)? NASのstatic IPの設定画面でゲートウェイにルータのグローバルを書くことで、外から繋がるようになった。(たぶん)インターネット側からのパケットは届いていたけど、その戻りパケットがインターネットに出ていかないとかそんな状態になってたんじゃないかなと思うけど、詳しく調べてはない。

とりあえずIPv6でのインターネットからの到達性は確保できたので、AAAAレコードだけでも書いて、とりあえずIPv6はおkなのでおkにしよ。

IPv4をどうするかは残ってるけど、、今日はここまでだよ……

課題2: Jumbo Frameが通らない……。

とりあえず、デスクトップに10G NICを増設して XG-100NE の 10Gポートにつなぎ、他の機器はそもそも1Gしか性能ないので1Gポート側へハブ経由でぶら下げることにした。このハブは前から使ってたやつ。ジャンボ対応。

で、まぁ、それぞれインターネットには出れたんだけど、デスクトップからNASにつなごうとすると繋がらない。……? 同一マシン上のWSLからはcurlが通る繋がる。はてな……?としばし考え、あー、前にもこんなことあったよなと思い至り、NICのJumboFrameをDisableすると普通につながるようになった。でかいパケットだけ疎通しなくなるから、SYN/ACKできても、そのあとでかいペイロードのパケットが通らなくて通信不安定??みたいな挙動になるんだよね。

どうも HGW の LAN 10G ポートから LAN 1G ポートへのジャンボフレームが通らないってことかな。(要検証) HGWのLAN 1G同士は?(要検証)

うーん、ジャンボないと速度出ないんだよなぁ……。

MTUでiperfが雲泥の差。

ジャンボなし:

[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   337 MBytes   282 Mbits/sec  9368             sender
[  5]   0.00-10.05  sec   333 MBytes   278 Mbits/sec                  receiver

MTU 9000:

[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.13 GBytes   973 Mbits/sec    0             sender
[  5]   0.00-10.02  sec  1.13 GBytes   971 Mbits/sec                  receiver

うーん。

デスクトップPCから10G線の他に1G線もはやして、こっちをギガHUBにつなぐ、NAS宛の通信はルーティングテーブルを書く、か?廊下を、同じ部屋に向かって、LANケーブルが2本ってのは若干かっこ悪さ感じる……保留。

おまけ) 10G NIC増設

デスクトップのオンボLANは1Gなので10G NICを増設した。(再放送)

M.2スロットに (Mini-ITXだからグラボ刺したらもうPCIeスロットがなくてな……)

メインのデスクトップパソコン、オンボのLANポートが1Gまでなので、光クロスが来るなら、そりゃ10GいけるNICを足したいですよね。

でも、デスクトップMini-ITXで組んじゃってるから、グラボ刺したら、もうPCIeスロット余ってないね。どうしようね。。

まず、USBのLANアダプタも考えたものの、10G対応となると、ちょっとお値段するやつしか見つからなかった。それに、デスクトップPCなのに有線LANがUSBっていうのは、なんか美学に反する。そもUSB 3自体の理論値が……。

なんか、PCIeを生やす手はないかしら。

そういえば、一昔前?、ノートPCの m.2 スロットからライザーケーブルでディスクリートなグラボ増設してる人とかいたよなぁ……似たような感じでいけないかしら。

ググってみてると、M.2をPCIe4xに変換するやつ があった。

ので、これを注文してM/B裏面のm.2に刺してPCIeスロットを増設してみた。

普通にPCIeのNICでいいので、 BUFFALO LGY-PCIE-MG2 をチョイス。ブラケットは外して、こう。

マザボの裏からこんにちは。

10glan.jpg

いびつなとこに、PCIeが生えてる。こういう変な(?)パソコン、ちょっとテンション上がるタイプです。