はじめに
初心者対応構成
- Windowsからの導入手順
- スクリプトでの自動設定
-
UCI (ttyd)、Webコンソール (LuCi)、ファイラー (SFTP)にて比較作業がおススメ
all in one scripts
サポート:バージョン19.07~(スナップショット対応)
バージョンβ:2025年6月5日
GitHubからスクリプトをダウンロードして動作します
利用手段
設定用ポータルサイト (Windows用)
ランディングページ ※βバージョン: テスト中
-
設定
ターミナル > プロトコルハンドラー登録 > ダウンロード > インストール (ダブルクリック)
※レジストリに登録する事でリンクが利用可能になる -
解除
delete.reg > Download raw file (ダウンロード) > インストール (ダブルクリック)
パッケージインストール
パワーシェル起動
- キー入力:
Win
+x
>a
>はい
ssh -o StrictHostKeyChecking=no -oHostKeyAlgorithms=+ssh-rsa root@192.168.1.1
- root@192.168.1.1's password:
初期値:パスワード無し
SSHログイン出来ない場合
-
%USERPROFILE%\.ssh\known_hosts
※Windows隠しファイル
Clear-Content .ssh\known_hosts -Force
OpenSSHのインストールが無い場合
- 機能の確認
※Windows 10 Fall Creators Update(1709)以降標準搭載
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
- 機能のインストール
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
パワーシェル7のインストールとショートカット作成
$currentVersion = $PSVersionTable.PSVersion
Write-Host "Current PowerShell version: $($currentVersion)"
$installed = Get-Command pwsh -ErrorAction SilentlyContinue
if ($installed) {
Write-Host "PowerShell 7 is already installed. Skipping installation."
} else {
Write-Host "Installing PowerShell 7..."
$url = "https://aka.ms/install-powershell.ps1"
Invoke-WebRequest -Uri $url -OutFile "install-powershell.ps1"
.\install-powershell.ps1
Write-Host "PowerShell 7 installation completed."
}
$desktop = [Environment]::GetFolderPath("Desktop")
$shortcutPath = "$desktop\PowerShell 7 (Admin).lnk"
$targetPath = "C:\Program Files\PowerShell\7\pwsh.exe"
$arguments = "-Command Start-Process pwsh -Verb runAs"
$shell = New-Object -ComObject WScript.Shell
$shortcut = $shell.CreateShortcut($shortcutPath)
$shortcut.TargetPath = $targetPath
$shortcut.Arguments = $arguments
$shortcut.Description = "PowerShell 7 Administrator Shortcut"
$shortcut.WorkingDirectory = "$HOME"
$shortcut.IconLocation = $targetPath
$shortcut.Save()
Write-Host "PowerShell 7 administrator shortcut has been created."
パッケージインストール
リリースビルド (opkg)
opkg install https://github.com/site-u2023/aios-package/releases/download/ipk0.0/aios_all.ipk
バージョン19.07
wget -O /tmp/aios_all.ipk "https://github.com/site-u2023/aios-package/releases/download/ipk0.0/aios_all.ipk"; opkg install /tmp/aios_all.ipk
AAAAレコード (IPv6アドレス)を解決できない場合は、Cloudflare Workersプロキシ経由で以下の方法をご利用下さい
opkg install "https://proxy.site-u.workers.dev/proxy?url=https://github.com/site-u2023/aios-package/releases/download/ipk0.0/aios_all.ipk"
スナップショットビルド (apk)
wget -O /tmp/aios.apk "https://github.com/site-u2023/aios-package/releases/download/apk0.1/aios.apk"; apk add --allow-untrusted /tmp/aios.apk
AAAAレコード (IPv6アドレス)を解決できない場合は、Cloudflare Workersプロキシ経由で以下の方法をご利用下さい
wget -O /tmp/aios.apk "https://proxy.site-u.workers.dev/proxy?url=https://github.com/site-u2023/aios-package/releases/download/apk0.1/aios.apk"
apk add --allow-untrusted /tmp/aios.apk
コマンド実行
実行
aios
国番号を指定する
例: JP
aios JP
インターネット設定: 日本専用
デバイス接続
要HGW(ONUなど)直結
※上位ルーターがISPのPDを配布している場合、ルーター配下でも正常動作します
ルーター配下でインターネット設定する場合
上位ルーターのPD設定
-
一般市販ルーターの場合:
「IPv6パススルー」「パススルー機能」「IPv6ブリッジ」などを有効にする -
OpenWrtの場合:
uci set network.lan.ip6assign='64'
uci set dhcp.lan.dhcpv6='relay'
uci set dhcp.lan.ra='relay'
uci set dhcp.lan.ndp='relay'
uci set dhcp.lan.ra_management='0'
uci set dhcp.wan.dhcpv6='relay'
uci set dhcp.wan.ra='relay'
uci set dhcp.wan.ndp='relay'
uci commit network
uci commit dhcp
/etc/init.d/network reload
/etc/init.d/odhcpd restart
MAP-E初期設定時のネットワーク接続問題と解決策
問題の概要:鶏卵問題
問題
- MAP-E接続環境において、未設定状態では
AAAA(IPv6 Address record)
またRA(Router Advertisement)
が取得出来ない (IPSまたプランによる)
結果、GitHub
Qiita
などAAAA未対応サイトのみならず、RAがリレーされない為、Cloudflare
などAAAA対応サイトもアクセス出来ない
クラウドフレアページのTTL仕様
- DNS TTL: 300秒 (5分間)
※RA無し環境ではアクセスしてもTTL更新されない
事前準備 (必須)
- 正常なインターネット環境で、設定に利用するクライアントを以下ランディングページにアクセス:
https://site-u.pages.dev/
対応方法
- MAP-E接続設定するデバイスにランディングページからアクセスし5分以内に設定を完了させる
注意点
- 5分以内に作業完了が必要
- 同一ブラウザセッションで実行
- ブラウザ再起動でキャッシュクリアされる可能性
これによりMAP-E未設定状態でRA/AAAA取得不可でもランディングページへ接続し各種設定が可能になる
自動構成: MAP-E / DS-LITE / NURO HIKARI
自動検出結果: <インターネットサービスプロバイダ>
MAP-E: OCN / V6 PLUS / NURO HIKARI
MAP-E: OCN / V6 PLUS / NURO HIKARI
- OCN / V6 PLUS / NURO HIKARI
- 設定を復元します
DS-LITE: TRANSIX / CROSS PASS / V6 CONNECT
DS-LITE: TRANSIX / CROSS PASS / V6 OPTION
- TRANSIX EAST JAPAN
- TRANSIX WEST JAPAN
- クロスパス
- V6オプション
- 設定を復元します
パッケージ管理
COMMON
広告ブロッキングソフトウェア
問題
あとがき
-
トイレに100ワットなスクリプトを作っています
技術的興味から、多言語対応、並列処理など過剰な仕様です -
ランディングページを作ってみた
レジストリにプロトコルハンドラー登録すればローカルリンクが使える
※Windows11のヘルプで設定が呼び出されるのと同じ仕様 -
filebrowserを推奨パッケージに導入した (LuCiではないのでパッケージは無い)
ランディングページと合わせて使うと結構使い勝手が良いと思ってる (自己満) -
そろそろOpenWrt(Linux) && シェルスクリプト3年生だ。
だいぶ覚えたが、まだまだ使いこなせてない感じだね。