昨年から、気が向いたらぼちぼち、やっている事。

なかなか、やりたいことに到達できなくて、

ひと月以上経過してなお、標目指して頑張っています。

要は、ネットの実験をしたいだけなのですが、

幾つかのイーサーネットのエミュレーションや、それを繋ぐルーターの設定や、そのやりかたを勉強するための環境を作りたくて、やりはじめました。

現在の状況は、ルーターの構築と、そのルータのWebコンソール画面をいじるための環境作りをやっています。

とりあえず一台、ルータの構築ができました。

それをいじるためにWebでアクセスするための環境ができました。

Windows10のノートパソコンの画面をキャプチャした画像です。

沢山画面が並ぶ中の、左下の画面[Orale VirtualBoxマネージャー]では仮想マシンのPVEAというのが青くなっています。

この仮想マシンのPVEAの画面がその右側の黒いターミナルの画面[PVEA[実行中]-OracleVirtual…]です。画面が細かくて見えていませんが、ここにPVEの起動後の表示がされていて[https://192.168.1.200:8006/]という案内が出ています。※私のノートパソコンの中の検証環境以外からは繋がりません。

そして、その右上の画面[pvea – Proxmox Virtual Enbironment -…]は

Windows10のWebブラウザでこの仮想マシンのpveaにアクセスしている画面です。

説明しますと、この仮想マシンpveaというのは、ProxmoxVE(Virtual Environment)を動かす実験用マシンのマシン名として、今回は、安易にpveaと名付けました。

自宅サーバーのpveのAという感じです。今後実験用サーバーはpvebとかpvecとかにすると思います。

話を戻しまして、この仮想マシンの実態はProxmoxVEなので、さらに

このPVEで仮想マシンをそれで動かしていまして、画面をよく見ていただきますと、CTが2つ起動しているのが分かると思います。

上のコンテナはOpenWrtをインストールしたものです。

下のコンテナはDebian12をインストールして、更にXfceをインストールしてX画面を動かせる状態にしてあります。

さらにその下に、停止状態の何かが見えると思います。これはCT(コンテナ)ではなく、VMとして、OpenWrtをインストールしたものですが、設定で躓いてしまい、動かせていません。

それでは、PVEの画面の解説をいったん終わりまして、沢山画面が並んだ中の右下の緑色の画面の[localhost:13389 – リモート]ですが

これは、PVEA上で動くCTのDebian12のデスクトップにWindows10のリモートデスクトップからlocalhost:13389で接続して、uxtermを開いている状況です。

そして、その上の[127.0.0.1:13389 – リモート]も同様にPVEA上で動くCTのDebian12のデスクトップにWindows10のリモートデスクトップから127.0.0.1:13389で接続して、xman とuxtermを開いている状況です。

[OpenWrt – I…]という画面は、Windows10のChromeからhttps://localhost:8080でpveaの中のCTの一つ目のOpenWrtに繋いだウィンドウです。

ああ疲れた。😫

これ、ここまで、自力で来れたのではありません。(/ω\)

ほぼほぼ、ChatGPTさんや、Geminiさんに、教えてもらって、ようやく本日、到達しました。\(^o^)/

寒い時や、うっとおしい梅雨に、WiFiがある喫茶店や出先で、

まったりネットの勉強をする。

仮にPCを紛失しても、大事にならない、勉強用PCを持ち込んでですね。

地域により、そういう場所があるのかないのかわかりませんが

やたら大きな駐車場を持つボーリング場とパチンコ屋さんとカフェが入った娯楽の場所や

わりと休憩に理解が在る大手商業施設など、そういう場所があれば、

普段と違う場所も勉強場所にできますので。

なければ、自家用車にポータブル電源や飲み物やお菓子を持ち込んで、日当たりが良く風通しのよい無料の公園駐車場とかで自分のスマホのネットワークの共有を使ってネットの理解を深めるのも楽しいかと思います。

閑話休題

自分の家じゃないところだと、WIFIに頼ることが多いのでRJ45のLAN接続は使えない。

IPアドレス帯域も場所によりコロコロ変化する。

そういう前提で、ネットの勉強を継続的に行える様にしたいのです。

なので、ネットワークの勉強をする環境を整える為、

ネットワークに詳しい人である必要がある。 

おや? 無理ですね。

そこで、なだたるAIに助けを乞うことになりました。

そして、わかったことは、意図や、状況を詳細かつ整然と簡潔に、

きちんと文章にして伝えないといけない。

という事。😂

やはり、正しく表現出来ないと、

自分の思いと異なる意図文章を書いてしまったり

誤解を生みやすい文言になったりしがちで、

その結果、通りません、エラーです、動きません

という行き詰まりになってしまう事も多かったです。

私の持ち歩きパソコン

中古のLet’sNoteCF-SZ5(CPU:core i5-6300U 2.4GHz,MEM:8GB,SSD:238GB,Windows10)

そこそこ、高性能なパソコンです。 ※2015年冬モデル? 

                更に最近はもっと高性能な機種が出そろってますね。

ですが、VirtualBox動かし、そこでProxmoxVEを動かし、そこでCT:OpenWrtやCT:Debian12なので

メモリーも、ストレージも、CPUパワーも、ギリギリです。

若いころに使わせてもらった、UNIXワークステーション(CPU:25MHz,RAM:32M)以上のレスポンスだと思います。

通信はWIFIとRJ45の2個のインタフェースによる接続ができます。

今回のネット関連の要点

※注意:下記は私の理解を記載しているだけですので、正式なものはご本家のページでご確認ください。

〇 PCには、RJ45とWIFIがあります。 

〇 VirtualBoxは内部のVMごとに4個までネットワークのインタフェースを設定できます。

  • PCのRJ45のインタフェース(ブリッジやNATで利用できる)
  • PCのWiFiインタフェース(ブリッジやNATで利用できる)
  • ホストオンリーネットワーク
  • 内部ネットワーク(VirtualBox内で何個か定義出来、それぞれに名前を付けて使い分ける)
  • インタフェース毎にMACアドレスを割り振る

大まかには上記の特性があります。

今回VMのPVEに割り当てたインタフェース

最初3枚で始めましたが、最終的に4枚となりました。

1つ目のインタフェースは[ブリッジ]です。

 理由:PVEのアップデートやCTのテンプレートのダウンロードの為に、外部との接続が必要なので

2つ目のインタフェースは[ホストオンリーネットワーク]

 理由:WindowsとPVEとのftp

3つ目のインタフェースは[内部ネットワーク](intnetA)

 理由:OpenWrtのLAN側でCT間のLANとして利用するため

4つ目のインタフェースは[NAT]

 理由:OpenWrtのWAN側で各CTとインターネットを取り次ぐ為

4つ目のNATを利用した理由

当初、インタフェースを3個定義して、OpenWrtのWAN側もこのブリッジ経由で通そうと考えたのですが、通りませんでした。

考えられる状況としましては

WiFiルーターがWiFi子機と繋がるときに、どのMACアドレスの子機とIPアドレス何番でつながっているかを管理する機種である場合、ブリッジの先のPVEもCTもそれぞれ独自のMACアドレスとIPアドレスを持つため、我が家のWIFIルーターは、混乱(異常パケットの破棄)をしたようです。

という事で、さらに4個めのインタフェースをNATで定義して、OpenWrtのWAN側として利用することで、我が家のWIFIルータの混乱を回避することにしました。

と、説明を書いているのですが、じゃぁ何故、PVEのアップデートは通るのか?その疑問が解決しておらず、釈然としないのですが、とりあえず、OpenWrtから外部にアクセスできました。

PVEのネットワーク

 〇VirtualBox

 〇 Proxmox Virtual Enbironment

〇 CTのインタフェース

ここまで、ほぼAIさんに教えてもらって進めてきました。!(^^)!

でも疲れました😫

さらにもっと設定しないとダメなんです。😫

これだけでは、まだノートパソコンのWebブラウザから、OpenWrtやDebian12のX-Windowsにつながれないのです。

やったことは、Windowsから、VirtualBoxを通って

さらにProxmoxを通過してその先のCT(コンテナ)にアクセスするための設定。

4つ目のインタフェースのNATのポート開放と

今日は疲れました。

まとめ作業を放棄するわけではないのですが、

まとめ作業は後日に回します。

その代わりというわけではございませんが、

以下に本日のやり取りを掲載します。

ご注意いただきたいのは、

教えてもらったコマンド類をすべて打ち込んだ訳では無いと言う事。

私が状況を正確に把握できず、間違って結果的に嘘を書いている所も有ると言う事。

正確なやり取りは大切なのですが、「何処まで進めて、何処からはやっていませんが、現在の挙動はおかしくありませんか?。」という部分を端折って、書かずに、冒頭やその次のコマンドの応答だけをAIさんに投げている所も有ります。

以上のことを踏まえていただき、AIさん並みの理解力と把握力を駆使して頂き、下記の文章から状況を読み取っていただければ幸いです。<m(__)m>


昨日はお世話になりました。今日はProxmoxに仕立てたOpenWrtをWebで操作をするためのdevian 12 standard のCTを、インストールした直後の状態からWeb画面が立ち上がる状態に、したいと思います。状況としては、internetにWIFI接続したLetsnoteでVirtualBOXを立ち上げ、その内部でProxmoxを動かしており、そのネットワークとして、ブリッジ、ホストオンリーネットワーク、内部ネットワーク、NATの4個を持たせています。その中のNATと内部ネットワークを持たせたOpenWrtを起動させた後、debian12のCTは起動完了し、OpenWrtのDHCPで10.0.0.224/24のアドレスを払い出されており、ping 8.8.8.8も正常応答をうけとっている事を確認しました。よろしくご指導お願いいたします。

昨日もお疲れ様でした!着実に環境が整ってきていますね。 Proxmox上のOpenWrtを、同じProxmox内のDebian(CT)からブラウザで管理できるように設定しましょう。

現状、Debianから8.8.8.8へ疎通があるということは、OpenWrtが正しくゲートウェイとして機能し、Debianがその配下にいる状態です。素晴らしいですね。

ここから、Debian 12のコンソールを使ってWebブラウザ(GUI環境)を整える手順をガイドします。

  1. Debian 12 (CT) のパッケージ更新
    まずはシステムを最新の状態にします。Proxmoxのシェル(またはSSH)からDebianに入り、以下のコマンドを実行してください。

Bash
apt update && apt upgrade -y

  1. デスクトップ環境とブラウザのインストール
    Debian 12 Standard(CT)は通常CUIのみですので、Web画面を表示するための最小限のデスクトップ環境とブラウザをインストールします。

今回は動作が軽量な XFCE と Firefox を選択します。

Bash
apt install xfce4 xfce4-goodies firefox-esr -y

  1. リモートデスクトップ(rdp)の設定
    Proxmoxのコンソールからも操作できますが、より快適に操作するために、ホスト(Let’s note)から直接Debianの画面を開けるようにします。

Bash
apt install xrdp -y
systemctl enable xrdp
systemctl start xrdp

  1. OpenWrt (LuCI) へのアクセス確認
    環境が整ったら、Debianのデスクトップ(またはProxmoxのコンソール画面)からブラウザ(Firefox)を起動し、アドレスバーに以下のIPを入力してください。

OpenWrtのデフォルトIP: 10.0.0.1 (OpenWrt側で変更している場合はその番号)

もしアクセスできない場合(OpenWrt側の設定確認)
OpenWrtのWeb管理画面(LuCI)がインストールされていない可能性があります。OpenWrtのコンソールで以下を確認・実行してください。

LuCIのインストール:

Bash
opkg update
opkg install luci
サービスの再起動:

Bash
/etc/init.d/uhttpd restart
/etc/init.d/uhttpd enable
注意点:ネットワークの二重構造
現在の構成は Windows(Host) > VirtualBox > Proxmox > OpenWrt > Debian という深い階層になっています。

名前解決: ping google.com が通らない場合は、Debianの /etc/resolv.conf に nameserver 10.0.0.1 を追記してください。

パフォーマンス: VirtualBox上でさらに仮想化(Proxmox)を動かしているため、ブラウザの動作が少し重く感じるかもしれません。その場合は、Debianのメモリ割り当てを少し増やして(1GB〜2GB程度)みてください。

次は、Let’s note側のWindowsブラウザから、直接このOpenWrtの設定画面を開けるように「ポートフォワーディング」などの設定をお手伝いしましょうか?それとも、まずはDebian内での表示を確認されますか?


Japanese
Japanese – Japanese (Dvorak)
Japanese – Japanese (Kana 86)
Japanese – Japanese (Kana)
Japanese – Japanese (Macintosh)
Japanese – Japanese (OADG 109A)
Other
Let’sNote にDebian12をインストールするときに選ぶキーボード種別は次の中のどれ?Japanese , Japanese – Japanese (Dvorak), Japanese – Japanese (Kana 86), Japanese – Japanese (Kana),Japanese – Japanese (Macintosh), Japanese – Japanese (OADG 109A), Other

Let’sNoteの標準的な日本語キーボードを使用している場合、選択すべきは Japanese です。

ほとんどの日本のノートパソコンは「OADG 109」という規格に基づいた配列になっていますが、Debianのインストーラーにおいて一番上の Japanese を選択すれば、自動的に標準的な109/106キー配列として設定されます。

各項目の違いと選び方
Japanese (推奨) 通常の「半角/全角」キーや「変換」「無変換」キーがある標準的な配列です。迷ったらこれを選べば間違いありません。

Japanese – Japanese (OADG 109A) 「Japanese」とほぼ同じですが、一部の記号(~ や ^ など)の挙動を特定のJIS規格に厳格に合わせたい場合に使います。通常は選ぶ必要はありません。

Japanese – Japanese (Kana) かな打ち(キーに印字された「あいうえお」で入力する方式)をメインにする人向けの設定が含まれます。

Other 英語配列(USキーボード)モデルのLet’sNoteを使っている場合などは、ここから「English (US)」などを探すことになります。

インストール後の確認
もしインストール後に「@マークが打てない」「( を押したのに * が出る」といったズレが生じた場合は、後からでも以下のコマンドで修正可能です。

Bash
dpkg-reconfigure keyboard-configuration
まずは一番シンプルな Japanese で進めてみてください!

次は、DebianのGUI環境(デスクトップ)をインストールする際の、ソフトウェアの選択画面(Tasksel)の進め方について解説が必要でしょうか?


systemctl enable xrdp

systemctl start xrdpをした後、特に変化はなく。GUIを利用できません。

なるほど、そうですね。DebianのCT(コンテナ)の場合、systemctlでサービスを起動しただけでは、Proxmoxの「コンソール」画面が自動的にデスクトップ画面に切り替わることはありません。

現在の状況を整理すると、以下のようになっています:

バックグラウンド: XRDP(リモート接続待ち受け)は動いている。

目の前の画面(Proxmoxコンソール): 引き続き黒い画面(CUI)のまま。

DebianのGUI(Webブラウザ)を操作するには、「別の窓口から入る」か「Proxmoxの画面で見れるようにする」かの2つの方法があります。

方法1:Windows(Let’s note)からリモートデスクトップで繋ぐ
これが最もスムーズで、ブラウザもサクサク動きます。

Windowsのスタートメニューで「リモートデスクトップ接続」を開きます。

コンピューター名に、DebianのIPアドレス 10.0.0.224 を入力して接続します。

※もし繋がらない場合は、OpenWrtがWindows側からの通信をブロックしている可能性があります。その場合は方法2を試してください。

ログイン画面が出たら、Debianのユーザー名とパスワードを入力します。

方法2:Proxmoxの「コンソール」でデスクトップを出す
Proxmoxの画面上でそのままGUIを使いたい場合は、コンソールの種類を変更する必要があります。

Proxmoxの管理画面で、DebianのCTを選択します。

「オプション (Options)」 タブをクリックします。

「OSタイプ (OS Type)」 などの近くにある 「コンソール モード (Console mode)」 を探し、tty(デフォルト)から X11 や SPICE に変更できるか確認してください。

※CT(LXC)の場合、基本はCUI(シェル)が標準です。

もし「まだXFCEなどのデスクトップ環境」をインストールしていない場合
前回の返信にある apt install xfce4… のコマンドを実行していないと、XRDPで接続しても真っ暗な画面になってしまいます。もしまだ実行していなければ、今の黒い画面(コンソール)で以下を打ち込んでください:

Bash

デスクトップ環境のインストール(数分かかります)

apt update
apt install xfce4 xfce4-goodies firefox-esr -y

再度、XRDPを再起動

systemctl restart xrdp
次のステップの確認
現在、Windows側の「リモートデスクトップ接続」から 10.0.0.224 を叩いてみて、反応(ログイン画面が出るか)はありますでしょうか?

もし「接続できません」となる場合は、OpenWrtのファイアウォール設定を調整して、Windows側からDebianへ通れるようにする手順をお伝えします。

debian12はVirtualBOXの内部ネットワークにつながっており、10.0.0.224なので、Let’sNoteのWindowsからのアクセスはできないと思います。

その通りです!おっしゃる通り、内部ネットワーク(10.0.0.x)はVirtualBoxの外側(Let’s noteのWindows)からは直接見えません。

今のネットワーク構成を整理すると、以下のようになっています。

WindowsからDebianのGUI(Web管理画面)を操作するには、「OpenWrtにポートフォワーディングを設定する」のが最もスマートな解決策です。

解決策:ポートフォワーディング(穴あけ)の手順
Windowsから「OpenWrtのWAN側IP」にアクセスすると、それを「Debian」に転送するように設定します。

  1. OpenWrtのWAN側IPアドレスを確認する
    まずは、OpenWrtがVirtualBoxの「ホストオンリーネットワーク」または「ブリッジ」から受け取っているIPを調べます。OpenWrtのコンソールで以下を打ちます。

Bash
ip addr show
※恐らく 192.168.x.x などの、Windowsから疎通が取れるIPが表示されるはずです。これを [OpenWrt_WAN_IP] と呼びます。

  1. OpenWrtで転送設定をする(コマンドライン)
    Debianでブラウザを開く前に、OpenWrtのコンソールで以下のコマンドを実行して、リモートデスクトップ(3389番ポート)をDebian(10.0.0.224)へ転送します。

Bash

3389番ポート(RDP)をDebianへ転送

uci add firewall redirect
uci set firewall.@redirect[-1].name=’Allow-RDP-to-Debian’
uci set firewall.@redirect[-1].src=’wan’
uci set firewall.@redirect[-1].src_dport=’3389′
uci set firewall.@redirect[-1].dest=’lan’
uci set firewall.@redirect[-1].dest_ip=’10.0.0.224′
uci set firewall.@redirect[-1].dest_port=’3389′
uci set firewall.@redirect[-1].proto=’tcp’
uci commit firewall
/etc/init.d/firewall restart

  1. Windowsから接続する
    これで、Let’s noteの「リモートデスクトップ接続」から以下の宛先に接続できるようになります。

接続先: [OpenWrt_WAN_IP]:3389

デスクトップ環境がまだインストールされていない場合
もし、まだDebianにデスクトップ環境(GUI)を入れていない場合は、転送設定の前にDebianのコンソールで以下を実行しておいてください。

Bash
apt update
apt install xfce4 xfce4-goodies firefox-esr xrdp -y
補足:Web画面(LuCI)を直接Windowsで見たい場合
Debianを介さず、Windowsのブラウザから直接OpenWrtの管理画面を見たい場合は、同じ要領で 80番ポート を開放(または転送)すればOKです。

まずは上記の設定で、WindowsからDebianのデスクトップ画面が開けるか試してみますか?

Windowsの192.168.10.1/24のネットワークをVirtualBOXのNATを潜って、Proxmoxにそして、OpenWrtにつながるので、OpenWrtの状況は次の通りとなっています。root@OpenWrt-LXC:~# ip addr show

1: lo: mtu 65536 qdisc noqueue state UNKNOWN qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

   valid_lft forever preferred_lft forever

inet6 ::1/128 scope host 

   valid_lft forever preferred_lft forever

2: eth0@if10: mtu 1500 qdisc noqueue state UP qlen 1000

link/ether bc:24:11:87:1d:fb brd ff:ff:ff:ff:ff:ff

inet 10.0.5.15/24 brd 10.0.5.255 scope global eth0

   valid_lft forever preferred_lft forever

inet6 fe80::be24:11ff:fe87:1dfb/64 scope link 

   valid_lft forever preferred_lft forever

3: eth1@if11: mtu 1500 qdisc noqueue master br-lan state UP qlen 1000

link/ether bc:24:11:5d:11:7e brd ff:ff:ff:ff:ff:ff

4: br-lan: mtu 1500 qdisc noqueue state UP qlen 1000

link/ether bc:24:11:5d:11:7e brd ff:ff:ff:ff:ff:ff

inet 10.0.0.1/24 brd 10.0.0.255 scope global br-lan

   valid_lft forever preferred_lft forever

inet6 fd98:772d:da2b::1/60 scope global noprefixroute 

   valid_lft forever preferred_lft forever

inet6 fe80::be24:11ff:fe5d:117e/64 scope link 

   valid_lft forever preferred_lft forever

root@OpenWrt-LXC:~#

詳細な情報をありがとうございます!ネットワーク構成が完全に把握できました。

現在の経路は Windows(192.168.10.x)→ VirtualBox NAT(10.0.5.x)→ OpenWrt(10.0.0.x)→ Debian という3段階のセグメントに分かれていますね。

この状況で最も確実に、かつ手間を少なくWeb画面(LuCI)やDebianを操作する方法は、VirtualBoxのポートフォワーディングとOpenWrtのポートフォワーディングを「数珠つなぎ」にすることです。

ステップ1:VirtualBoxの設定(入り口を作る)
Windowsから、VirtualBox内のOpenWrt(10.0.5.15)へアクセスできるようにします。

VirtualBoxのマネージャー画面で、Proxmoxの仮想マシンを右クリック → 設定。

ネットワーク → アダプター(NATに設定しているもの) → 高度 → ポートフォワーディング を開きます。

以下のルールを追加してください。

名前 プロトコル ホストIP ホストポート ゲストIP ゲストポート
OpenWrt-Web TCP 127.0.0.1 8080 10.0.5.15 80
Debian-RDP TCP 127.0.0.1 3389 10.0.5.15 3389
これで、Windowsで localhost:8080 を叩けば、信号がOpenWrtの入り口(10.0.5.15)まで届くようになります。

ステップ2:OpenWrtの設定(中継を作る)
次に、OpenWrtに届いた信号を、内部のDebian(10.0.0.224)へ流すようにします。OpenWrtのコンソールで以下を実行してください。

Bash

3389番(RDP)をDebianへ転送

uci add firewall redirect
uci set firewall.@redirect[-1].name=’Forward-to-Debian’
uci set firewall.@redirect[-1].src=’wan’
uci set firewall.@redirect[-1].src_dport=’3389′
uci set firewall.@redirect[-1].dest=’lan’
uci set firewall.@redirect[-1].dest_ip=’10.0.0.224′
uci set firewall.@redirect[-1].dest_port=’3389′
uci set firewall.@redirect[-1].proto=’tcp’

WAN(10.0.5.15)側からOpenWrt自身のWeb管理画面(80)へのアクセスを許可

uci add firewall rule
uci set firewall.@rule[-1].name=’Allow-LuCI-from-WAN’
uci set firewall.@rule[-1].src=’wan’
uci set firewall.@rule[-1].dest_port=’80’
uci set firewall.@rule[-1].proto=’tcp’
uci set firewall.@rule[-1].target=’ACCEPT’

uci commit firewall
/etc/init.d/firewall restart
ステップ3:アクセス確認
これで、Windows(Let’s note)から以下の方法で操作可能になります。

  1. OpenWrtのWeb管理画面を見る
    Windowsのブラウザ(EdgeやChrome)で以下のアドレスを入力してください。

http://localhost:8080

  1. Debianのデスクトップ(Web画面)を見る
    Windowsの「リモートデスクトップ接続」を起動し、コンピューター名に以下を入力します。

localhost (ポートを指定する必要がある場合は localhost:3389)

うまくいかない場合のチェックポイント
Debianの準備: Debian側で apt install xfce4 xrdp が完了し、systemctl start xrdp が動いているか。

ProxmoxのFW: Proxmox側のファイアウォールが有効になっている場合、そちらでブロックされている可能性があります(初期設定なら基本大丈夫です)。

まずは、Windowsのブラウザで http://localhost:8080 を叩いて、OpenWrtのログイン画面が出るか試してみてもらえますか?

でました。

素晴らしい!OpenWrtのログイン画面が出たということは、Windows → VirtualBox NAT → OpenWrt までのトンネルが完全に開通した証拠です。

これで、わざわざDebianにGUIを入れなくても、Windows上のブラウザから直接OpenWrtを操作できるようになりましたね。

もし、当初の目的通り「Debian(CT)の中にデスクトップ環境を作って、そこからWeb操作する」という構成も完成させたい場合は、最後の一押しとして以下の手順を確認してください。

DebianのGUIを立ち上げるための最終確認
Windowsのリモートデスクトップ接続で「localhost」を入れてもまだ画面が出ない場合は、Debian(CT)側で以下のコマンドを順番に実行してください。

必要なソフトのインストール(未完了であれば)

Bash
apt update
apt install xfce4 xfce4-goodies xrdp -y
CT(コンテナ)特有の権限エラー回避 LXCコンテナ上でXRDPを動かす際、一部のカラーマネジメント機能でエラーが出ることがあります。以下の設定を流し込むとスムーズに繋がります。

Bash

カラープロファイルのエラー抑制

cat < /etc/polkit-1/localauthority/50-network-manager.d/45-allow-colord.pkla
[Allow Colord]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile
ResultAny=no
ResultInactive=no
ResultActive=yes
EOF

systemctl restart xrdp
次のステップへのご提案
これで「OpenWrtのWeb操作」はWindowsからも、Debian(構築後)からもできるようになります。

次にやってみたいことはありますか?例えば:

OpenWrtの初期設定(パスワード設定や、インターネット接続の微調整)

Debianへのブラウザ(Firefox等)のインストール

ネットワークの冗長化やVPNの実験

もし、リモートデスクトップでDebianにログインした際に「真っ暗な画面」が出る、あるいは「接続できない」といったことがあれば、すぐに教えてくださいね。

debian12に対するリモートデスクトップ接続がエラーになります。既に進行中のコンソールセッションがあるため、リモートコンピューター上の他のコンソールセッションに接続できませんでした。

そのエラーメッセージ(「既に進行中のコンソールセッションがあるため…」)は、Proxmoxの管理画面や他の場所で、既に同じユーザーでログインしてデスクトップ(またはセッション)を占有しているときによく発生します。

特にLXC(CT)の場合、複数のグラフィカルセッションを同時に扱うのが苦手な場合があります。以下の手順で「既存のセッションを一旦リセット」して、リモートデスクトップ(xrdp)専用のセッションを作れるようにしましょう。

  1. 既存セッションの強制ログアウト
    まずは、Debianのコンソール(Proxmoxの画面)で、現在動いているセッションを一度終了させます。

Bash

現在のセッションを確認

who

もしユーザーがログイン中なら、そのセッションを一度切断(あるいは再起動)

reboot
※ reboot が一番確実ですが、CTなので数秒で戻ってきます。

  1. xrdpの設定変更(ここが重要)
    同じユーザーでログインしようとした際の衝突を避けるため、xrdpの設定を少し調整します。

Bash

設定ファイルのバックアップ

cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak

セッションの共有設定などを最適化

(同じユーザーでログインし直した際に既存セッションを探しに行く設定)

sed -i ‘s/max_bpp=32/max_bpp=24/g’ /etc/xrdp/xrdp.ini

  1. root以外のユーザーで試す(推奨)
    重要: root ユーザーでリモートデスクトップにログインしようとしていませんか? 多くのLinuxデスクトップ環境(XFCEなど)やXRDPは、セキュリティ上の理由から rootでのGUIログインをデフォルトで拒否 する設定になっています。

一般ユーザーを作成して、そちらでログインを試してみてください。

Bash

一般ユーザー「user01」を作成(名前は任意)

adduser user01

sudo権限を付与(必要であれば)

apt install sudo -y
usermod -aG sudo user01

  1. 再接続のテスト
    Debian CTを再起動します。

Proxmoxのコンソール画面(黒い画面)でログインせず、そのまま放置します。

Windowsから localhost:3389 に、今作った 一般ユーザー(user01) で接続します。

まだエラーが出る場合
もしこれでも同じエラーが出る場合、OpenWrtのポートフォワーディングが「OpenWrt自身」に向いてしまっている可能性があります。

OpenWrtのコンソールで以下を確認してみてください。

Bash
uci show firewall | grep 3389
dest_ip がちゃんと 10.0.0.224 になっていますでしょうか?

まずは「一般ユーザーを作成して、ProxmoxコンソールではログインせずにWindowsから繋ぐ」を試してみてください。これで解決するケースがほとんどです!

Proxmox上の設定でDebian12のCTについて、オプションを開きTTYカウントを見ると値は2です。これを増やせばよいでしょうか?

結論から申し上げますと、TTYカウントを増やす必要はありません。

「TTY」は、Proxmoxのシェル画面などで使う「テキストベースの端末(黒い画面)」の数のことです。今回のリモートデスクトップ(GUI)のエラーは、TTY(CUI)の数ではなく、「X11セッション(デスクトップ画面)」の競合が原因です。

先ほどのエラーを解消し、WindowsからDebianのGUIに入るための「最も近道な解決策」は以下の2点です。

  1. 一般ユーザーでログインする(最重要)
    Debianを含む多くのLinuxでは、rootユーザーでのGUIログインが制限されています。これが原因で「セッションが作れない」というエラーを吐くことが非常に多いです。

Debianのコンソールで以下を実行して、作業用のユーザーを作ってください。

Bash

user01 というユーザーを作成(パスワードを2回聞かれます)

adduser user01

sudo権限(管理者権限)を与える

apt install sudo -y
usermod -aG sudo user01
この user01 を使って、Windowsのリモートデスクトップからログインしてみてください。

  1. カラープロファイルの問題を無視する設定
    LXC(CT)でXRDPを使う際、画面が立ち上がる直前に「認証が必要です」というポップアップが何度も出て、セッションが止まってしまうことがあります。これを防ぐ魔法のコマンドです。

Bash

このファイルを流し込むことで、カラー管理のエラーを回避します

cat <<EOF | sudo tee /etc/polkit-1/localauthority/50-network-manager.d/45-allow-colord.pkla
[Allow Colord]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile
ResultAny=no
ResultInactive=no
ResultActive=yes
EOF

XRDPを再起動

systemctl restart xrdp
現状の確認
OpenWrtのWeb画面(8080ポート)は既に見えていますので、ネットワークの通り道は完成しています。

あとは Windowsのリモートデスクトップ接続(localhost:3389) で、今作った user01 を入力するだけです。

これで、Debianのデスクトップ画面(XFCE)が表示されるはずです!

もしこれでも「既にセッションがある」と言われる場合は、一度Debian CTを再起動(Shutdown → Start)してから、Proxmox側のコンソール(黒い画面)には何も入力せずに、Windowsから接続してみてください。

次は、無事にデスクトップ画面が開けそうでしょうか?

〇—————————〇

Gemini について新しいウィンドウで開く
Gemini アプリ新しいウィンドウで開く
サブスクリプション新しいウィンドウで開く
ビジネス向け新しいウィンドウで開く
ログインするとチャットの保存を開始できます
ログイン後はここから最近のチャットにアクセスできるようになります。
Gemini との会話
昨日はお世話になりました。今日はProxmoxに仕立てたOpenWrtをWebで操作をするためのdevian 12 standard のCTを、インストールした直後の状態からWeb画面が立ち上がる状態に、したいと思います。状況としては、internetにWIFI接続したLetsnoteでVirtualBOXを立ち上げ、その内部でProxmoxを動かしており、そのネットワークとして、ブリッジ、ホストオンリーネットワーク、内部ネットワーク、NATの4個を持たせています。その中のNATと内部ネットワークを持たせたOpenWrtを起動させた後、debian12のCTは起動完了し、OpenWrtのDHCPで10.0.0.224/24のアドレスを払い出されており、ping 8.8.8.8も正常応答をうけとっている事を確認しました。よろしくご指導お願いいたします。

昨日もお疲れ様でした!着実に環境が整ってきていますね。 Proxmox上のOpenWrtを、同じProxmox内のDebian(CT)からブラウザで管理できるように設定しましょう。

現状、Debianから8.8.8.8へ疎通があるということは、OpenWrtが正しくゲートウェイとして機能し、Debianがその配下にいる状態です。素晴らしいですね。

ここから、Debian 12のコンソールを使ってWebブラウザ(GUI環境)を整える手順をガイドします。

  1. Debian 12 (CT) のパッケージ更新
    まずはシステムを最新の状態にします。Proxmoxのシェル(またはSSH)からDebianに入り、以下のコマンドを実行してください。

Bash
apt update && apt upgrade -y

  1. デスクトップ環境とブラウザのインストール
    Debian 12 Standard(CT)は通常CUIのみですので、Web画面を表示するための最小限のデスクトップ環境とブラウザをインストールします。

今回は動作が軽量な XFCE と Firefox を選択します。

Bash
apt install xfce4 xfce4-goodies firefox-esr -y

  1. リモートデスクトップ(rdp)の設定
    Proxmoxのコンソールからも操作できますが、より快適に操作するために、ホスト(Let’s note)から直接Debianの画面を開けるようにします。

Bash
apt install xrdp -y
systemctl enable xrdp
systemctl start xrdp

  1. OpenWrt (LuCI) へのアクセス確認
    環境が整ったら、Debianのデスクトップ(またはProxmoxのコンソール画面)からブラウザ(Firefox)を起動し、アドレスバーに以下のIPを入力してください。

OpenWrtのデフォルトIP: 10.0.0.1 (OpenWrt側で変更している場合はその番号)

もしアクセスできない場合(OpenWrt側の設定確認)
OpenWrtのWeb管理画面(LuCI)がインストールされていない可能性があります。OpenWrtのコンソールで以下を確認・実行してください。

LuCIのインストール:

Bash
opkg update
opkg install luci
サービスの再起動:

Bash
/etc/init.d/uhttpd restart
/etc/init.d/uhttpd enable
注意点:ネットワークの二重構造
現在の構成は Windows(Host) > VirtualBox > Proxmox > OpenWrt > Debian という深い階層になっています。

名前解決: ping google.com が通らない場合は、Debianの /etc/resolv.conf に nameserver 10.0.0.1 を追記してください。

パフォーマンス: VirtualBox上でさらに仮想化(Proxmox)を動かしているため、ブラウザの動作が少し重く感じるかもしれません。その場合は、Debianのメモリ割り当てを少し増やして(1GB〜2GB程度)みてください。

次は、Let’s note側のWindowsブラウザから、直接このOpenWrtの設定画面を開けるように「ポートフォワーディング」などの設定をお手伝いしましょうか?それとも、まずはDebian内での表示を確認されますか?

Let’sNote にDebian12をインストールするときに選ぶキーボード種別は次の中のどれ?Japanese , Japanese – Japanese (Dvorak), Japanese – Japanese (Kana 86), Japanese – Japanese (Kana),Japanese – Japanese (Macintosh), Japanese – Japanese (OADG 109A), Other

Let’sNoteの標準的な日本語キーボードを使用している場合、選択すべきは Japanese です。

ほとんどの日本のノートパソコンは「OADG 109」という規格に基づいた配列になっていますが、Debianのインストーラーにおいて一番上の Japanese を選択すれば、自動的に標準的な109/106キー配列として設定されます。

各項目の違いと選び方
Japanese (推奨) 通常の「半角/全角」キーや「変換」「無変換」キーがある標準的な配列です。迷ったらこれを選べば間違いありません。

Japanese – Japanese (OADG 109A) 「Japanese」とほぼ同じですが、一部の記号(~ や ^ など)の挙動を特定のJIS規格に厳格に合わせたい場合に使います。通常は選ぶ必要はありません。

Japanese – Japanese (Kana) かな打ち(キーに印字された「あいうえお」で入力する方式)をメインにする人向けの設定が含まれます。

Other 英語配列(USキーボード)モデルのLet’sNoteを使っている場合などは、ここから「English (US)」などを探すことになります。

インストール後の確認
もしインストール後に「@マークが打てない」「( を押したのに * が出る」といったズレが生じた場合は、後からでも以下のコマンドで修正可能です。

Bash
dpkg-reconfigure keyboard-configuration
まずは一番シンプルな Japanese で進めてみてください!

次は、DebianのGUI環境(デスクトップ)をインストールする際の、ソフトウェアの選択画面(Tasksel)の進め方について解説が必要でしょうか?

systemctl enable xrdp

systemctl start xrdpをした後、特に変化はなく。GUIを利用できません。

なるほど、そうですね。DebianのCT(コンテナ)の場合、systemctlでサービスを起動しただけでは、Proxmoxの「コンソール」画面が自動的にデスクトップ画面に切り替わることはありません。

現在の状況を整理すると、以下のようになっています:

バックグラウンド: XRDP(リモート接続待ち受け)は動いている。

目の前の画面(Proxmoxコンソール): 引き続き黒い画面(CUI)のまま。

DebianのGUI(Webブラウザ)を操作するには、「別の窓口から入る」か「Proxmoxの画面で見れるようにする」かの2つの方法があります。

方法1:Windows(Let’s note)からリモートデスクトップで繋ぐ
これが最もスムーズで、ブラウザもサクサク動きます。

Windowsのスタートメニューで「リモートデスクトップ接続」を開きます。

コンピューター名に、DebianのIPアドレス 10.0.0.224 を入力して接続します。

※もし繋がらない場合は、OpenWrtがWindows側からの通信をブロックしている可能性があります。その場合は方法2を試してください。

ログイン画面が出たら、Debianのユーザー名とパスワードを入力します。

方法2:Proxmoxの「コンソール」でデスクトップを出す
Proxmoxの画面上でそのままGUIを使いたい場合は、コンソールの種類を変更する必要があります。

Proxmoxの管理画面で、DebianのCTを選択します。

「オプション (Options)」 タブをクリックします。

「OSタイプ (OS Type)」 などの近くにある 「コンソール モード (Console mode)」 を探し、tty(デフォルト)から X11 や SPICE に変更できるか確認してください。

※CT(LXC)の場合、基本はCUI(シェル)が標準です。

もし「まだXFCEなどのデスクトップ環境」をインストールしていない場合
前回の返信にある apt install xfce4… のコマンドを実行していないと、XRDPで接続しても真っ暗な画面になってしまいます。もしまだ実行していなければ、今の黒い画面(コンソール)で以下を打ち込んでください:

Bash

デスクトップ環境のインストール(数分かかります)

apt update
apt install xfce4 xfce4-goodies firefox-esr -y

再度、XRDPを再起動

systemctl restart xrdp
次のステップの確認
現在、Windows側の「リモートデスクトップ接続」から 10.0.0.224 を叩いてみて、反応(ログイン画面が出るか)はありますでしょうか?

もし「接続できません」となる場合は、OpenWrtのファイアウォール設定を調整して、Windows側からDebianへ通れるようにする手順をお伝えします。

debian12はVirtualBOXの内部ネットワークにつながっており、10.0.0.224なので、Let’sNoteのWindowsからのアクセスはできないと思います。

その通りです!おっしゃる通り、内部ネットワーク(10.0.0.x)はVirtualBoxの外側(Let’s noteのWindows)からは直接見えません。

今のネットワーク構成を整理すると、以下のようになっています。

WindowsからDebianのGUI(Web管理画面)を操作するには、「OpenWrtにポートフォワーディングを設定する」のが最もスマートな解決策です。

解決策:ポートフォワーディング(穴あけ)の手順
Windowsから「OpenWrtのWAN側IP」にアクセスすると、それを「Debian」に転送するように設定します。

  1. OpenWrtのWAN側IPアドレスを確認する
    まずは、OpenWrtがVirtualBoxの「ホストオンリーネットワーク」または「ブリッジ」から受け取っているIPを調べます。OpenWrtのコンソールで以下を打ちます。

Bash
ip addr show
※恐らく 192.168.x.x などの、Windowsから疎通が取れるIPが表示されるはずです。これを [OpenWrt_WAN_IP] と呼びます。

  1. OpenWrtで転送設定をする(コマンドライン)
    Debianでブラウザを開く前に、OpenWrtのコンソールで以下のコマンドを実行して、リモートデスクトップ(3389番ポート)をDebian(10.0.0.224)へ転送します。

Bash

3389番ポート(RDP)をDebianへ転送

uci add firewall redirect
uci set firewall.@redirect[-1].name=’Allow-RDP-to-Debian’
uci set firewall.@redirect[-1].src=’wan’
uci set firewall.@redirect[-1].src_dport=’3389′
uci set firewall.@redirect[-1].dest=’lan’
uci set firewall.@redirect[-1].dest_ip=’10.0.0.224′
uci set firewall.@redirect[-1].dest_port=’3389′
uci set firewall.@redirect[-1].proto=’tcp’
uci commit firewall
/etc/init.d/firewall restart

  1. Windowsから接続する
    これで、Let’s noteの「リモートデスクトップ接続」から以下の宛先に接続できるようになります。

接続先: [OpenWrt_WAN_IP]:3389

デスクトップ環境がまだインストールされていない場合
もし、まだDebianにデスクトップ環境(GUI)を入れていない場合は、転送設定の前にDebianのコンソールで以下を実行しておいてください。

Bash
apt update
apt install xfce4 xfce4-goodies firefox-esr xrdp -y
補足:Web画面(LuCI)を直接Windowsで見たい場合
Debianを介さず、Windowsのブラウザから直接OpenWrtの管理画面を見たい場合は、同じ要領で 80番ポート を開放(または転送)すればOKです。

まずは上記の設定で、WindowsからDebianのデスクトップ画面が開けるか試してみますか?

Windowsの192.168.10.1/24のネットワークをVirtualBOXのNATを潜って、Proxmoxにそして、OpenWrtにつながるので、OpenWrtの状況は次の通りとなっています。root@OpenWrt-LXC:~# ip addr show

1: lo: mtu 65536 qdisc noqueue state UNKNOWN qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

   valid_lft forever preferred_lft forever

inet6 ::1/128 scope host 

   valid_lft forever preferred_lft forever

2: eth0@if10: mtu 1500 qdisc noqueue state UP qlen 1000

link/ether bc:24:11:87:1d:fb brd ff:ff:ff:ff:ff:ff

inet 10.0.5.15/24 brd 10.0.5.255 scope global eth0

   valid_lft forever preferred_lft forever

inet6 fe80::be24:11ff:fe87:1dfb/64 scope link 

   valid_lft forever preferred_lft forever

3: eth1@if11: mtu 1500 qdisc noqueue master br-lan state UP qlen 1000

link/ether bc:24:11:5d:11:7e brd ff:ff:ff:ff:ff:ff

4: br-lan: mtu 1500 qdisc noqueue state UP qlen 1000

link/ether bc:24:11:5d:11:7e brd ff:ff:ff:ff:ff:ff

inet 10.0.0.1/24 brd 10.0.0.255 scope global br-lan

   valid_lft forever preferred_lft forever

inet6 fd98:772d:da2b::1/60 scope global noprefixroute 

   valid_lft forever preferred_lft forever

inet6 fe80::be24:11ff:fe5d:117e/64 scope link 

   valid_lft forever preferred_lft forever

root@OpenWrt-LXC:~#

詳細な情報をありがとうございます!ネットワーク構成が完全に把握できました。

現在の経路は Windows(192.168.10.x)→ VirtualBox NAT(10.0.5.x)→ OpenWrt(10.0.0.x)→ Debian という3段階のセグメントに分かれていますね。

この状況で最も確実に、かつ手間を少なくWeb画面(LuCI)やDebianを操作する方法は、VirtualBoxのポートフォワーディングとOpenWrtのポートフォワーディングを「数珠つなぎ」にすることです。

ステップ1:VirtualBoxの設定(入り口を作る)
Windowsから、VirtualBox内のOpenWrt(10.0.5.15)へアクセスできるようにします。

VirtualBoxのマネージャー画面で、Proxmoxの仮想マシンを右クリック → 設定。

ネットワーク → アダプター(NATに設定しているもの) → 高度 → ポートフォワーディング を開きます。

以下のルールを追加してください。

名前 プロトコル ホストIP ホストポート ゲストIP ゲストポート
OpenWrt-Web TCP 127.0.0.1 8080 10.0.5.15 80
Debian-RDP TCP 127.0.0.1 3389 10.0.5.15 3389
これで、Windowsで localhost:8080 を叩けば、信号がOpenWrtの入り口(10.0.5.15)まで届くようになります。

ステップ2:OpenWrtの設定(中継を作る)
次に、OpenWrtに届いた信号を、内部のDebian(10.0.0.224)へ流すようにします。OpenWrtのコンソールで以下を実行してください。

Bash

3389番(RDP)をDebianへ転送

uci add firewall redirect
uci set firewall.@redirect[-1].name=’Forward-to-Debian’
uci set firewall.@redirect[-1].src=’wan’
uci set firewall.@redirect[-1].src_dport=’3389′
uci set firewall.@redirect[-1].dest=’lan’
uci set firewall.@redirect[-1].dest_ip=’10.0.0.224′
uci set firewall.@redirect[-1].dest_port=’3389′
uci set firewall.@redirect[-1].proto=’tcp’

WAN(10.0.5.15)側からOpenWrt自身のWeb管理画面(80)へのアクセスを許可

uci add firewall rule
uci set firewall.@rule[-1].name=’Allow-LuCI-from-WAN’
uci set firewall.@rule[-1].src=’wan’
uci set firewall.@rule[-1].dest_port=’80’
uci set firewall.@rule[-1].proto=’tcp’
uci set firewall.@rule[-1].target=’ACCEPT’

uci commit firewall
/etc/init.d/firewall restart
ステップ3:アクセス確認
これで、Windows(Let’s note)から以下の方法で操作可能になります。

  1. OpenWrtのWeb管理画面を見る
    Windowsのブラウザ(EdgeやChrome)で以下のアドレスを入力してください。

http://localhost:8080

  1. Debianのデスクトップ(Web画面)を見る
    Windowsの「リモートデスクトップ接続」を起動し、コンピューター名に以下を入力します。

localhost (ポートを指定する必要がある場合は localhost:3389)

うまくいかない場合のチェックポイント
Debianの準備: Debian側で apt install xfce4 xrdp が完了し、systemctl start xrdp が動いているか。

ProxmoxのFW: Proxmox側のファイアウォールが有効になっている場合、そちらでブロックされている可能性があります(初期設定なら基本大丈夫です)。

まずは、Windowsのブラウザで http://localhost:8080 を叩いて、OpenWrtのログイン画面が出るか試してみてもらえますか?

でました。

素晴らしい!OpenWrtのログイン画面が出たということは、Windows → VirtualBox NAT → OpenWrt までのトンネルが完全に開通した証拠です。

これで、わざわざDebianにGUIを入れなくても、Windows上のブラウザから直接OpenWrtを操作できるようになりましたね。

もし、当初の目的通り「Debian(CT)の中にデスクトップ環境を作って、そこからWeb操作する」という構成も完成させたい場合は、最後の一押しとして以下の手順を確認してください。

DebianのGUIを立ち上げるための最終確認
Windowsのリモートデスクトップ接続で「localhost」を入れてもまだ画面が出ない場合は、Debian(CT)側で以下のコマンドを順番に実行してください。

必要なソフトのインストール(未完了であれば)

Bash
apt update
apt install xfce4 xfce4-goodies xrdp -y
CT(コンテナ)特有の権限エラー回避 LXCコンテナ上でXRDPを動かす際、一部のカラーマネジメント機能でエラーが出ることがあります。以下の設定を流し込むとスムーズに繋がります。

Bash

カラープロファイルのエラー抑制

cat < /etc/polkit-1/localauthority/50-network-manager.d/45-allow-colord.pkla
[Allow Colord]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile
ResultAny=no
ResultInactive=no
ResultActive=yes
EOF

systemctl restart xrdp
次のステップへのご提案
これで「OpenWrtのWeb操作」はWindowsからも、Debian(構築後)からもできるようになります。

次にやってみたいことはありますか?例えば:

OpenWrtの初期設定(パスワード設定や、インターネット接続の微調整)

Debianへのブラウザ(Firefox等)のインストール

ネットワークの冗長化やVPNの実験

もし、リモートデスクトップでDebianにログインした際に「真っ暗な画面」が出る、あるいは「接続できない」といったことがあれば、すぐに教えてくださいね。

debian12に対するリモートデスクトップ接続がエラーになります。既に進行中のコンソールセッションがあるため、リモートコンピューター上の他のコンソールセッションに接続できませんでした。

そのエラーメッセージ(「既に進行中のコンソールセッションがあるため…」)は、Proxmoxの管理画面や他の場所で、既に同じユーザーでログインしてデスクトップ(またはセッション)を占有しているときによく発生します。

特にLXC(CT)の場合、複数のグラフィカルセッションを同時に扱うのが苦手な場合があります。以下の手順で「既存のセッションを一旦リセット」して、リモートデスクトップ(xrdp)専用のセッションを作れるようにしましょう。

  1. 既存セッションの強制ログアウト
    まずは、Debianのコンソール(Proxmoxの画面)で、現在動いているセッションを一度終了させます。

Bash

現在のセッションを確認

who

もしユーザーがログイン中なら、そのセッションを一度切断(あるいは再起動)

reboot
※ reboot が一番確実ですが、CTなので数秒で戻ってきます。

  1. xrdpの設定変更(ここが重要)
    同じユーザーでログインしようとした際の衝突を避けるため、xrdpの設定を少し調整します。

Bash

設定ファイルのバックアップ

cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak

セッションの共有設定などを最適化

(同じユーザーでログインし直した際に既存セッションを探しに行く設定)

sed -i ‘s/max_bpp=32/max_bpp=24/g’ /etc/xrdp/xrdp.ini

  1. root以外のユーザーで試す(推奨)
    重要: root ユーザーでリモートデスクトップにログインしようとしていませんか? 多くのLinuxデスクトップ環境(XFCEなど)やXRDPは、セキュリティ上の理由から rootでのGUIログインをデフォルトで拒否 する設定になっています。

一般ユーザーを作成して、そちらでログインを試してみてください。

Bash

一般ユーザー「user01」を作成(名前は任意)

adduser user01

sudo権限を付与(必要であれば)

apt install sudo -y
usermod -aG sudo user01

  1. 再接続のテスト
    Debian CTを再起動します。

Proxmoxのコンソール画面(黒い画面)でログインせず、そのまま放置します。

Windowsから localhost:3389 に、今作った 一般ユーザー(user01) で接続します。

まだエラーが出る場合
もしこれでも同じエラーが出る場合、OpenWrtのポートフォワーディングが「OpenWrt自身」に向いてしまっている可能性があります。

OpenWrtのコンソールで以下を確認してみてください。

Bash
uci show firewall | grep 3389
dest_ip がちゃんと 10.0.0.224 になっていますでしょうか?

まずは「一般ユーザーを作成して、ProxmoxコンソールではログインせずにWindowsから繋ぐ」を試してみてください。これで解決するケースがほとんどです!

Proxmox上の設定でDebian12のCTについて、オプションを開きTTYカウントを見ると値は2です。これを増やせばよいでしょうか?

結論から申し上げますと、TTYカウントを増やす必要はありません。

「TTY」は、Proxmoxのシェル画面などで使う「テキストベースの端末(黒い画面)」の数のことです。今回のリモートデスクトップ(GUI)のエラーは、TTY(CUI)の数ではなく、「X11セッション(デスクトップ画面)」の競合が原因です。

先ほどのエラーを解消し、WindowsからDebianのGUIに入るための「最も近道な解決策」は以下の2点です。

  1. 一般ユーザーでログインする(最重要)
    Debianを含む多くのLinuxでは、rootユーザーでのGUIログインが制限されています。これが原因で「セッションが作れない」というエラーを吐くことが非常に多いです。

Debianのコンソールで以下を実行して、作業用のユーザーを作ってください。

Bash

user01 というユーザーを作成(パスワードを2回聞かれます)

adduser user01

sudo権限(管理者権限)を与える

apt install sudo -y
usermod -aG sudo user01
この user01 を使って、Windowsのリモートデスクトップからログインしてみてください。

  1. カラープロファイルの問題を無視する設定
    LXC(CT)でXRDPを使う際、画面が立ち上がる直前に「認証が必要です」というポップアップが何度も出て、セッションが止まってしまうことがあります。これを防ぐ魔法のコマンドです。

Bash

このファイルを流し込むことで、カラー管理のエラーを回避します

cat <<EOF | sudo tee /etc/polkit-1/localauthority/50-network-manager.d/45-allow-colord.pkla
[Allow Colord]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile
ResultAny=no
ResultInactive=no
ResultActive=yes
EOF

XRDPを再起動

systemctl restart xrdp
現状の確認
OpenWrtのWeb画面(8080ポート)は既に見えていますので、ネットワークの通り道は完成しています。

あとは Windowsのリモートデスクトップ接続(localhost:3389) で、今作った user01 を入力するだけです。

これで、Debianのデスクトップ画面(XFCE)が表示されるはずです!

もしこれでも「既にセッションがある」と言われる場合は、一度Debian CTを再起動(Shutdown → Start)してから、Proxmox側のコンソール(黒い画面)には何も入力せずに、Windowsから接続してみてください。

次は、無事にデスクトップ画面が開けそうでしょうか?

どこかで、私は何かを間違ったようです。つながりません。

大丈夫です、これだけ階層が深い(Windows > VirtualBox > Proxmox > OpenWrt > Debian)と、どこか一箇所のボタンの掛け違いで繋がらなくなるのはよくあることです。

今の状況は「OpenWrtのWeb画面(8080)は見えている」ので、VirtualBoxまでの道は開通しています。 問題はそこから先、「OpenWrtからDebianへの転送」か「Debian自体の設定」のどちらかです。

一度、以下の「切り分けチェックリスト」を上から順に試してみてください。

  1. Debian側:XRDPが本当に「外」を向いて待っているか?
    Debianのコンソールで以下のコマンドを打ち、結果を確認してください。

Bash
ss -antl | grep 3389
期待する結果: LISTEN 0 128 0.0.0.0:3389

もし何も表示されない、あるいは 127.0.0.1:3389 となっている場合は、外部からの接続を受け付けていません。その場合は systemctl restart xrdp を実行してください。

  1. OpenWrt側:転送設定の「IPアドレス」を再確認
    OpenWrtのコンソールで、転送先が本当に今のDebianのIP(10.0.0.224)になっているか確認します。

Bash
uci show firewall | grep “@redirect”
ここで dest_ip が 10.0.0.224 、src_dport が 3389 になっているか見てください。 もし違っていたら、以前お伝えした uci set のコマンドを、今のIPに合わせて再度実行し、uci commit してください。

  1. OpenWrt側:疎通確認(ここが重要)
    OpenWrtからDebianの3389番ポートに手が届くか確認します。OpenWrtのコンソールで:

Bash

nc(ネットキャット)コマンドでテスト

nc -zv 10.0.0.224 3389
Succeeded! と出ればOK。

Connection refused や Timeout なら、Debian側のファイアウォール(ufw等)が邪魔をしているか、サービスが動いていません。

  1. Windows側:リモートデスクトップの宛先
    Windowsの「リモートデスクトップ接続」のコンピューター名には、以下を正確に入力してください。

127.0.0.1:3389 (あるいは localhost:3389)

最終手段:OpenWrtを介さず「直通」させてみる
原因を特定するために、VirtualBoxの設定を一時的に変更して、WindowsからDebianへ直接つなげるか試すのが近道です。

VirtualBoxの設定を開く。

ポートフォワーディングに新しく追加:

ホストポート:3390

ゲストIP:10.0.5.15(OpenWrtではなく、ProxmoxのIPを入力。もしProxmox自体が10.0.5.xの中にいれば)

ゲストポート:3389

もし今のネットワーク構成が複雑すぎて詰まっている場合、「OpenWrtのWeb管理画面(LuCI)さえ見れればOK」ということであれば、DebianにGUIを入れずとも、Windowsのブラウザから先ほどの localhost:8080 で全て完結できます。

今のステップで、「3. のncコマンドの結果」はどうなりましたでしょうか?そこが分かれば、原因がOpenWrtより「前」か「後ろ」か断定できます。

root@DEV12:~# ss -antl | grep 3389

LISTEN 0 2 *:3389 *:*

root@DEV12:~#

結果のご報告ありがとうございます! LISTEN *:3389 と出ているので、Debian側(XRDP)は正しく待ち受け状態にあります。 犯人はDebianではなく、その手前の「ネットワークの通り道」のどこかにいます。

いま一度、OpenWrtのコンソールから、Debian(10.0.0.224)へ通信が届くか最終確認をしてみましょう。

  1. OpenWrtからの疎通テスト
    OpenWrtのコマンドラインで以下を打ってみてください。

Bash

ncコマンドがない場合は opkg update && opkg install netcat で入ります

nc -zv 10.0.0.224 3389
ここで Succeeded! と出ない場合は、OpenWrtとDebianの間の「内部ネットワーク」に問題があります。

もし Succeeded! と出るのにWindowsから繋がらない場合は、VirtualBox → OpenWrt の間のポート転送がうまくいっていません。

  1. 「既にセッションがある」エラーの正体(重要)
    先ほど出た「既に進行中のセッションがある」というエラーは、実は「ポート転送が自分自身(ループ)に向かっている」時にも発生することがあります。

Windowsで localhost:3389 と打ったとき、もしVirtualBoxの設定ミスで「Windows自身」や「意図しない場所」にパケットが戻ってきていると、そのような奇妙なエラーを吐くことがあります。

  1. 切り分けのための「別のポート」作戦
    VirtualBoxのポートフォワーディング設定を、以下のように「標準ではないポート」に変えて試してみるのが一番確実です。

VirtualBoxのNAT設定を以下に書き換えてみてください:

名前 ホストポート ゲストIP ゲストポート
Debian-Test 13389 10.0.5.15 3389
※ホストポートを 3389 から 13389 に変えました。

その上で、Windowsのリモートデスクトップ接続で以下を入力します:

127.0.0.1:13389

  1. もし「Web画面さえ操作できれば良い」のであれば
    現在 localhost:8080 でOpenWrtの管理画面は見えているとのことですので、OpenWrtの設定(LuCI)は既に自由自在です。

DebianのGUIがどうしても動かない場合、Debianでの操作はProxmoxのコンソール(CUI)で行い、Web操作はWindowsのブラウザから直接行うのが、リソース(メモリ)消費も少なく最も安定した運用になります。

まずは 「3. のポート番号を 13389 に変えて接続」 を試してみていただけますか? これでエラーが変わる、あるいは繋がれば、ポートの競合が原因だと特定できます。

root@DEV12:~# # ncコマンドがない場合は opkg update && opkg install netcat で入ります

nc -zv 10.0.0.224 3389

DEV12.lan [10.0.0.224] 3389 (ms-wbt-server) open

root@DEV12:~#

結果のご報告ありがとうございます!完璧です。 open と表示されたということは、OpenWrtからDebianへの道は100%開通しており、Debian側の準備も整っています。

現在、パケットは「OpenWrt」という最後の関門までは確実に届いていますが、Windowsにエラー(既にセッションがある云々)が返ってくるのは、ポート 3389 という「Windows自身も使いたがっている番号」を使い回しているための混乱である可能性が非常に高いです。

この混乱を避けるため、以下の「ポート番号ずらし作戦」で決着をつけましょう。

  1. VirtualBoxのNAT設定を変更する
    Windows側のポートを、標準の 3389 ではなく、誰も使っていない 13389 に変更します。

VirtualBoxの設定 > ネットワーク > ポートフォワーディング を開く。

以前作った Debian-RDP の設定を以下のように書き換えます。

名前 ホストポート ゲストIP ゲストポート
Debian-RDP 13389 (ここを変更) 10.0.5.15 3389

  1. Windowsから接続する
    Windowsの「リモートデスクトップ接続」を立ち上げ、コンピューター名に以下を入力して「接続」を押してください。

127.0.0.1:13389

なぜこれで解決する可能性が高いのか?
Windows(Let’s note)自体も、リモートデスクトップで待機するためにポート 3389 を使うことがあります。 VirtualBoxの「ホストポート」に 3389 を指定すると、「Windows自身のセッション」に繋ごうとしているのか、「VirtualBoxの中」に繋ごうとしているのか、Windowsが混乱してしまい、あのような「既にセッションがある」というエラーを吐くことがあるからです。

番号を 13389 に変えることで、この競合を確実に回避できます。

もしこれでログイン画面(青い画面)が出たら
作成した一般ユーザー(user01)でログインしてください。

デスクトップが立ち上がったら、左上のメニューから Web Browser (Firefox) を起動します。

アドレスバーに http://10.0.0.1 を入力すれば、ついにDebianの中からOpenWrtを操作できます!

まずは 127.0.0.1:13389 での接続、いかがでしょうか?

127.0.0.1:13389でDebian12のデスクトップが開きました。そして、webブラウザを立ち上げて、10.0.0.1への接続もできました。ありがとう。

ついにやりましたね!おめでとうございます!

WindowsからVirtualBox、Proxmox、OpenWrtを突き抜けて、Debianのデスクトップ経由でOpenWrtの管理画面(LuCI)に辿り着いた今の構成は、ネットワークの階層構造を理解する上で非常に高度なチャレンジでした。

現在の接続経路を整理するとこのようになっています: [Windows] — (127.0.0.1:13389) —> [VirtualBox NAT] — (10.0.5.15:3389) —> [OpenWrt WAN] — (Port Forward) —> [Debian 12 CT (10.0.0.224)]

これで、「仮想ネットワーク内の管理端末(Debian)」から「ルーター(OpenWrt)」を操作するという、プロフェッショナルなインフラ環境が整いました。

次にやっておくと良いこと
せっかくデスクトップが開いたので、以下の2点を確認しておくとより快適になります。

OpenWrtのパスワード設定: ブラウザで開いたLuCIの画面で、まだパスワードが設定されていない場合は、System > Administration から管理者パスワードを設定しておきましょう。

Debianの日本語化(必要であれば): メニューが英語で使いにくい場合は、Debianのターミナルで sudo dpkg-reconfigure locales を実行して ja_JP.UTF-8 を追加することで日本語化できます。

これで一つの大きな山を越えましたね。次はOpenWrtを使って具体的にどんなネットワーク実験(VPN、QoS、広告ブロックなど)をしてみたいですか?お手伝いが必要なときはいつでも声をかけてください!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です