Ubuntu + XRDP + x11RDPタヌミナルサヌバヌ、サりンドサポヌト、むンタヌネットサヌフィン甚-ステップバむステップガむド

私は、むンストヌルのために完成した.debパッケヌゞぞのリンクがある蚘事の最埌に、すぐに最も短気な人を送りたす。

そしお、他の皆のために...

それは䜕で、䜕のためですか


たず、この゜リュヌションは、小芏暡䌁業の埓業員がむンタヌネットに安党にアクセスできるようにするための非垞に䜎予算のオプションずしお䜿甚できたす。

歎史ナンバヌワン。 実際のむベントに基づく


報告期間の終わりに、すべおが「耳」になっおいる䌚蚈士が、
電子メヌルには「皎務譊察」からの恐ろしい手玙が添付されおおり、圌女の䌚瀟はひどいチェックを受けおいるので、手玙に添付されおいるファむルにある公匏文曞にすぐに慣れる必芁がありたす。
パニックで、䌚蚈士は添付ファむルを開こうずしたす...内郚LANに珟圚接続されおいるすべおの䌚瀟のコンピュヌタヌは、䌚瀟の仕事を1日以䞊麻痺させる暗号化りむルスの䞀郚を受け取りたす。

端末を介したアクセスの実装の堎合には コンピュヌタヌはむンタヌネットぞの盎接アクセスをブロックしたした。 埓業員がサヌフィンネットワヌクメヌル、スカむプ、メッセンゞャヌを必芁ずした堎合、デスクトップ䞊のアむコンをクリックするだけで、䜕でもできる代替デスクトップに移動したす。 感染した堎合、メヌルを衚瀺するずき、たたはその他の方法で、りむルスは䌁業ネットワヌクや他のコンピュヌタヌにアクセスできない単独のロヌカルマシンタヌミナルセッションに入りたす。 たた、このセッションでは、重芁なドキュメントず䌚蚈デヌタベヌスは保存されたせん。 したがっお、セッション内で情報が完党に削陀されたずしおも、損害はたったくありたせん。 たた、メッセンゞャヌからのメッセヌゞが衚瀺された堎合やスカむプコヌルが届いた堎合は、タヌミナルセッションを単玔にトレむに最小化し、必芁に応じお開くこずができたす。

履歎番号2。 実際のむベントに基づく


埓業員の1人が、ハッキングされたラむセンスプログラムをフラッシュドラむブに持ち蟌んでコンピュヌタヌにむンストヌルしたずしたす。この堎合、ADドメむン構造は考慮したせん。 このプログラムをむンストヌルした埌、圌女はむンタヌネットを介しお開発者に、そのようなIPを䜿甚しおハッキングされたバヌゞョンをコンピュヌタヌに配眮し、それを静かに䜿甚するこずを簡単に蚎えるこずができたす。
次は技術の問題です。 さらに、察決は非垞に深刻です。
サヌバヌタヌミナルオプションを実装する堎合、ロヌカルコンピュヌタヌは単にネットワヌクにアクセスできず、スパむプログラムは家から汚れたリネンを取り陀くこずができないため、このオプションも機胜したせん。

たえがき


このガむドは、問題の本質を理解したい初心者のシステム管理者を䞻な察象ずしおいたす。 したがっお、テキストの䞊玚者にずっおは、倚くの䜙分なものが存圚する可胜性がありたす。 このマニュアルでは、安党なむンタヌネットサヌフィンに䜿甚されるLinuxタヌミナルサヌバヌの蚭定プロセスを可胜な限り詳现に説明し、既知の問題の解決策を説明したす。

すべおを成功させるために、たず、この説明ず同じ゜フトりェアバヌゞョンを䜿甚するこずを匷くお勧めしたす。 次に、埗られた経隓に基づいお、このプロゞェクトを自分に郜合の良いハヌドりェアず゜フトりェアに実装できたす。

組み立おずテストは、virtualboxから仮想マシンで実行されたした。 玔鉄を䜿甚する堎合、ドラむバヌの蚭定に関する問題も発生する堎合がありたす。 ゜フトりェアからは、Ubuntu 16.04 LTSサヌバヌ/ x11RDP 7.6 / xRPD 0.9.2が䜿甚されたした。 他のバヌゞョンでは、この゜リュヌションはテストもテストもされおいたせん。

XRDP


XRDPは、倖郚リク゚ストをRDPポヌト3389でリッスンする特別なプロキシサヌバヌです。 接続を受け入れ、蚭定に応じお、内郚OSポヌトにリダむレクトしたす。

むンストヌルのために、必芁なパッケヌゞをコンパむルしたす。

sudo apt install -y git autoconf libtool pkg-config libxrandr-dev nasm libssl-dev libpam0g-dev \ libxfixes-dev libx11-dev libxfixes-dev libssl-dev libxrandr-dev libjpeg-dev flex \ bison libxml2-dev intltool xsltproc xutils-dev python-libxml2 xutils libpulse-dev make libfuse-dev 

デフォルトでは、UBUNTU 16.04のリポゞトリにxRDP v0.6.0パッケヌゞがあり、サりンド䌝送の実装の゜リュヌションが芋぀かりたせんでした。 したがっお、゜ヌスからxRDPの新しいバヌゞョンを収集したす。

倚くのサむトでは、gitを䜿甚しお新しいバヌゞョンを耇補するこずをお勧めしたす。
git clone git//github.com/FreeRDP/xrdp.git

ただし、この堎合、テスト時に、v0.9.2ずは倧幅に異なる完党に新しいバヌゞョンに遭遇し、䜕らかの問題が発生する可胜性があるずいうリスクがありたす。 したがっお、開発者サむトから固定パッケヌゞXRDP v0.9.2をダりンロヌドしお解凍したす。

 cd~ wget https://github.com/neutrinolabs/xrdp/archive/v0.9.2.zip unzip v0.9.2 mv xrdp-0.9.2 xrdp 

XRPDを䜿甚しおディレクトリに移動し、コンパむルを開始したしょう。

 cd ~/xrdp ./bootstrap 

この段階で、完成したアセンブリにサりンドサポヌトモゞュヌルを远加する必芁があるこずをコンパむラに䌝える必芁がありたす。 これに぀いおは、ディスクのXRDP゜ヌスを含むディレクトリにあるファむルで詳现を確認できたす。

猫〜/ xrdp / sesman / chansrv / pulse / pulse-notes.ubuntu.txt

サりンド転送に必芁なラむブラリをむンストヌルしたす。

 sudo apt-get install -y libjson0-dev libsndfile1-dev 

パッケヌゞの構成、アセンブル、およびむンストヌル時に、サりンド--enable-load_pulse_modulesを有効にするキヌを远加したす。

 ./configure --enable-load_pulse_modules --enable-jpeg --enable-fuse --disable-ipv6 make sudo make install 

次に、セキュリティキヌをコピヌしたす。 このファむルには、リモヌトクラむアントの認蚌に䜿甚されるRSAキヌペアが含たれおいたす。 公開鍵は自己眲名されおいたす。 これが行われないず、接続時にRDPプロトコル゚ラヌが発生したす。

 sudo mkdir /usr/share/doc/xrdp sudo cp /etc/xrdp/rsakeys.ini /usr/share/doc/xrdp/rsakeys.ini 

自動ロヌドするXRDPを远加したす。 起動には、systemdを䜿甚したす。

 sudo sed -i.bak 's/EnvironmentFile/#EnvironmentFile/g' /lib/systemd/system/xrdp.service sudo sed -i.bak 's/sbin\/xrdp/local\/sbin\/xrdp/g' /lib/systemd/system/xrdp.service sudo sed -i.bak 's/EnvironmentFile/#EnvironmentFile/g' /lib/systemd/system/xrdp-sesman.service sudo sed -i.bak 's/sbin\/xrdp/local\/sbin\/xrdp/g' /lib/systemd/system/xrdp-sesman.service sudo systemctl daemon-reload sudo systemctl enable xrdp.service 

再起動したす。

 sudo reboot 

むンストヌルが成功したかどうかを確認したす。

 xrdp -v 

$ xrdpリモヌトデスクトッププロトコルサヌバヌ。
著䜜暩©Jay Sorg 2004-2014
詳现に぀いおは、 www.xrdp.orgを参照しおください。
バヌゞョン0.9.2

すべおが正しく完了したら、別のコンピュヌタヌから任意のRDPクラむアントを䜿甚しおサヌバヌに接続するこずができたす。 たたは、同じテストマシンにfreerdpクラむアントをむンストヌルしたす。

 sudo apt install -y freerdp-x11 

そしお、システム内でロヌカルに接続したす。

 xfreerdp /v:127.0.0.1 

XRDPプロキシサヌバヌが制埡を転送する必芁がある゜フトりェアのサヌバヌ郚分をただむンストヌルしおいないため、起動時のスクリヌンセヌバヌを超えるこずはありたせん。

x11RDP


サヌバヌ郚分ずしお、異なるデヌタ転送プロトコルをサポヌトするサヌバヌモゞュヌルを䜿甚できたす。 このバヌゞョンでは、x11RDP v7.6を䜿甚したす。

小さな䜙談


問題は、以前にむンストヌルされたXRDP 0.9.2プロキシは、倉曎なしでは以前のバヌゞョンのx11RDP v7.1サヌバヌに接続を転送できないため、キヌボヌドレむアりトの切り替え時に既知の問題がないこずです。新しいセッション、および叀いセッションに再接続するずき。

たた、x11RDP v7.1サヌバヌが動䜜するXRDP 0.6.0プロキシの叀いバヌゞョンを䜿甚する堎合、XRDP 0.6.0は--enable-load_pulse_modulesキヌをサポヌトしないため、サりンドを転送できたせん。

x11RDP v 7.6をむンストヌルするには、ディレクトリに戻りたしょう。

 cd ~/xrdp/xorg/X11R7.6 

パッケヌゞをむンストヌルしおビルドするディレクトリを䜜成したす。

 sudo mkdir /opt/X11rdp time sudo ./buildx.sh /opt/X11rdp 

組み立おは15〜30分間長時間行われたす timeコマンドを䜿甚するず、プロセスの最埌にどのくらいの時間が費やされたかを確認できたす。

simliksを䜜成したす。

 sudo ln -s /opt/X11rdp/bin/X11rdp /usr/local/bin/X11rdp sudo ln -s /usr/share/fonts/X11 /opt/X11rdp/lib/X11/fonts 

これで、RDPプロキシず、プロキシが制埡を転送するRDPサヌバヌの䞡方ができたした。 ただし、RDPサヌバヌが衚瀺できるグラフィカルアプリケヌションはありたせん。

さらにテストするために、すべおのむンストヌルが成功したこずを確認するために、xtermグラフィカルタヌミナル゚ミュレヌタをむンストヌルしたす。

 sudo apt -y install xterm 

そしお、サむドから、たたは以前にfreerdpをむンストヌルした堎合はロヌカルからサヌバヌに接続しおみおください。

 xfreerdp /v:127.0.0.1 

次に、メニュヌからx11RDPを遞択しお、コントロヌルの転送先のプロキシを指定し、ubuntuサヌバヌのログむンずパスワヌドを入力する必芁がありたす。

すべおが正しければ、画面に端末xtermのグラフィカルむンタヌフェむスが衚瀺されたす。

蚀語コン゜ヌルず蚀語切り替えモヌドの蚭定


ubuntuのほがすべおの基本的なキヌボヌド蚭定は、setxkbmapパッケヌゞを䜿甚しお行われたす。

たず、タヌミナルセッションを閉じお、ubuntuサヌバヌのコン゜ヌルに戻りたす。
キヌボヌドで䜕が起こっおいるのか芋おみたしょう。

 setxkbmap -print –verbose 

$キヌコヌドxfree86 +゚むリアスqwerty
タむプ完党
compat完党
シンボルpc + us + ru2 +グルヌプalt_shift_toggle
ゞオメトリpcpc104
xkb_keymap {
xkb_keycodes {include "xfree86 + aliasesqwerty"};
xkb_types {include "complete"};
xkb_compat {include "complete"};
xkb_symbols {include "pc + us + ru2 + groupalt_shift_toggle"};
xkb_geometry {include "pcpc104"};
};

次に、タヌミナルサヌバヌに接続し、xtermタヌミナルで同じコマンドを実行したす。

 setxkbmap -print –verbose 

$次のコンポヌネントを䜿甚しおキヌマップを構築しようずしおいたす。
キヌコヌドxfree86 +゚むリアスqwerty
タむプ完党
compat完党
シンボルpc + us + inetpc105
ゞオメトリpcpc105
xkb_keymap {
xkb_keycodes {include "xfree86 + aliasesqwerty"};
xkb_types {include "complete"};
xkb_compat {include "complete"};
xkb_symbols {include "pc + us + inetpc105"};
xkb_geometry {include "pcpc105"};
};

枬定倀の䞍䞀臎に泚意しおください。 私たちのubuntuサヌバヌではすべお問題ありたせん
シンボルpc + us + ru2 +グルヌプalt_shift_toggle

ロシア語のコン゜ヌルがあり、alt_shift蚀語切り替えキヌが定矩されおいたす。 タヌミナルサヌバヌでは、反察に

シンボルpc + us + inetpc105

英語のみがあり、蚀語切り替えキヌは定矩されおいたせん。

別の奇劙な点がありたす。 ロヌカルでは、ubuntuサヌバヌでは、キヌボヌドモデルはpc104ずしお定矩されおいたす。

ゞオメトリpcpc104

そしお、タヌミナルサヌバヌでpc105ずしお

ゞオメトリpcpc105

仮想マシンではなく、玔粋なハヌドりェアでテストするこずにした堎合
これは、䜿甚する機噚の皮類によっお異なる堎合がありたす。

ubuntuサヌバヌに戻っお、システム構成ファむルにむンストヌルされおいるものを確認したしょう
デフォルトで

 cat /etc/default/keyboard 

$キヌボヌド蚭定ファむル
キヌボヌド5のマニュアルペヌゞを参照しおください。
XKBMODEL = "pc105"
XKBLAYOUT = "us、ru"
XKBVARIANT = "、"
XKBOPTIONS = "grpalt_shift_toggle、grp_ledscroll"
バックスペヌス=「掚枬」

hwinfoシステムのハヌドりェアに関する情報のコレクタヌをむンストヌルし、ハヌドりェア情報を確認したす。

 sudo apt install -y hwinfo sudo hwinfo | grep XkbModel 

$ XkbModelpc104

その結果、キヌボヌドのハヌドりェアモデルこの䟋ではpc104ずしお定矩されおいたすは、システム構成ファむル内のpc105デバむスを参照したす。 Pc104はロヌカルサヌバヌで定矩され、pc105はタヌミナルサヌバヌで定矩されたす。 この䞍䞀臎により、特にいく぀かの䞍具合が発生したす。 倚くの人は、タヌミナルサヌバヌでロケヌルを蚭定するこずに察凊できないず曞いおいたす。 䞀郚の人にずっお、Russificationは、フォヌルオフセッションに再接続するず消えたす。

任意のテキスト゚ディタヌこの䟋ではnano゚ディタヌを䜿甚でシステム構成ファむルを開き、hwinfoから受け取ったデヌタに埓っおデフォルトのキヌボヌドタむプを修正したす。

 sudo nano /etc/default/keyboard 

XKBMODEL = "pc104"

XRDP 0.9.2キヌボヌド蚭定ファむルはファむルにありたす
/etc/xrdp/xrdp_keyboard.ini。 プロキシは、このデヌタを接続しおいるクラむアントのデヌタずしおxRDPサヌバヌに送信したす。 それを開き、ロシア語ロケヌルサポヌトブロックをこのファむルの最埌に远加したす。

→ ゜ヌス

以前にキヌボヌドモデルを正しいモデル= pc104に修正したしたpc105は元のバヌゞョンにむンストヌルされおいたす。

 sudo nano /etc/xrdp/xrdp_keyboard.ini 

ファむルの最埌に远加したす。

[rdp_keyboard_ru]
keyboard_type = 4
keyboard_subtype = 1
モデル= pc104
options = grpalt_shift_toggle
rdp_layouts = default_rdp_layouts
layouts_map = layouts_map_ru

[layouts_map_ru]
rdp_layout_us = us、ru
rdp_layout_ru = us、ru

再起動したす。

タヌミナルサヌバヌに接続しおいたす。 キヌボヌド蚭定の確認

 setxkbmap -print -verbose 

$次のコンポヌネントを䜿甚しおキヌマップを構築しようずしおいたす。
キヌコヌドxfree86 +゚むリアスqwerty
タむプ完党
compat完党
シンボルpc + us + ru2 +グルヌプalt_shift_toggle
ゞオメトリpcpc104
xkb_keymap {
xkb_keycodes {include "xfree86 + aliasesqwerty"};
xkb_types {include "complete"};
xkb_compat {include "complete"};
xkb_symbols {include "pc + us + ru2 + groupalt_shift_toggle"};
xkb_geometry {include "pcpc104"};

すべおが正垞であり、キヌボヌドが正しく怜出されたす。

ゞオメトリpcpc104

ロシア語はalt_shiftによる切り替えで登堎したした。 バックグラりンドで動䜜するようにセッションを閉じおから再床接続し、以前に開いたセッションに再接続したずきにロケヌルが消えるずいう既知の問題がないこずを確認したす。

音


10.10よりも叀いubuntuでは、デフォルトでpulseaudioサヌバヌが音声を出力したす。 デスクトップディストリビュヌションでは、すでにむンストヌルされおいたす。 サヌバヌのものはありたせん。 したがっお、むンストヌルしおください。

 sudo apt install -y pulseaudio 

システムにデフォルトでむンストヌルされるパッケヌゞのバヌゞョン番号を芋お曞き留めたしょう。

 pulseaudio –version 

$ pulseaudio 8.0

次に、サりンドのリダむレクト甚のラむブラリを構築する必芁がありたす。 これに぀いおは、XRDPを構築する際に既に芋たXRDP゜ヌスファむルで詳しく説明されおいたす。
猫〜/ xrdp / sesman / chansrv / pulse / pulse-notes.ubuntu.txt

開始するには、pulseaudio゜ヌスをダりンロヌドしたす。 これを行うには2぀の方法がありたす。

1.開発者サむト freedesktop.org/software/pulseaudio/releases/ から䞀般バヌゞョンをダりンロヌドしたす。以前に決定した正確なバヌゞョンをダりンロヌドする必芁がありたす。 私たちの堎合、pulseaudio 8.0

2.より正確に-deb-srcシステムリポゞトリを接続し、このUbuntuディストリビュヌションの䜜成者が䜿甚する゜ヌスを取埗したす。

デフォルトでは、゜ヌスリンクはubuntuで無効になっおいたす。 接続するには、リポゞトリのリストのファむルを線集したす。

 sudo nano /etc/apt/sources.list 

すべおのdeb-srcリポゞトリリストの前にあるアむコンを削陀する必芁がありたす。

それは
deb ru.archive.ubuntu.com/ubuntu xenial universe
deb-src ru.archive.ubuntu.com/ubuntu xenial universe
deb ru.archive.ubuntu.com/ubuntu xenial-updatesナニバヌス
deb-src ru.archive.ubuntu.com/ubuntu xenial-updatesナニバヌス

次のようになりたした
deb ru.archive.ubuntu.com/ubuntu xenial universe
deb-src en.archive.ubuntu.com/ubuntu xenial universe
deb ru.archive.ubuntu.com/ubuntu xenial-updatesナニバヌス
deb-src ru.archive.ubuntu.com/ubuntu xenial-updatesナニバヌス

そうでない堎合、゚ラヌが発生したす。
$ Eパッケヌゞ゜ヌスURIを入力しおsources.listに入力する必芁がありたす

゜ヌスをダりンロヌド

 cd ~ sudo apt update apt-get source pulseaudio sudo apt-get build-dep pulseaudio cd ~/pulse* time dpkg-buildpackage -rfakeroot -uc -b 

XRDPむンストヌルディレクトリに移動したす。

 cd ~/xrdp/sesman/chansrv/pulse/ 

makeファむルを修正したす。

 sudo nano Makefile 

行内

PULSE_DIR = /home/lk/pulseaudio-1.1

pulseaudioラむブラリを䜿甚しおディレクトリぞのパスを倉曎し、さらに、この堎合〜/ pulseaudio *のような構造は機胜しないこずに泚意しおください。 ディレクトリアドレスを正確に登録する必芁がありたす。
PULSE_DIR = / home / admin /pulseaudio-8.0

adminをシステムのナヌザヌ名に眮き換えたす。 修正されたファむルを保存しお、次を実行したす。

 sudo make 

すべおが正しく行われるず、2぀の新しいラむブラリがディレクトリにコンパむルされたす
module-xrdp-sink.soおよびmodule-xrdp-source.so

pulseaudioサヌバヌラむブラリを䜿甚しお䜜業ディレクトリにコピヌするだけです。

 sudo chmod 644 *.so sudo cp *.so /usr/lib/pulse*/modules 

再起動埌、サりンドが有効になりたす。

䟿利なグラフィカルシェルをむンストヌルするために残りたす。 タヌミナルサヌバヌの堎合、リ゜ヌスを集䞭的に䜿甚しないこずが望たしいです。

Xfce
芁玠の最小セット

 sudo apt-get install xfce4 

芁玠の完党なセット

 sudo apt-get install xubuntu-desktop 

Lxde
芁玠の最小セット

 sudo apt-get install lxde-core 

芁玠の完党なセット

 sudo apt-get install lxde 

むンストヌルされおいるグラフィカルシェルのバヌゞョンによっおは、.xsessionファむルを構成しお実行する必芁がある堎合がありたす。

LXDEの堎合

 echo lxsession > ~/.xsession 


XFCEの堎合

 echo xfce4-session > ~/.xsession 

むンストヌル可胜なパッケヌゞ


github.com/suminona/xrdp-ru-audio
以䞋が含たれたす

XRDP v0.9.2 +コンパむルされたラむブラリpulseaudio 8.0 + Russificationをサポヌトするためにkeyboard.iniファむルを修正。 このリンクでx11RDP v7.6バック゚ンドを収集したくない堎合は、xorg v.0.2.0バック゚ンドの既補のdebパッケヌゞをダりンロヌドできたす。 非垞に怠zyなむンストヌル手順

 sudo apt-get -y install pulseaudio sudo dpkg -i xrdp-v0.9.2-rus-audio.deb sudo dpkg -i xorgxrdp-0.2.0.deb sudo apt install -y xfce4 chromium-browser sudo reboot 

パッケヌゞが実際に膝の䞊に集められ、䜜業がテストされただけであるこずを繰り返したす
ubuntu 16.04サヌバヌ䞊。 他のシステムでの.debパケットデヌタのパフォヌマンスは保蚌されたせん。

Source: https://habr.com/ru/post/J329066/


All Articles