提供の OpenWrt テンプレートを、初回起動後に安全に利用開始するための手順です。
対象と前提 #
- 対象:提供の OpenWrt テンプレート
- WAN =
eth0(グローバルIPを設定する口) - 作業用LAN =
eth1(DHCP / コンソール復旧用のネット) - 初回は HTTPS GUI(LuCI)でログイン
- SSH は 必要時のみ(鍵登録後に起動/22開放、パスワードSSHは禁止)
重要事項(必読) #
- 本テンプレートは cloud-init 非対応のため、初回は手動設定が必要です。
- アクセス元ソースIP制限は必須です(クラウド側FW/SG と OpenWrt 側FWの両方で、443/22 をお客様の管理元IPだけ許可)。
- 設定を誤るとアクセス不能になります。作業中はコンソールを開いたまま進めてください。
- コンソールは US 配列として解釈されることがあります(特に
/や:など)。本手順で必要な記号は主に.と/とスペースです。
全体の流れ #
- (任意)ポータルで OpenWrt インスタンスを作成
- ポータルで WAN 情報と管理元IPを控える
- コンソールで root ログイン
firstboot.shを実行して WAN と HTTPS を初期設定- クラウド側FW/SGで TCP 443 を「管理元IPのみ」許可
- LuCI(HTTPS)にログイン
- (必要時のみ)SSH公開鍵を登録 →
enable_ssh.shでSSH有効化 → クラウド側FW/SGで TCP 22 を「管理元IPのみ」許可
Step 0(任意)ポータルで OpenWrt インスタンスを作成 #
すでにインスタンスが払い出し済みの場合はスキップして構いません。ポータルUIは提供元により差異がありますが、録画では以下の流れでした。
Step 0.1 テンプレート(OS)を OpenWrt にする #

Step 0.2 Public IP の払い出し設定を確認して作成 #

ポイント: この手順書の前提は eth0 が WAN(Public)です。ポータル側で NIC の割当や順序を変更できる場合は、必ず eth0 が Public 側になるよう確認してください。
Step 1 事前準備(ポータルで確認) #
ポータル(割当情報)から、次を控えてください:
- WAN(グローバル)情報
- IPv4アドレス(例:
203.0.113.2) - ネットマスク(例:
255.255.255.224) - ゲートウェイ(例:
203.0.113.1) - DNS(指定がなければ
1.1.1.18.8.8.8でOK)
- IPv4アドレス(例:
- 管理元IP(あなたの端末のグローバルIP)
- 固定グローバルIP(推奨):会社回線/VPN出口など(例:
203.0.113.10/32)
- 固定グローバルIP(推奨):会社回線/VPN出口など(例:
管理元IPが変わる回線(モバイル/家庭回線)だと、後で自分で自分を閉め出す可能性が高いです。可能なら固定IP(会社/VPN)を使ってください。
心配な点がありましたらサポートチケットをオープンしてご相談ください。

参考:CIDR → ネットマスク変換 #
| CIDR | ネットマスク |
|---|---|
| /29 | 255.255.255.248 |
| /28 | 255.255.255.240 |
| /27 | 255.255.255.224 |
| /26 | 255.255.255.192 |
| /24 | 255.255.255.0 |
Step 2 コンソールでログイン(必須) #
- ポータルからコンソール(noVNC/Proxmox 等)を開きます。
login:が出たらrootでログインします。
初期状態は rootパスワードが未設定(ロック)であることが多く、コンソールログインはできる前提のテンプレートです。
もしパスワードを求められて不明な場合は、提供元へ問い合わせてください。
Step 3 初回セットアップスクリプトを実行 #
プロンプトが root@OpenWrt:~# になっていることを確認し、firstboot.sh を実行します。
./firstboot.sh
もし実行できない(Permission denied など)場合は、パス指定で実行します:
sh /root/firstboot.sh

./firstboot.sh を実行する例(1 = 実行コマンド)。Step 4 スクリプトの質問に答える #
スクリプトが順に質問してきます。入力値は Step 1 で控えた内容を使います。
Step 4.1 root パスワード設定(必須) #
最初に「rootパスワードが未設定」と判定されると passwd が起動します。指示に従って新しいパスワードを設定してください。
このパスワードは LuCI(HTTPS GUI)ログインに必要です。
Step 4.2 WAN 設定の入力 #
本手順の前提は eth0 が WAN なので、プロンプトが WAN device [eth1]: のように出た場合でも eth0 を入力してください。

firstboot.sh の入力例(1 = WAN device を eth0 にする / 2 = WAN IPv4, netmask, gateway, DNS を入力)。入力する項目(例):
- WAN device:
eth0 - WAN IPv4 address:ポータルのIP(例:
203.0.113.2) - WAN netmask:ポータルのネットマスク(例:
255.255.255.224) - WAN gateway:ポータルのGW(例:
203.0.113.1) - DNS servers:指定がなければ
1.1.1.1 8.8.8.8 - Admin source IP/CIDR:あなたの管理元IP(例:
203.0.113.10/32)
Step 4.3 適用確認 #
最後に内容が表示されます。問題なければ Apply these settings? [y/N]: に y を入力します。
適用後、スクリプトは OpenWrt 側のネットワーク設定と、管理元IP制限付きの HTTPS アクセス許可(FW)を整えます。
Step 5 基盤ファイアウォール(クラウド側)を設定(HTTPS) #
スクリプト完了後、クラウド側(基盤FW/SG) で HTTPS を許可します。
- 許可:TCP 443
- 送信元:管理元IP(例:
203.0.113.10/32) - 宛先:この OpenWrt インスタンス(WAN 側)

※ ポータルにより項目名・見え方が異なる場合があります。
先に基盤FWで 443 を開けても、OpenWrt 側で許可されるまでは入れないため比較的安全ですが、必ず送信元IP制限を入れてください。
Step 6 HTTPS GUI(LuCI)でログイン #
ブラウザから以下へアクセスします:
https://<WAN_IP>/
自己署名証明書のため警告が出ます。内容を確認のうえ、続行します(ブラウザ表示は環境により異なります)。

ログイン画面が表示されたら、ユーザー root と Step 4.1 で設定したパスワードでログインします。
Step 7(必要時のみ)SSH を有効化する #
方針:鍵を登録してから SSH を有効化します(パスワードSSHは禁止)。
SSH を使わない運用なら、この章はスキップ可能です。
Step 7.1 LuCI で SSH 公開鍵を登録 #
LuCI メニュー例(環境により表記が少し違うことがあります):
System → Administration → SSH-Keys

System メニューを開き Administration を選ぶ例(1 = System / 2 = Administration)。
※ 公開鍵は「秘密鍵ではない方」(例:
~/.ssh/id_ed25519.pub)です。公開鍵(ssh-ed25519 AAAA... の1行)を貼り付けて保存します。
秘密鍵(id_ed25519 など)を貼り付けないでください。
Step 7.2 SSH 有効化スクリプトを実行 #
コンソールで:
./enable_ssh.sh
(ダメなら)
sh /root/enable_ssh.sh

enable_ssh.sh を起動し、SSH(22) の許可元IPを入力する例(1 = 実行箇所)。ここで管理元IPを聞かれます。HTTPS で使った管理元IPと同じなら、表示されたデフォルトのまま Enter でOKです。
このスクリプトは通常、以下を実施します:
- dropbear(SSH)を起動
- 鍵認証のみに設定(パスワード認証を無効化)
- OpenWrt 本体 FW に「22 を管理元IPだけ許可」ルールを追加
Step 7.3 クラウド側FW/SGでも 22 を開ける(管理元IP限定) #
- 許可:TCP 22
- 送信元:管理元IP(例:
203.0.113.10/32) - 宛先:この OpenWrt インスタンス(WAN 側)
注意: OpenWrt 側の SSH 有効化(鍵登録 + enable_ssh)より先に 22 を全開放しないでください。
Step 7.4 接続確認(あなたの端末から) #
ssh -i ~/.ssh/id_ed25519 root@<WAN_IP>
パスワードでのSSHログインは 失敗するのが正常です(鍵のみ)。
Step 8 よくあるトラブルと復旧 #
Step 8.1 HTTPS に入れない(タイムアウト) #
まず疑う順番:
- クラウド側FW/SGで TCP 443 が管理元IPから許可されているか
- 管理元IPが本当に合っているか(回線が変わっていないか)
- コンソールで WAN 設定が入っているか
コンソール確認:
uci show network.wan
ip -o -4 addr show
ip route
パケットが届いているか確認(例):
tcpdump -ni eth0 tcp port 443
Step 8.2 管理元IPが変わって入れなくなった #
コンソールで許可IPを書き換えできます(管理元IPが変わった場合)。
HTTPS の許可元を書き換え:
uci set firewall.allow_https_from_admin.src_ip='<NEW_IP/32>'
uci commit firewall
/etc/init.d/firewall restart
SSH を使っている場合:
uci set firewall.allow_ssh_from_admin.src_ip='<NEW_IP/32>'
uci commit firewall
/etc/init.d/firewall restart
Step 8.3 WAN デバイス(eth0/eth1)を間違えた #
WAN を誤ったインターフェースに設定すると疎通不能になります。
この場合もコンソールから復旧できます。network.wan.device が eth0 になっているか確認してください。
uci show network.wan.device
uci show network.wan.ifname # 環境によりこちらのキーの場合もあります
付録:この手順でよく使う置換用プレースホルダー #
<WAN_IP>:ポータルで確認した WAN IPv4<ADMIN_SOURCE_CIDR>:あなたの管理元IP(例:203.0.113.10/32)<NEW_IP/32>:管理元IPが変わった場合の新しいIP