チラシの裏の電子工作 WSR-1166DHP + LEDE で環境を崩さずにDS-Lite

/ 2019-05-24 23:10

最近、フレッツ光の速度がすごく遅い。
酷いときは1Mbps切ったり。
と思ったら、今はフレッツ光のIPv4が全部遅いのね…
遅すぎてニュースになる始末。

どうしようもないなーと思ってたら、自分の使ってるプロバイダがIPv6とマルチフィードのDS-Lite対応になった。
というわけで、以前WSR-1166DHPを改造してLEDEをインストールしたまま放置してるモノがあったので、DS-Liteで接続してみた。

まず自前の環境をまとめるとこんな感じ。

  • NTT西フレッツ光ネクスト
  • 光でんわを使ってる(HGWが外せない)
  • 糞遅いと有名なISPだけど、最近DS-Liteに対応した(マルチフィード)
  • フレッツv6オプション開通済み(既にv6ネイティブでyoutubeとか閲覧可能)
  • v4でNATしてる機器がいくつかある
  • 外出先からアクセスする場合はOpenVPNを使用している
  • 壊れても惜しくない、普段使ってないルータ(WSR-1166DHP)にLEDEを導入済み

割と一般的ではない気がするけど、ようはOpenVPNを通すためにNATが必要。
VPNはv6で接続させたいけど、出先がv4しかないところがあるのでしょうがない。
他にもNATしてるものがいくつかあるけど割愛。

DS-Liteに対応したルータを買ってくればとりあえず動くんだろうけど、一般的には恐らくこのような接続になる。
DS-Lite一般  

これだと既存のネットワークをごっそりDS-Lite対応ルータ配下に持っていくとになり、NATできなくなる。
HGW配下のセグメントにNATしたい機器を繋ぐのでもいいけど、そうなるとOpenVPNがめんどくさいことに。

じゃーどうするか、って言うと、こうしたい。
DS-Lite希望

ぶっちゃけ、多くの人の要望はこれだろう(自分基準)
ルータという製品の性質上、LANが内側、WANが外側ってのが当たり前になっててこんな設定できるようには多分作られてない。
ただDS-Liteの仮想的なv4インターフェイスに対するルーティングがしたいだけなので、物理的にLAN/WANを区別する必要はない、というかしたくない。

で、具体的にどうなるかって言うとこうなる。
DS-Lite論理構成  

既存の構成にLEDEが増えただけ。
LEDEでできるのか謎だったけど、多分できる。ってかできた。

この構成であれば、NATが必要なVPNマシンは192.168.1.1をデフォルトゲートウエイとすれば良い。
PC1とPC2はNATが不要であれば192.168.1.18をゲートウエイとするだけで良い。
突然PC1でNATしたくなる発作が起こったら、ゲートウエイを変更するだけですぐに対応できる。

手っ取り早くDHCPで配るデフォルトゲートウエイをLEDEにしてしまえばいいのだけど、残念ながらHGWではその設定ができない。
この構成で使い続けるなら、最終的にDHCPサーバもLEDEが行うようになるだろう。
ただ、今回はあくまで「試してみよう」と思い立っただけなのでそこまでは考えてない。

ぶっちゃけこの構成なら別にLEDEじゃなくても普通のLinuxでよくね?って気が付いちゃったから…
図には載ってないけど、24時間電源入りっぱなしのESXiサーバがあるので…

とりあえず以下、手順の覚書。


下準備と予備知識

v4がある程度解ってたらv6解んなくてもなんとなかる、っていうかなった。

まず一番に既存v4ネットワークでLEDE自身がインターネット通信できるように設定する。
VLAN設定は全部消すとスイッチとして機能しなくなる。
ブリッジインターフェイスが存在すると、何故かDHCPv6Clientがv6アドレスを貰えなくなる。
ブリッジインターフェイスが作れないので無線LANは使用不能。(技適の問題もあるのでそもそも使うつもりもないけど)

webGUIで作業してて動作が怪しくなることが結構あるので、コンソールも常時使えるようにしておく。
(慣れてきたらコンソール叩いたほうが早くなる)
殆どの設定は/etc/configにある。主に弄るのは/etc/config/network
/etc/init.d/に各種スクリプトがある

注意点として、networkの設定を変更した場合、/etc/init.d/network restartとrebootでは結果が異なることがある。

DS-Liteをインストール

この時点で既存v4ネットワークからインターネット側にLEDE自身が出られるようになっている必要がある。
webGUIのSystem→SoftwareからUpdateList
ds-liteを検索してinstall

ハブをただのスイッチにする

Network→Switch
VLANID1以外を削除。
VLANID1の設定を変更。CPU、LAN1-4をuntaggedに。WANはoff。
多分これでLEDEのeth0がスイッチにぶら下がってるだけの状態になる…と思う。

この設定をすると/etc/config/networkにeth0.xが残ってたりなんとなく気持ち悪いのでコンソールで怪しいところを編集しておくとすっきりする。
なら最初からコンソールで作業しなさいよ

インターフェイスを設定する

Network→Interface
LAN以外全部消す。
LANがeth0に接続されていてブリッジになってないことを確認する。
DHCPv6 clientを作成し、eth0に接続する。
Dual-Stack Liteを作成し、DS-Lite AFTR addressをgw.transix.jpに設定する。

暫くするとDHCPv6Clientにv6アドレスが降ってくる。
その後DS-Liteに192.0.0.2/32が降ってくる。

基本的には以上でDS-Liteでの接続が完了する。

動作確認

シリアルコンソールからtracerouteで確認する。

root@LEDE:/# traceroute www.google.com
traceroute to www.google.com (216.58.197.4), 30 hops max, 38 byte packets
 1  dj2-gw00.transix.jp (14.1.5.66)  11.968 ms  9.850 ms  10.161 ms
 以下略

transix.jpのゲートウエイを通過しているのが確認できる。

PCの経路を変更する

LEDEを経由してDS-Liteで通信させてみたい機器のIPv4の設定を変更する。
デフォルトゲートウエイをLEDEのアドレス(今回の例だと192.168.1.18)に変更する。
DHCPで配っても良いけど超面倒なので固定IP振っちゃうのが一番簡単。

上記動作確認と同じように経路を見て、動作確認。

PS C:> tracert -4 www.google.com

www.google.com [216.58.199.228] へのルートをトレースしています
経由するホップ数は最大 30 です:

  1    <1 ms    <1 ms    <1 ms  LEDE.lan [192.168.1.18]
  2    10 ms    12 ms     9 ms  dj2-gw00.transix.jp [14.1.5.66]
 以下略

できたできた。

あとはベンチマークとってみたり、OSのISOダウンロードして速度を実感してみたりしたらいいんじゃないかな。

自分の場合はVPNのルーティングを設定して終わり。
ブリッジの問題については詳しく調べてないけど、バグなのか仕様なのか、何か追加が必要なのか不明。
そもそもWANを潰して使う用途を想定してないかもしれないし、私の考え方が間違ってるのかもしれない。

スポンサーサイト

カテゴリ:PC – テーマ:インターネット – ジャンル:コンピュータ

Shared via Inoreader