デジタルな窓からの脱却

✖Chromebookで脱Windowsを目指す! ⭕デスクトップきたら本気出す!!

ルーター化(OpenWrt)したミニPC、順次2.5Gbitへ

先日、余ってたミニPCをルーター化し、USB4ポート(+純正NIC)共にGigabitで運用中ですが、

letiancilang.hatenablog.com

2.5Gbit-USB LANがamazonで大分お安くなってきたので進化させてみました。

2.5Gbit有線LAN/USB購入

購入したモノはこちら。

無駄にメーカー名などなくしっかりした作りで、外装もプラではなくメタルです。

インテルのi225v b1-3~i226vは何かちらほら話題にあふれてるので、カニで良いと思いました....安いし。

で、GigabitUSB/LANと差し替えてkmod-usb-net-r8152入れろ!ってどっかに書いてあったので、ソフトウェアリスト更新して入れたら普通に動きました。

で、本題

ルーター側(OpenWrt)は2.5Gbitになりました、ではNAS(Openmediavault)は?動くの?

 

結果

動きました。

 

NASにしてるミニPCに2.5Gbit-USB/LAN刺してネットワークのインターフェイスに追加するだけ。

ここ

もともとのNICもStaticでIPアドレス指定して使ってましたので、同じIPアドレスに指定して使いました。←他のデバイス(スマホとか)のファイラーでアドレス変更がうっとおしいので

これもどっかで見たけどいろいろコマンド入力せんで良かったです。OMV5じゃなく6にしろ!ってのも見ましたが、元々6で運用中。

一応、検証

Gigabit-USB/LANのままNASのHDDベンチマーク

2.5Gbit-USB/LANに差し替えてNASのHDDベンチマーク

データバックアップ用のHDDなので速度よりコスト重視 で・す・が......遅すぎ。

でも、一応2.5Gbit化して動作はしているもよう。

ルーター側x2個、メインPC用とNAS用の4個買いました。

WANはまだGigabitのままなのでローカル内のみの高速化です。

↑我が家はVDSL方式なのでコレ変えても意味ないから見合わせ(IPv6もまだです)

 

OpenWrt用OpenVPNの設定方法【まとめ】

2023/08/19 ファイアウォールの設定辺りを修正

OpenVPNのセッティング

 ▶ システム>ソフトウェア>リスト更新かけて

   luci-i18n-openvpn-ja(+luci-app-openvpn)

   openvpn-openssl

   openvpn-easy-rsa

  適当に ステータス>概要 なんかで画面更新すると VPN ができてる

 ▶ MobaXtermでSSHログイン

mobaxterm.mobatek.net

 

# cd /etc/easy-rsa
# easyrsa init-pki
# easyrsa build-ca nopass
# easyrsa build-server-full openvpn-server nopass
# easyrsa build-client-full openvpn-client nopass
# easyrsa gen-dh
# openvpn --genkey secret /etc/openvpn/tlscrypt.key
  →バージョンによっては # openvpn --genkey --secret /etc/openvpn/tlscrypt.key

 

エラーでても気にしない yes!

何か聞かれたらホスト名でも入れとけ!!

gen-dhは少し時間かかる!!!

サーバー側の設定

 ▶ 上の作業後(MobaXterm/SSH接続したまま)、

  etc>config>openvpn を右クリック→Open with default text editer で開く

  そのままエディターで下記へ丸ごと差し替える

config openvpn 'router_server'
 option enabled '1'
 option dev 'tun0'
 option port '1194'
 option proto 'udp'
 option compress 'stub-v2'
 option dh        '/etc/easy-rsa/pki/dh.pem'
 option ca        '/etc/easy-rsa/pki/ca.crt'
 option cert      '/etc/easy-rsa/pki/issued/openvpn-server.crt'
 option key       '/etc/easy-rsa/pki/private/openvpn-server.key'
 option tls_crypt '/etc/openvpn/tlscrypt.key'
 option remote_cert_tls 'client'
 option key_direction '0'
 option keepalive '10 120'
 option persist_tun '1'
 option persist_key '1'
 option user 'nobody'
 option group 'nogroup'
 option verb '5'
 option server '192.168.255.0 255.255.255.0'
 option topology 'subnet'
 list push 'redirect-gateway def1'
 list push 'dhcp-option DOMAIN myhomelan'
 list push 'dhcp-option DNS 192.168.1.1'
 list push 'persist-tun'
 list push 'persist-key'

  ▶▶TCP接続にする場合は option proto 'udp'→option proto 'tcp-server'

  MobaXtermでの作業は終了

 

 ▶ ネットワーク>インターフェイス

  インターフェイスを新規作成

    >名前[OpenVPN(適当)] / プロトコル[アンマネージド]

    デバイスはカスタムに[tun0]入力

    ファイヤウォールゾーンをLANに割り当て 保存、適用

  作成されたOpenVPNインターフェイスを再起動

 ▶ ネットワーク>ファイアウォール>トラフィック・ルールに↓追加

  保存、適用

  ※WANからの1194を通過させるだけでいいはずなのに、送信元WAN・送信元ポート1194、宛先ポート空白ではできず、↑でしか動かなかった

 ▶ネットワーク>ファイアウォール>ポートフォワーディングに↓追加

  ※ポートフォワーディングはルーター傘下のVPN専用端末がある場合に使用するものと思っていたが、単独ルーター(内でVPNも動かす)時も設定した方が安定した

  保存・適用

 

クライアント用ovpnファイルの作成

client
dev tun0
proto udp
remote xxxx.xxx.xxx 1194 # 固定IP or DDNS
resolv-retry infinite
nobind
remote-cert-tls server
key-direction 1
compress stub-v2
verb 5

<ca> # etc/easy-rsa/pki/ca.crt
-----BEGIN CERTIFICATE-----
・・・・・
-----END CERTIFICATE-----
</ca>
<cert> # etc/easy-rsa/pki/issued/openvpn-client〇.crt 【追加時】
Certificate:
    Data:
・・・・
    Signature Algorithm: sha256WithRSAEncryption
・・・・
    Signature Algorithm: sha256WithRSAEncryption
・・・・
-----BEGIN CERTIFICATE-----
・・・・
-----END CERTIFICATE-----
</cert>
<key> # etc/easy-rsa/pki/private/openvpn-client〇.key 【追加時】
-----BEGIN PRIVATE KEY-----
・・・・
-----END PRIVATE KEY-----
</key>
<tls-crypt> # etc/openvpn/tlscrypt.key
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
・・・・
-----END OpenVPN Static key V1-----
</tls-crypt>

 ▶ Win上でも適当にテキストファイルにコピーして、.txt→.ovpn

  名前は適当にOVPN-Client.ovpnとでも

 ▶ 該当箇所(4ヶ所)をそれぞれMobaXtermのエディターで開いてコピペ

 ▶ できた.ovpnファイルを泥機(あいぽん)のOpenVPNアプリで開いて接続

 

  ▶▶TCP接続にする場合は proto udp→proto tcp-client

 

補足

 verbは5にしてるので同時接続は5台まで

 2台目以降の.ovpnファイルはMobaXtermSSHで

# cd /etc/easy-rsa
# easyrsa build-client-full openvpn-client〇 nopass

 で、clientのkeyとcertが追加されるので

 クライアント用ファイルの【追加時】のところにコピペ

 名前も間違わないようにOVPN-Client〇.ovpnにしとく

 

 WANのPPPoE設定お忘れなく

 DDNS使ってるならシステム>スケジュールタスクなど細かい設定もお忘れなく

 

Chromebook CM3 アップデートで使い物にならなくなった Android 9 → 11

ChromeOSアップデート後、30日以内にAndroidの更新警告以来、アプリの起動がクッソ遅くて使いたくもなくなったChromebook、原因が判明。

アップデートは良い事なんですが.....

ChromeOSのアップデート(114.?)でAndroidのバージョンが9から11になった余波で

CM3が使い物にならなくなりました。

いろいろ調べたら、Android 11でメモリを大量に使うらしく、アプリの起動が「このアプリは応答していません」のダイアログ出て待機しても まだ起動しない。

CM3にはメモリが3GBしかないので起こった現象みたいで、

設定→ChromeOSについて→診断からメモリ使用量見たら、残りが300MB弱でした。

とりあえず、LinuxGoogle Play両方とも削除すると、サックサクで空きメモリも大量に戻ります。

 

仕方ないので、Google Playのみ再度インストール。

なんとか許容範囲かな。

電源OFFから起動して、少し落ち着いた時のメモリ状態

 

これでしばらく様子を見ます。

 

余ってるミニPCにOpenWrtを入れて ルーターとして再利用

23/07/10 補足修正

OpenWrtでルーター化したミニPC

intel NUC5i3RYH core i3-5010U メモリ:16GB M.2_SSD:512GB 2.5SATA:空き

LANポートは1個 なのでUSB-LANを追加する必要有

※USB-3.0x4ポート+オンボードGbitLANなので、今はUSB-GbitLANで構築するが、将来的にUSB-2.5GbitLANが安くなったら切り替える

 

先ずはOpenWrtインストール

できるだけコマンドライン入力を使わない方法で、かつM.2 SSD取り出すのめんどいので、そのままでインストールする

 

■■■ ミニPCのみで作業(モニタ・キーボード・マウスを接続 / NET非接続) ■■■

 

▶ USB起動できるLINUXを用意

▶ ミニPCにUSBぶっ刺しLINUXを起動、ブラウザでOpenWrt x86_64をダウンロード

 最新は 23.05.0-rc2  お好みで

https://downloads.openwrt.org/releases/22.03.5/targets/x86/64/

 generic-ext4-combined-efi.img.gz

 ※どこかのタイミングで、ddコマンド前にGpatedなどでミニPCのドライブの内容を削除

▶ ダウンロードしたimg.gzがあるフォルダを管理者権限で開いて、右クリック メニュー中のターミナル起動

---ここは少しコマンドライン入力---

 ▶▶ $ gunzip generic-ext4-combined-efi.img.gz

ダウンロードフォルダに展開完了したら そのままターミナルで

 ▶▶ $ dd if=generic-ext4-combined-efi.img of=/dev/nvme0n1

  nvme0n1部分はドライブの状態によって違う(sdaなど)のでGpartedとかで確認

▶ ミニPCへのimgコピー完了したら、Gpartedを開く

 おそらくFixしますか?みたいなのが出るのでFixして起動する

 ミニPCのドライブ(この場合はnvme0n1)の最後のパーティション部分を最大まで拡張し、適用→ミニPCのM.2 SSDは512GBなので、460GB位使えるようになった

 

OpenWrtのインストールは完了

 

ミニPC_OpenWrtを通信できる状態にする為、今使用しているルーターの傘下に置く

USB起動LINUXを外して ミニPCを起動すればOpenWrtが立ち上がる(モニタで確認可)

 

■■■ ミニPCと別のPCを有線LAN(唯一のLANポート)で繋いで作業 ■■■

 

▶ 別PCのブラウザからLuci(192.168.1.1)へログイン [パスワードは空白のままで入れる]

 管理者パスワード変更、リージョン変更など済ます

▶ ネットワーク>インターフェイスのLanを編集

 現在使用中のルーターと同じIPアドレスでは都合が悪いため

 該当箇所記入し、詳細設定の強制リンク(この時は英語表記)にチェック入れ保存→適用

 アラートが出てくるので、真ん中の緑を選択→90秒後に右の赤選択→さらに90秒待つ

 問題なければセッション切れてるので(IPアドレスが変わってる)、ブラウザで192.168.1.11に接続し直す→ログイン画面

 ◇◇◇ ここでログイン画面に移行しない場合の対処法 ◇◇◇

 ミニPC(OpenWrt)のIPアドレス失敗?なのかは不明

 ▷ ミニPCにモニタ・キーボードを接続して コマンド入力でIPアドレスを元に戻す

 ▷ $ vim /etc/config/network

  [ i ]を押してIPアドレス192.168.1.11を修正、192.168.1.1に戻す

  [ ESC ]を押して :wq だけど、英語キーボード認識だと思うので

  [ Shift ]+[ ; ]で : [ w ][ q ]を押してEnter

 再度インターフェイスを編集して違うIPアドレスで試す

 →ダメならまたコマンドラインで元に戻してやり直し

 

■■■ ミニPCと別PCをルーターに繋いで作業 ■■■

▶ OpenWrt入りのミニPCと設定入力用の別PCを 今使ってるルーターに繋げる

 別PCのブラウザからミニPCの管理画面(Luci)192.168.1.11へ入る

 ネットワーク>診断(まだ英語表記)で通信できてるかチェック

  ▷ 通信できなければインターフェイスを再度確認

 システム>ソフトウェア リスト更新かけて luci-i18n-base-ja インストール

▶ USB-LANをミニPCのUSBポートに接続してドライバ入れる

  購入したUSB-LAN ELECOM EDC-GUA3Hx3個 パソコン工房で980円/個だった

  元々もってるUSB-LAN TP-LINK UE306 1500円くらい?

 両方とも同じチップだったので

  kmod-usb-net-asix-ax88179 を入れるだけでOK←関連で他3つほど入るはず

▶ 再起動しインターフェイスを再設定

 ネットワーク>インターフェイス>デバイス でUSB-LANが認識されていることを確認

 分かりやすいMACアドレス(TP-LINKの方)をWANに設定

  インターフェイスを新規作成→名前は適当で(TPwanとか)DHCPクライアント、デバイス選択

 他のUSB-LANはブリッジにまとめる

  インターフェイス>デバイス br-lanの設定からブリッジポートで他のUSB-LANをチェック入れる

 

インターフェイス lanの設定を初期設定に戻しインターネットへ接続する

 ▶ インターフェイス lanの設定を初期状態に戻すため、ルーターから外し、設定用別PCとのみ接続する(WAN設定のやつ以外ならどこでも可)

 ▶ 別PCのブラウザから192.168.1.11管理画面へログイン

  ネットワーク>インターフェイス lanの設定から

  IPv4アドレス→192.168.1.1 : ゲートウェイ→空白へ : ブロードキャスト→空白へ

  保存→適用

 ▶ 別PCのブラウザから192.168.1.1管理画面へログイン

  WANに設定したUSB-LANポートへルーターから外したネット用ケーブルを刺す

  ネットワーク>診断で通信できるか確認

 

 通信できてたら完成

 

補足

 Wifiの設定:ミニPCのWifiintel AC7265

  iwlwifi-firmware-iwl7265d←末尾dじゃない方が何故か機能しなかった

  kmod-iwlwifi(kmod-cfg80211一緒に入る)←不要かもしれない

  iwinfo,iw←この辺いれたら色々入るはず←不要かもしれない

   ↓どちらか1つを入れる

   hostapd-basic(commonも一緒に入る)←WPA/WPA2の場合(古い機器使ってるとか)

   hostapd-openssl(commonも一緒に入る)←WPA3使いたい場合はコッチ

   ※opensslとwolfsslの違いは不明、どちらでも動作する

   アクセスポイントは [hostapd~]

   クライアントにする場合は [wpa~]

   どっちでもの場合は [wpad~]

 ちなみに、N/2.4GHz/チャンネル指定(auto x)/40MHz or 20MHz でしか動作せず

 acを使うには何か入れないとかも?

 

OpenWrt用Adblockの日本向けフィルタ追加方法【保存版】

ルーターOS・OpenWrt用Adblockの日本向けフィルタ追加方法

【必要なもの】

SSH接続用ソフト MobaXterm

mobaxterm.mobatek.net

▶ ↑のソフトをDL解凍して起動しルーター(192.168.1.1)へSSH接続

▶ 左側のファイル階層 /etc/adblock/ へ移動

adblock.sources.gz を右クリック→Open with default text editer で開く

▶ 画像のadguardフィルタ部分をコピーし、フィルタ末尾へ貼り付け(追加)

▶ 必要な個所 名前、url など書き換え

▶ 保存し、通常通りブラウザからWebインターフェイス(Luci)192.168.1.1へログイン

Adblockのブロックソースリストの下の方へ追加されてるので、チェックいれてAdblockを再起動する

 

 

▶▶補足

 必要に応じてホワイトリストへ追加しないといけないもの有り

 

client.wns.windows.com
push.services.mozilla.com
maps.gstatic.com
fonts.gstatic.com
www.gstatic.com
fs.microsoft.com
ssl.gstatic.com
encrypted-tbn2.gstatic.com
connectivitycheck.gstatic.com
clients3.google.com
dl.google.com
clients4.google.com

 

↑GoogleMapで必要なやつとかはてなブログのログインに必要なやつとか

 古いAndroidの通信関係とか お好みで

 VPN使用しててDDNSがフィルタ内にあるドメインなら そのドメインも追記

※自身の環境に合わせるには、AdblockDNSレポートを見ながら調整する

 

100均でHDDマウンタ工作

※今回は たわいも無い工作です

意外と売ってない

アマゾンとかでも、いかにも注文入ったらレーザーカッターで切って

中国辺りから送りますよって感じの 注文後2周間前後でのお届けってのはある。

2000円くらいで。

 

なんかもったいないので、ホームセンターでプラ版でも買うかって思ってたけどダイソーにいいのがあった。

表面に傷防止のフィルム貼ってあるので、何も気にせず油性マジックで穴開ける位置を決めて

アクリルなので、細いドリルから少しずつ穴を大きくしていって完成。

いっきに開けると割れるのでね。

200円の透明アクリル3.5インチHDDマウンタ完成。

5台マウントできます.....そんな要らんけど。

 

【LINKDING】セルフホスト型ブックマーク#2 OpenMediaVault+Docker

今回試したのは、先にご紹介したPocketクローンのShioriより オーソドックスなブックマーク。

前回と同じやり方(Potainerのみで完結)では動きませんでした、前のやり方ではユーザーとパスワードが設定できずにログイン画面から進めない。

コレ

github.com

OpenMediaVaultのDockerでの使用方法

1.イメージファイルの取り込み 左側メニューの「images」タップ、右の検索タップ

 

2.開いた別窓の検索に「linkding」

 

3.tagタブのlatestから、グレー部分を右クリック・コピー

 

4.Potainerに戻ってimageのところに貼り付け、その左下の[Pull the image]を押す

 

5.imegeが下の[Images]に追加されたら、MobaXtermを開きSSH接続 rootログイン

 

6.コマンド入力

  $ docker run --name linkding -p 9090:9090 -d sissbruecker/linkding:latest

即完了するので、続けてコマンド入力

  $ docker exec -it linkding python manage.py createsuperuser --username=○○○○ --email=適当に@example.com

エンター押すとパスワード設定になるので、パスワードを決め入力

 

7.localhost:9090 をブラウザで立ち上げ、上で決めたユーザー名とパスワードでログイン