Upgrade to Pro — share decks privately, control downloads, hide ads and more …

おうちネットワーク10G化 ルーター自作編

Avatar for kashiwa kashiwa
November 25, 2024
800

おうちネットワーク10G化 ルーター自作編

Avatar for kashiwa

kashiwa

November 25, 2024
Tweet

Transcript

  1. 現在の自宅ネットワーク構成図 インターネット(au ひかり) HGW (BL3000HM) サーバー (ESXi) (DeskMeet B660) NAS

    (QNAP TS-230) PC PC PCとか インターネット(ビッグ ローブ光(光コラボ)) ルーター (作成中) (R86S) ONU L2SW (QSW-2104-2T) 自室の PC 10GbE 1GbE 2.5GbE (実際は5G)
  2. インターネット(au ひかり) HGW (BL3000HM) サーバー (ESXi) (DeskMeet B660) NAS (QNAP

    TS-230) PC PC PCとか ルーター (作成中) (R86S) ONU L2SW (QSW-2104-2T) 自室の PC 10GbE 1GbE 2.5GbE (実際は5G) 今日はここの話 現在の自宅ネットワーク構成図 インターネット(ビッグ ローブ光(光コラボ))
  3. ルーター化するミニPC(R86S)について(前回資料から抜粋) • 2.5GbE-T x3, 10G SFP+ x2 搭載している 変態な ミニPC

    • CPU:Intel(R) Celeron(R) N5105, Memory: 16GB, Storage: 64GB eMMC(内蔵) • メルカリで3.8万円で購入 • 追加でSFP+モジュール(RJ45)(8000円くらい)を2つ買った
  4. インターネットの接続方式の話 • インターネットの接続方式については「徹底解説v6プラス」が詳しい ◦ Web版は無料で公開されている → https://www.jpix.ad.jp/files/v6plus-ebook.pdf • 各プロバイダによって接続方式が異なる ◦

    2024年現在ではIPv4とIPv6のデュアルスタック構成になっていることがほとんど ◦ ざっくりとPPPoE方式とIPoE方式に分かれる ▪ auひかりやその他電力会社系の光回線だと PPPoE方式、フレッツ光や光コラボでは IPoE方式が採用さ れている(らしい) ▪ IPoE方式だとデュアルスタック構成にするための方式でさらに細分化される • MAP-E, DS-Liteなど • 私が契約しているビッグローブ光(光コラボ)のIPv6オプションはIPv6 IPoEのMAP-E方式 なのでルーターを自作する場合この方式に対応させる必要がある
  5. MAP-Eについて • Mapping of Address and Port using Encapsulation •

    IPv6 IPoEでIPv4の通信を実現するための方式の一つ • 通常は1回線につき1つのグローバルIPv4アドレスが付与されるが、MAP-EではIPv4ア ドレス枯渇防止のため複数の回線で1つのグローバルIPv4アドレスを共有している ◦ 回線契約ごとにIPv4で使えるポートの範囲が分かれている(IPv4で通信する場合は決められ たポート番号しか使えない ) MAPドメイン (サービス提供者の IPv6ネットワーク ) MAP BR インターネット MAP CE (HGW) MAP CE (HGW) MAP+NAT MAP+NAT
  6. IPアドレスの設定 • 最近のUbuntuだとnetplan使って設定するのが普通?だけどネットワーク周りの設定を systemd-networkdにまとめたかったのでsystemd-networkdにまとめた • WAN側はDHCPv6でIPv6のアドレスが取得できる ◦ この取得できるIPv6アドレスのプレフィックスによってIPv4アドレスと利用できるポート 番号が決まる ▪

    IPv6アドレスのプレフィックスとIPv4のプレフィックスの組み合わせはDHCPv6でアドレス取得した状態で https://api.enabler.ne.jp/6a4a89a8639b7546793041643f5da608/get_rules?callback=v6plus を叩くと確認 できる • IPv6プレフィックスの次のセグメント(4桁)がIPv4のサフィックスになる • 例:2001:db8:1234::5678というアドレスが割り当てられていて、2001:db8::/32がプレフィックスの場 合、1234 の部分がサフィックスになる(16進数なので10進数への変換が必要) ◦ http://ipv4.web.fc2.com/map-e.html がIPv6プレフィックスから計算してくれるので便利 • LAN側は好きなように設定(192.168.10.1/24 など)
  7. 実際の設定(WAN側・LAN側) # /etc/systemd/network/wan.network [Match] Name=enp4s0d1 [Link] RequiredForOnline=yes [Network] IPv6AcceptRA=yes IPForward=ipv6

    DHCPPrefixDelegation=yes DHCP=ipv6 Address=<CEのIPv6アドレス> Tunnel=mape-tnl [DHCPv6] DUIDType=link-layer WithoutRA=solicit # /etc/systemd/network/lan.network [Match] Name=enp4s0 [Network] Address=192.168.10.1/24 DHCPPrefixDelegation=yes IPv6SendRA=yes DHCPServer=yes Address=<DHCPで降ってきたIPアドレス> [DHCPServer] ServerAddress=192.168.10.1/24 EmitDNS=yes DNS=1.1.1.1 [IPv6SendRA] EmitDNS=yes [DHCPPrefixDelegation] UplinkInterface=enp4s0d1 SubnetId=0 Announce=yes RouteMetric=257
  8. 実際の設定(MAP-Eトンネル) # /etc/systemd/network/mape-tnl.network [Match] Name=mape-tnl [Link] RequiredForOnline=yes [Network] IPForward=ipv4 BindCarrier=enp4s0d1

    DefaultRouteOnDevice=yes DHCP=no IPv6AcceptRA=no LinkLocalAddressing=no Address=<MAP-Eルールで算出したIPv4アドレス> [Route] Destination=0.0.0.0/0 # /etc/systemd/network/mape-tnl.netdev [NetDev] Name=mape-tnl Kind=ip6tnl [Tunnel] Mode=ipip6 Local=<CEのIPv6アドレス> Remote=<BRのIPv6アドレス> DiscoverPathMTU=yes EncapsulationLimit=none
  9. 接続テストの結果 > ./speedtest -s 14623 Speedtest by Ookla Server: IPA

    CyberLab - Bunkyo (id: 14623) ISP: Biglobe Idle Latency: 7.33 ms (jitter: 0.35ms, low: 7.08ms, high: 8.13ms) Download: 2104.84 Mbps (data used: 2.7 GB) 9.21 ms (jitter: 2.03ms, low: 7.67ms, high: 233.00ms) Upload: 2941.57 Mbps (data used: 4.9 GB) 7.60 ms (jitter: 0.70ms, low: 6.84ms, high: 11.66ms) Packet Loss: 0.0% • https://www.speedtest.ne t/ja/apps/cli を使用 • 10G回線のはずなのに 2~3Gbpsしか出てない...