UbuntuにXRDPを入れてRDP接続する
新しいパソコンを入手したのでUbuntuをインストールし、xrdpの設定をするのにここにメモってると思って久しぶりに開いたら何も書いてなかったので、メモ帳に残ってたログを基に設定して、将来の自分のためにメモっておきます。
インストール方法は以下のサイトがわかりやすかったです。
Ubuntu 24.04 リモートデスクトップ設定方法 xrdp・ネイティブRDP対応 | 気まぐれブログ
上記の通りxrdpをインストールしたら普通につながった
ただ、既にコンソールでログインしてると緑画面で止まるようです。
ChatGPTで確認すると、コンソールセッションをログアウトしろって出てきますね。
セッション共有させることもできるけど、不安定になるからやめたほうがいいそうです。
ufwは無効になってたので無視。
※FWでインバウンドは許可してないので、一旦これで進める。
一通り設定終わったら不要なポート閉じよう。アウトバウンドも含めて。
XRDPでつなぐと「カラープロファイルを作成するには認証が必要です」と出てくるので、/etc/polkit-1/localauthority/50-local.d/xrdp-color-manager.pkla に以下を記入して「systemctl restart polkit.service」する。
-----------------------------------------------------
[Allow colord all users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.*
ResultAny=yes
ResultInactive=yes
ResultActive=yes
-----------------------------------------------------
昔はXRDPで検索して上位に出てくるサイトに[Netowrkmanager]で記載されており、さらにそのサイトをコピーしたと思われるサイトが大量にあり、正しい設定を調べるのが大変でしたが、ChatGPTさんがすぐに教えてくれました。
ロックされるとXRDPでログインできなくなるのでロックを無効化。

今回はミニPCだから不要かもしれないけど、以前ノートPCにインストールした時に蓋と閉じたらスリープしたので、以下のサイトの手順でスリープを無効化しておく。
【Ubuntu】蓋を閉じてもノートPCをスリープにしない方法 | 機械学習ナビ
一旦これでリモートから利用するのに必要な物は揃ったので、ディスプレイ外して棚の隙間に置いて利用することにします。
ubuntuへのRDP設定
検証したいことがあったので久しぶりにubuntuを新規でインストールした。
GUI使いたかったのでRDPを有効化しようと思ったのでxrdpを有効化しようと思ったんだけど、新機能でRDPサポートがあるらしいので試してみた。
ただこれ、デスクトップ環境から設定ですね。
コマンドでの設定はこちらのサイトがよさそう。
いずれにしてもデスクトップ環境は必要なので、インストールしてからスナップショット取得して両方試してみよう。
# apt install ubuntu-desktop
とりあえずコマンドラインの方を実施したけど、最初のところでエラー。
# grdctl status
Failed to lookup RDP credentials: Cannot autolaunch D-Bus without X11 $DISPLAY
Failed to lookup VNC credentials: Cannot autolaunch D-Bus without X11 $DISPLAY
#
DISPLAY設定してやってみなよって記事があったから設定して実行したら別のエラー。
# grdctl status
Failed to lookup RDP credentials: Failed to execute child process “dbus-launch” (No such file or directory)
Failed to lookup VNC credentials: Failed to execute child process “dbus-launch” (No such file or directory)
#
dbus-x11インストールしてみなよって出てきたので、インストールしたけどエラー。
もうちょっと丁寧に検証しないと無理そうなので一旦諦めてGUIから設定。
setting開いて、shareingからRemote Desktopを開いてONにして接続施行するもエラー。
パスワード確認したら、ログインユーザのパスワードとは別のパスワードが設定されていたので再ログイン。
⇒ ログイン成功!
うーん、xrdpは結構苦労したんだけど、標準機能使うと有効化のみでイケちゃうんですね。これは楽です。
なお、RDPで操作すると、コンソール側のGUI画面も動きます。
RDPで新しいセッションに接続するのではなく、VNCに近い感じのようですね。
しかも、ロックかかってると接続すらできないっぽいですね。。。うーん、本番では使えなんな。。。
負荷とか大丈夫なのかな?というのも気になるので、少し触ってみて様子見してみようと思います。
公式マニュアル
ふと気づいたけど、参照してたサイト、公式日本語訳って書いてあるけど、公式に日本語訳をしてるってわけではなく、公式サイトを日本語訳したよって意味だったんですね。
しかも2015年時点の訳と書いてあった。。。
以下のサイトが公式みたいなので、できるだけこっちを見て進めるようにしよう。
https://www.raspberrypi.com/documentation/computers/os.html
そういえば、元々RedHatを触ってたこともあり、Debian系のコマンドをあまり知らないんですよね。
apt関連も毎回ググって使ってるので、その辺りもこの機会にさらっと勉強しよう。
とりあえず公式ドキュメント冒頭に載ってるアップデートでもして、apt周りの確認をしようと思ったら、なんと、slコマンドがサンプルになってるじゃないですか。懐かしい。

タイピング矯正コマンドでしたっけ?
※昔、お客さん先のSolarisサーバに入ってた。
とりあえずインストールしよう。
懐かしい。よく障害中に走らせてたなぁ。。。

ラズパイのWiFi設定
ラズパイをWiFi受信機に設定し、2Fの有線LANからインターネット接続できるようにしたいので、まずはラズパイのWiFi設定を実施。
以下を参考にして設定を進める。
WiFi設定(コマンドライン) - Raspberry Pi公式ドキュメントを日本語訳
しかし、以下が通らない。
pi@raspberrypi:~ $ sudo iwlist wlan0 scan wlan0 Interface doesn't support scanning : Network is down pi@raspberrypi:~ $
インターフェースが無効化されてるっぽいので無線LANインターフェースを確認
pi@raspberrypi:~ $ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.50.100 netmask 255.255.255.0 broadcast 192.168.50.255
inet6 fe80::6568:6af9:abcd:abcd prefixlen 64 scopeid 0x20<link>
ether aa:bb:cc:13:13:43 txqueuelen 1000 (Ethernet)
RX packets 836 bytes 56455 (55.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 709 bytes 87958 (85.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 96 bytes 9624 (9.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 96 bytes 9624 (9.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
pi@raspberrypi:~ $ sudo /etc/wpa_supplicant#
ifconfig wlan up を実行してもエラーになる。
SIOCSIFFLAGS: Operation not possible due to RF-kill
でもデバイスは認識している模様。
pi@raspberrypi:~ $ ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.50.100 netmask 255.255.255.0 broadcast 192.168.50.255
inet6 fe80::6568:6af9:abcd:abcd prefixlen 64 scopeid 0x20<link>
ether aa:bb:cc:13:13:43 txqueuelen 1000 (Ethernet)
RX packets 976 bytes 64949 (63.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 847 bytes 113884 (111.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 97 bytes 9697 (9.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 97 bytes 9697 (9.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether aa:bb::cc:dd:ee:ff txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
pi@raspberrypi:~
ググっても、インターフェースが起動していない例が見つからない。
chatGPT(無償版なので3.5だけど)に聞いてみる。

この中は一通り試したので、エラーメッセージを添えて質問。

おお、っぽいのが出てきた。
pi@raspberrypi:~ $ sudo rfkill list
0: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no
1: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
pi@raspberrypi:~ $
おお、これですね。
で、解決方法は??

ふむふむ。
pi@raspberrypi:~ $ sudo rfkill unblock wifi
pi@raspberrypi:~ $ sudo rfkill list
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
1: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
pi@raspberrypi:~ $
ステータスが変わったので、wlan0をアップ。
pi@raspberrypi:~ $ sudo ifconfig wlan0 up
pi@raspberrypi:~ $ sudo ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.50.100 netmask 255.255.255.0 broadcast 192.168.50.255
inet6 fe80::6568:6af9:abcd:abcd prefixlen 64 scopeid 0x20<link>
ether aa:bb:cc:13:13:43 txqueuelen 1000 (Ethernet)
RX packets 1489 bytes 97140 (94.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1237 bytes 164336 (160.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 97 bytes 9697 (9.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 97 bytes 9697 (9.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether aa:bb::cc:dd:ee:ff txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
pi@raspberrypi:~ $
起動した!
以下でスキャンしてみる
pi@raspberrypi:~ $ sudo iwlist wlan0 scan
出力してきたけど、近くのAP全ての情報を拾ってくるのでSSIDを指定したい。
コマンドのオプションを調べたら、以下で指定できました。
※ただ、一回目は全部出る模様。二回実行すると指定したSSIDの情報だけが取れました。
pi@raspberrypi:~ $ sudo iwlist wlan0 scan essid SSID_XXXXX
では、無事無線も見えるようになったので、続きを実施。 ※そういえば、ラズパイってnanoを使うようになってるんですね。でもviの方が慣れてるのでviでやる。
pi@raspberrypi:/etc/wpa_supplicant $ sudo vi wpa_supplicant.conf
起動してみる。
pi@raspberrypi:/etc/wpa_supplicant $ sudo ifdown wlan0 ifdown: unknown interface wlan0 pi@raspberrypi:/etc/wpa_supplicant $ sudo ifup wlan0 ifup: unknown interface wlan0 pi@raspberrypi:/etc/wpa_supplicant $
あれ?
ググってみると、/etc/network/interfacesを記載すればよいという情報もあるが、以下のように、使わないとも書かれてるサイトも多い。
https://monqy.blogspot.com/2019/11/raspberry-pi-etcnetworkinterfaces.html
とりあえず、ChatGPTの回答では追記が必要となってるので、/etc/network/interfacesに以下を記載してみたが、やはり起動しない。
auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
その後、ChatGPTにエラーログを貼り付けながらやり取りしてたら、wpa_supplicantプロセスが上がってないか?という指摘が。
確認するとプロセスが起動していたのでkillしてネットワーク再起動。
pi@raspberrypi:/etc/network $ ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.50.100 netmask 255.255.255.0 broadcast 192.168.50.255
inet6 fe80::6568:6af9:abcd:abcd prefixlen 64 scopeid 0x20<link>
ether aa:bb:cc:13:13:43 txqueuelen 1000 (Ethernet)
RX packets 4377 bytes 278685 (272.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4650 bytes 842872 (823.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 100 bytes 9916 (9.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 100 bytes 9916 (9.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.5.140 netmask 255.255.255.0 broadcast 192.168.5.255
inet6 2408:210:94a3:3900:b740:ddcd:4267:754f prefixlen 64 scopeid 0x0<global>
inet6 fe80::e95d:dd24:de80:8e90 prefixlen 64 scopeid 0x20<link>
ether aa:bb::cc:dd:ee:ff txqueuelen 1000 (Ethernet)
RX packets 20 bytes 3609 (3.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 49 bytes 7513 (7.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
pi@raspberrypi:/etc/network $
無事起動した!!
ただ、本当にinterfacesファイルの追記が必要か気になるので、一回削除してNW再実行。
アップしなくなりましたね。。。
pi@raspberrypi:/etc/network $ ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.50.100 netmask 255.255.255.0 broadcast 192.168.50.255
inet6 fe80::6568:6af9:abcd:abcd prefixlen 64 scopeid 0x20<link>
ether aa:bb:cc:13:13:43 txqueuelen 1000 (Ethernet)
RX packets 4558 bytes 289707 (282.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4795 bytes 870330 (849.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 100 bytes 9916 (9.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 100 bytes 9916 (9.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4098<BROADCAST,MULTICAST> mtu 1500
inet 192.168.5.141 netmask 255.255.255.0 broadcast 192.168.5.255
ether aa:bb::cc:dd:ee:ff txqueuelen 1000 (Ethernet)
RX packets 27 bytes 4726 (4.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 51 bytes 7687 (7.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
pi@raspberrypi:/etc/network $
※今のところは必要、と認識しました。なぜ必要かの調査はいつかそのうち。。。
ちなみに、ChatGPTとか、いろんなサイトでは、以下のようにkey_mgmtが記載されていましたが、参考サイトにはありませんでした。どちらでも起動はするので、APとデバイス側で差分がある時に指定するんですかね?(これもそのうちちゃんと調べよう。)
network={
ssid="testing"
psk="testingPassword"
key_mgmt=WPA-PSK
}
また、以下サイトによると、キーの暗号化もできるらしいのでテスト。 https://raspida.com/wifi4raspbian#wi-fi%E6%83%85%E5%A0%B1%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%AFwpa-supplicant-conf
pi@raspberrypi:/etc/wpa_supplicant $ wpa_passphrase SSID XXXXXXXXXXXXXXXXXXXXXX
network={
ssid="SSID"
#psk="XXXXXXXXXXXXXXXXXXXXXX"
psk=3b2626002fb9e1c8a9bda8256cbf4a1496fe2faefa339180258d32f561150d30
}
pi@raspberrypi:/etc/wpa_supplicant $
ちゃんとつながりますね。
pi@raspberrypi:/etc/wpa_supplicant $ ifconfig wlan0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.5.140 netmask 255.255.255.0 broadcast 192.168.5.255
inet6 fe80::e95d:dd24:de80:8e90 prefixlen 64 scopeid 0x20<link>
ether aa:bb::cc:dd:ee:ff txqueuelen 1000 (Ethernet)
RX packets 450 bytes 64852 (63.3 KiB)
RX errors 0 dropped 1 overruns 0 frame 0
TX packets 247 bytes 33279 (32.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
pi@raspberrypi:/etc/wpa_supplicant $
一応wpa_supplicant.confはrootじゃないと読み込みもできないし、このファイルの内容が見れる人が全員キーを見れていいなら暗号化は必須ではないとは思いますが、ラズパイの性質上盗まれて読み込まれるリスクがあるので暗号化したほうがよいですね(#pskにキーが載ってるので削除を忘れずに)
pi@raspberrypi:/etc/wpa_supplicant $ ls -l wpa_supplicant.conf -rw------- 1 root root 291 Apr 20 23:22 wpa_supplicant.conf pi@raspberrypi:/etc/wpa_supplicant $
名前解決も外部へのpingもOK。
pi@raspberrypi:~ $ ping yahoo.co.jp -c 3 PING yahoo.co.jp (182.22.25.124) 56(84) bytes of data. 64 bytes from 182.22.25.124 (182.22.25.124): icmp_seq=1 ttl=55 time=6.06 ms 64 bytes from 182.22.25.124 (182.22.25.124): icmp_seq=2 ttl=55 time=9.79 ms 64 bytes from 182.22.25.124 (182.22.25.124): icmp_seq=3 ttl=55 time=18.9 ms --- yahoo.co.jp ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 6.059/11.591/18.927/5.405 ms pi@raspberrypi:~ $
これで無線の設定はOKかな。
現在の構想だとラズパイはfortiから見たGWになるので、次は、物理NICの方を固定IPにして、DHCPサーバを立てて配布できるようにしよう。
あと、GUIの画面もチェックしてみたいけど、ディスプレイ買う気は無いので、xwindowでPCからつながるようにしよう。
ここまでやってきて、最新んのラズパイはnmcliを使ってネットワーク設定するような情報もあって、ちょっとやらかしたな、と思った。
けど、ネットワークマネージャー起動してなかったから合ってたのかな??
Fortigateの接続に迷う
Fortiを入手したものの、まだ家のネットワークには組み込めないのでどういうネットワーク構成にするのか迷います。
私の部屋は2階で、インターネット回線は1階。通常は無線で利用してるんですが、届く前はこういう構成を取ろうと思ってたんだけど、

やはりせっかくの実機なので手元で使いたい。。。
直結して確認したい時もあるわけで、その度にパソコン持って1階に異動するのはなぁ。。。
2回までLANケーブル引くしかないか。。。専門家の力を家族に魅せ付けてやるか。。。(なお、サーバ屋さんなのでもちろんLAN敷設経験は無い)
などと悶々としながら生活をしていたんですが、ふと気づいたんですよ。
そうだ、私にはラズパイがあるじゃないか。

これで、2階でも有線のインターネット回線につなぎつつ、Fortiに直結できる。
ラズパイとfortiの間にHUBはさめば、ラズパイにもfortiのWAN側にもアクセスできる(ケーブル抜き差しめんどくさいからNIC増設しないと)
そんなわけで、まずはラズパイをWiFiにつないで、ルーティング設定して、WANアクセスできるセグメントを作ろう。
~続く~
Fortigateセットアップ
とりあえず、動作確認しないといけないので、ログイン確認とライセンスの確認まで進めよう。
で、どうつなげばいいんだ?私はネットワーク屋さんじゃないからコンソールケーブルなんて持ってないぞ?
なんと、親切にも筐体に書いてありました。

直結して無事ログイン可能。さすがForti、初心者に優しい。
で、ログインしたけど、ライセンスが有効になってない。
うーん、だまされたのか?おかしいなぁ。。。
まぁさすがにノーヒントでキッティングは無理があるのでググろう。
あんまり事細かに手順が載ってると面白くないので、いい感じにやることだけ書いたサイトを発見。
これに沿って進めようとするが、タイムゾーン設定がそもそも表示されない。。。
いろんなサイトを見ても、なんか画面が違う??
そうこうしてるうちに、ファームの確認にはインターネット接続が必要、みたいな情報を見かけ、もしかして一旦ネット経由で認識しないと有効化されないのか??
と、いうことで、自宅のルーターに接続。
デフォでDHCPで拾えるあたり、fortiの優しを感じる。
お、画面変わってライセンスも有効になってますね。
とりあえず、ファームが5系の最新になってるから上げてみよう。
サイトから落としてきて適用するんだったよな、確か。
いや、普通にアップデート画面で選択して上げられましたね。
でも、6.2.16が最新になってるぞ?7系が最新じゃなかったっけ?
ここで気付いたけど、50Eは7系対応していないんですね。
NVC製品サポート | 機種毎の対応OS(FortiGate)
まぁ、そこまで最新の機能の検証までできるようになったらまた買えばいいし、とりあえずこれでできることをできるようになろう。
そんなわけで起動しなくなったらどうしようって思いながらファーム上げて、起動したから就寝。(:3[___]
Fortigateを入手
自分はサーバエンジニアなのでネットワークは利用者スタンスだったんですが、そうも言ってられなくなってきたので今さらながら実機を触れるようになろうと思い立ちました。
とりあえずForitgateくらいセットアップできるようになるか。
と、いうことで、とりあえずヤフオクで50Eを入手。
ファームウェア周りも一通り触っておきたいのでライセンス付きを探したら、11月までだけど4500円であったので購入。
で、昨日届きました。
Fortigateはネットワーク担当がいないプロジェクトでなし崩し的に触ったことはありますが、導入まではベンダーがやったので、正直最初になにやったらいいかわからない。
会社のネットワーク屋さんに聞けばいろいろわかるんだろうけど、実機買うの久しぶりだし手探りで頑張ってみよう!