中華2.5GbEマネージドスイッチを買ってみた

これは whywaita Advent Calendar 2023 13日目の記事です。

前日は id:kira000 さんの VRMをモーション付きでWebブラウザ上で動かしてみる - kira924ageの雑記帳 でした。

独身の日のセールで2.5GbEが8ポートと10GbEが1ポートのスイッチを買ってみたので雑にレビューします。

whywaitaはおそらくネットワークにも詳しいのでとりあえずのwhywaita要素です。

ブログにwhywaita Advent Calendarの記事しかない… 🤔

続きを読む

ANAワイドゴールドカードの付帯保険を利用した話

これは whywaita Advent Calendar 2020 23日目の記事です。

昨日は id:Krouton さんの whywaitaはフッ軽 でした。

このアドベントカレンダーで3,4日目などにあった旅行系の話がありました。

その流れに乗り、ANAワイドゴールドカード(Visa/Master)付帯の国内旅行保険を利用した話をします。

Adventarには「上皇様生まれてきてくれてありがとう」と書いてありますが、上皇様はクレジットカードの付帯保険を使わないだろうし、通常のANA便にも乗らないと思うので上皇様要素はありません。

続きを読む

UTMにVyOSとWireGuardを入れてみる

これは Opt Technologies Advent Calendar 2019 5日目の記事です。

4日目の記事は abe-ma さんによる OneLoginとSwitch RoleでAWSのログインできるようにした です。

概要

何かイーサネットポートが沢山ある NUC とかで遊びたいな〜と思っていたところ、Intel CPU を搭載した一昔前の UTM が安く転がっていることに気づきました。

そのため、OpenVPNIPSec を置き換えるかもと最近注目されている WireGuard1VPN 接続できるようにしてみようと思います。

OpenVPN では AES-NI に対応した CPU でなければ速度が出ない気がしますが、WireGuard は暗号化方式が違うのであまり影響しないと思っています。

ハードウェア

本体には SG105a と記載されています。 おそらく UTM100std という型番も OEM で存在します。

f:id:kadokusei:20191205212610p:plain

f:id:kadokusei:20191205212621p:plain

スペック
CPU Atom E3826
RAM DDR3 2GB
ROM SSD 64GB
インターフェイス ギガビットイーサネット * 4
USB * 2
シリアルコンソール
VGA

ソフトウェア

VyOS をインストールしました。

いつのまにかサブスクリプションなしでダウンロードできるイメージはローリングリリースになっていたのでダウンロード時の最新版を選んでいます。

vyos-1.2-rolling-201912030217-amd64.iso

vyos.io

VyOSの導入

元々 UTM に入っている OS は大抵ライセンスが必要なので吹き飛ばす前提で進めていきます。

実際 Sophos という会社の OS が起動してきましたがライセンスを要求してきたのでそっと電源を落としました。

インストール

ダウンロードしたイメージをUSBメモリに焼きます。

Mac であれば dd コマンドでもなんでも良いのですが、個人的には Etcher が良いと思っています(これについては書きません)

USB ポートにイメージを焼いた USB メモリを挿したところ普通に VyOS が起動しました(起動の優先順位は本当にそれで良いのか…?)

ログインが必要なので vyos / vyos でログインし、以下のコマンドでインストールを開始します。

install image

基本的に Yes を選んでいけば何も問題なく、パスワードを聞かれたら任意のものを入力します。

終わったら poweroff コマンドで電源を落とし、USB メモリを取り外して再度起動するとインストール完了です。

サーバー側の設定

こんなイメージのネットワークを目指しますが、ひとまずはお試しという形です。

f:id:kadokusei:20191205212730p:plain

前提として VyOS は configure で設定モードに移行し、commit で反映、save で保存を行います。

IPアドレスの設定

インターフェイスに適当なIPアドレスを設定します。

set interface ethernet eth0 192.168.1.1/24

SSH接続の有効化

必要であれば

set service ssh

シリアルコンソールの有効化

反映には再起動が必須な雰囲気でした。

set console device ttyS0 speed 115200

WireGuard

鍵の生成

ひとまずデフォルトのキーペアを作成します。

generate wireguard default-keypair

以下で公開鍵を確認できます。

show wireguard keypairs pubkey default

確認した公開鍵はクライアント側の設定で使用します。

インターフェイスの設定

set interfaces wireguard wg01 address 192.168.100.1/24
set interfaces wireguard wg01 peer <任意の設定名> pubkey <クライアント側のPublicKey>
set interfaces wireguard wg01 port 12345

ポートは任意のもので良いですが、ここではこのように設定しています。

ここまでで簡易的ですがサーバー側の設定は完了です。

クライアント側の設定

Mac をクライアントとして設定していきます。

アプリケーションのインストール

App Store で以下をインストールします。

WireGuard

WireGuard

  • WireGuard Development Team
  • ユーティリティ
  • 無料
apps.apple.com

接続設定

インストールしたクライアントを起動し、Add Empty Tunnel から新規トンネルを追加します。

f:id:kadokusei:20191205214657p:plain

トンネルを新規作成すると Public keyPrivateKey が表示されています。(どうせ消すので見えても大丈夫)

PublicKey は上記のサーバー側に設定を入れる必要があります。

f:id:kadokusei:20191205214938p:plain

また、以下のような設定を記載します。

[Interface]
PrivateKey = ******************************************** (最初から入っている)

[Peer]
PublicKey = [サーバー側で生成した鍵]
Endpoint = 192.168.100.1:12345

適当な名前をつけて設定を保存すると接続できました。

f:id:kadokusei:20191205220033p:plain

以上で当初の目的は達成です。

最後に

VyOS の機能として WireGuard が搭載されているので特に変なことをすることもなく接続することができました。

自宅ネットワークなどに入れる前に簡単に試した感じなので設定も必要最低限ですが、もう少し複雑になってもそれほどは困らないんじゃないかな?と思っています。

もう少し触ってみないとわからないですが、 OpenVPN は設定が大変すぎたのでユースケースに合えば乗り換えていきたいと思いました。

あとは Advent Calendar に間に合わせるためにかなり手を抜いて書いた 速度が計測できていないので、ちゃんと自宅に設置して確認したいですね。

いつか記事を更新するか別記事で書くかもしれません(小声)

6日目の担当は yamashita1238 です。


  1. Cloudflare が最近提供し始めた WARP にも採用されている

iPadでワイモバイルのiPhone SIM(n141)を使う

Googleで検索してもあまり出てこなかったのでメモレベルです。

ワイモバイルでiPhoneを契約すると特殊なSIM(n141)が入っています。

このSIMはAPNが非公開なのですが、インターネットにはそのAPNの情報が転がっています。

APN: kqtqjs
ユーザー名: tnsrknk
パスワード: cmtknrn
認証: PAP or CHAP

上記のAPNを入れれば非公式ながらネットワークに接続が可能になります(自己責任)

SIMロック解除済みのdocomoiPad Pro 9,7における手順は以下の通りです。
iOSは12.3です。

  1. 設定 → モバイルデータ通信 → APN設定 というのが現れているので選択
  2. 以下の感じで入力

f:id:kadokusei:20190527004554p:plain

すると表示はSoftbankですが4Gで接続できるようになります。

f:id:kadokusei:20190527004742p:plain

最初はAPNプロファイルを作成する必要があるかと思っていたのですが、設定画面からAPNを設定するだけで大丈夫でした。

最近できるようになったんだろうか…?
一応それらしきサポートページも存在しました。

support.apple.com

NEC UNIVERGEシリーズでMAP-E(v6プラス)を使う

v10.1.14以降のファームウェアではMAP-E接続機能が提供されるようになったので設定してみました。

ファームウェアはIX2105/IX2106/IX2207/IX2215/IX3110/IX3315あたりのEoLになっていない機種では提供されているかと思います。

ちなみにMAP-Eというのはいわゆる4 over 6の技術でIPv4グローバルアドレスの枯渇の対策になります。

(副次的に各プロバイダの クソ遅い PPPoEゲートウェイを通らなくて良いので回線速度が安定することが多いです)←まあプロバイダだけが悪いのではないですが…

話を戻すと、基本的には以下のリンク先に沿って進めていくと設定ができます。

jpn.nec.com

ひかり電話契約の有無によってHGWからIPv6アドレスを受け取る方法が違うので注意ですね。

ここではひかり電話契約がある場合でサンプルコンフィグを記載します。

とはいってもやることはサポートページとほぼ同じです。

ip ufs-cache max-entries 20000
ip ufs-cache enable
ip route default Tunnel0.0
ip dhcp enable
!
ipv6 ufs-cache max-entries 10000
ipv6 ufs-cache enable
ipv6 dhcp enable
!
proxy-dns ip enable
proxy-dns ip request both
!
ip dhcp profile dhcpv4-sv
  dns-server 192.168.1.1
!
ipv6 dhcp client-profile dhcpv6-cl
  option-request dns-servers
  ia-pd subscriber GigaEthernet1.0 ::/64 eui-64
!
ipv6 dhcp server-profile dhcpv6-sv
  dns-server dhcp
!
interface GigaEthernet0.0
  no ip address
  ipv6 enable
  ipv6 dhcp client dhcpv6-cl
  no shutdown
!
interface GigaEthernet1.0
  ip address 192.168.1.1/24
  ip dhcp binding dhcpv4-sv
  ipv6 enable
  ipv6 dhcp server dhcpv6-sv
  ipv6 nd ra enable
  ipv6 nd ra other-config-flag
  no shutdown
!
interface Tunnel0.0
  tunnel mode map-e
  ip address map-e
  ip tcp adjust-mss auto
  ip napt enable
  ip napt translation tcp-timeout 300
  ip napt translation finrst-timeout 30 1
  no shutdown

NECルーターのNAPTはYAMAHAルーターにあるポートセービングIPマスカレードという機能と同じような挙動をしているようです。ドキュメントが充実していて良いなあ…

上記リンク先のような挙動をするわけですが、MAP-Eでは一つのグローバルIPv4アドレスのうちの240ポートしか割り振られないため、同じIPアドレス&ポートへの接続が大量に行われるようなアプリケーションがあるとNAPTテーブルが枯渇してしまいます。

そのため ip napt translation tcp-timeout はデフォルト値が 900 なので多少下げています。(下げすぎると外部へのSSH接続がすぐにタイムアウトするなどがあると思うのでほどほどに)

ここまで書いてきましたが、世界がIPv6になればこの問題は解決するので各サービスはIPv6対応を頼む…!!!(はてなブログIPv4オンリー)

ちなみにコマンドの意味がわからない場合はコマンドリファレンスを参照しましょう、大変お世話になっております。

(間違っている部分があればマサカリをお願いします :innocent: )

最後になりますが、常時これくらいのスピードは出るのでとても良いサービスだと思います。

f:id:kadokusei:20190506235727p:plain
https://www.speedtest.net/result/8238368355

おまけ(ちょっと使えるかもしれないコマンド)

show map-e status

  • 書いてある通りMAP-Eの状態を表示するコマンド
  • show map-e 以下にこれしかない…

show ip napt translation

  • 現在のNAPTエントリを表示するコマンド
  • 上記のポートセービングIPマスカレードと同じ動作をしていることを確認できる