Kutsegula Njira Yowonjezera ya Arch Linux-alendo ku Hyper-V

Kutsegula Njira Yowonjezera ya Arch Linux-alendo ku Hyper-V

Kugwiritsa ntchito makina enieni Linux Mu Hyper-V, palibe vuto lalikulu kuposa alendo. Windows-машинами. ΠŸΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΠΌΡƒ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Hyper-V всС ΠΆΠ΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ прСдназначался для дСсктопного пользования; нСльзя просто Π²Π·ΡΡ‚ΡŒ, ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ гостСвых Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ работоспособноС графичСскоС ускорСниС, Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°, ΠΎΠ±Ρ‰ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ радости ΠΆΠΈΠ·Π½ΠΈ, ΠΊΠ°ΠΊ это происходит Π² VirtualBox.

Hyper-V yokha imapereka ntchito zingapo zophatikiza - kotero, alendo angagwiritse ntchito mthunzi wa mthunzi wa wolandira (VSS), alendo amatha kutumiza chizindikiro chotseka, alendo akhoza kugwirizanitsa nthawi ya dongosolo ndi woyang'anira virtualization, mafayilo akhoza kusinthidwa kuchokera kwa wolandirayo ndi makina enieni (Copy-VMFile Π² PowerShell). Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… гостСвых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, Π² числС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, находится ΠΈ Windows, Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Virtual Machine Connection (vmconnect.exe) Njira Yowonjezera ya Session ikupezeka, ikugwira ntchito kudzera pa protocol ya RDP ndikukulolani kusamutsa zida za disk ndi osindikiza kumakina enieni, komanso kugwiritsa ntchito bolodi logawana nawo.

Enhanced Session Mode ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Windows Π² Hyper-V сразу послС установки. Π‘ гостями Π½Π° Linux Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ RDP-сСрвСр, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ vsock (ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ сСтСвоС адрСсноС пространство Π² Linux, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ с Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΠΌ). Если для Ubuntu Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ VMCreate, ΠΈΠ΄ΡƒΡ‰ΠΈΠΌ с Hyper-V Π½Π° Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… рСдакциях Windows, Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ шаблон Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ с vsock RDP-сСрвСр XRDP zokhazikitsidwa kale, ndiye ndi magawo ena ndizosamveka bwino - mwachitsanzo, wolemba positi iyi ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ESM Π² Fedora. Π—Π΄Π΅ΡΡŒ ΠΆΠ΅ ΠΌΡ‹ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅ΠΌ Enhanced Session Mode для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ с Arch Linux.

Kuyika ntchito zophatikiza

Chilichonse chiri chophweka kwambiri apa, timangofunika kukhazikitsa phukusi hyperv kuchokera kumalo osungirako anthu:

% sudo pacman -S hyperv

Tiyeni tiwone VSS ndi ntchito zosinthana metadata ndi mafayilo:

% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; done

Kukhazikitsa XRDP

posungira Linux-vm-zida Π½Π° GitHub прСдоставляСт скрипты, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ процСсс установки ΠΈ настройки XRDP, для Arch Linux ΠΈ Ubuntu. Установим Git, Ссли ΠΎΠ½ Π΅Ρ‰Π΅ Π½Π΅ установлСн, вмСстС с компилятором ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ софтом для Ρ€ΡƒΡ‡Π½Ρ‹Ρ… сборок, послС Ρ‡Π΅Π³ΠΎ склонируСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:

% sudo pacman -S git base-devel
% git clone https://github.com/microsoft/linux-vm-tools.git
% cd linux-vm-tools/arch

Pa nthawi yolemba nkhaniyi, kumasulidwa kwaposachedwa kwa XRDP, komwe kumayikidwa ndi script makepkg.shyomwe yaperekedwa m'malo osungirako ndi 0.9.11, momwe kupatulira kwathyoledwa vsock://-address, kotero muyenera kukhazikitsa XRDP kuchokera ku Git ndi Xorg driver wake kuchokera ku AUR pamanja. Chigamba cha XRDP choperekedwa mu AUR nachonso chatha pang'ono, kotero muyenera kusintha PKGBUILD ndikuyika pamanja.

Tiyeni titengere nkhokwe ndi PKGBUILDs kuchokera ku AUR (nthawi zambiri njirayi, pamodzi ndi kumanga, imapangidwa ndi mapulogalamu monga Pamenepo, koma wolemba adachita zonsezi pa dongosolo loyera):

% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.git

Tiyeni tiyike XRDP yokha kaye. Tiyeni titsegule fayilo PKGBUILD mkonzi wa malemba aliwonse.

Tiyeni tisinthe magawo omanga. PKGBUILD yomanga XRDP kuchokera ku Git sikuphatikiza chithandizo cha vsock pomanga, ndiye tiyeni tidzithandizire tokha:

 build() {
   cd $pkgname
   ./configure --prefix=/usr 
               --sysconfdir=/etc 
               --localstatedir=/var 
               --sbindir=/usr/bin 
               --with-systemdsystemdunitdir=/usr/lib/systemd/system 
               --enable-jpeg 
               --enable-tjpeg 
               --enable-fuse 
               --enable-opus 
               --enable-rfxcodec 
               --enable-mp3lame 
-              --enable-pixman
+              --enable-pixman 
+              --enable-vsock
   make V=0
 }

Mu chigamba arch-config.diff, правящСм ΡŽΠ½ΠΈΡ‚Ρ‹ ΠΈ скрипты запуска XRDP ΠΏΠΎΠ΄ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Π² Arch Linux, содСрТится Π² Ρ‚ΠΎΠΌ числС ΠΏΠ°Ρ‚Ρ‡ ΠΊ скрипту instfiles/xrdp.sh, yomwe pa nthawi yolemba anachotsedwa kuchokera pakugawa kwa XRDP, kotero chigambacho chiyenera kusinthidwa pamanja:

  [Install]
  WantedBy=multi-user.target
-diff -up src/xrdp-devel-git/instfiles/xrdp.sh.orig src/xrdp-devel-git/instfiles/xrdp.sh
---- src/xrdp-devel-git/instfiles/xrdp.sh.orig  2017-08-30 00:27:28.000000000 -0600
-+++ src/xrdp-devel-git/instfiles/xrdp.sh   2017-08-30 00:28:00.000000000 -0600
-@@ -17,7 +17,7 @@
- # Description: starts xrdp
- ### END INIT INFO
- 
--SBINDIR=/usr/local/sbin
-+SBINDIR=/usr/bin
- LOG=/dev/null
- CFGDIR=/etc/xrdp
- 
 diff -up src/xrdp-devel-git/sesman/startwm.sh.orig src/xrdp-devel-git/sesman/startwm.sh
 --- src/xrdp-devel-git/sesman/startwm.sh.orig  2017-08-30 00:27:30.000000000 -0600

Tiyeni tipange ndikuyika phukusi ndi lamulo % makepkg --skipchecksums -si (kiyi --skipchecksums zofunikira kuletsa kutsimikizira kwa checksum kwa mafayilo oyambira, popeza tidawasintha pamanja).

Tiyeni tipite ku chikwatu xorgxrdp-devel-git, pambuyo pake timangosonkhanitsa phukusi ndi lamulo % makepkg -si.

Tiyeni tipite ku chikwatu linux-vm-tools/arch ndikuyendetsa script install-config.sh, yomwe imakhazikitsa XRDP, PolicyKit ndi PAM:

% sudo ./install-config.sh

Script imayika zoikamo zakale use_vsock, yomwe yanyalanyazidwa kuyambira mtundu 0.9.11, kotero tiyeni tisinthe fayilo yosinthira /etc/xrdp/xrdp.ini pamanja:

 ;   port=vsock://<cid>:<port>
-port=3389
+port=vsock://-1:3389

 ; 'port' above should be connected to with vsock instead of tcp
 ; use this only with number alone in port above
 ; prefer use vsock://<cid>:<port> above
-use_vsock=true
+;use_vsock=true

 ; regulate if the listening socket use socket option tcp_nodelay

Onjezani ku fayilo ~/.xinitrc kuyambitsa malo omwe mumakonda pawindo lazenera / desktop, zomwe zidzachitike seva ya X ikayamba:

% echo "exec i3" > ~/.xinitrc

Tizimitse makina enieni. Timayatsa zoyendera za vsock pamakina enieni poyendetsa lamulo ili mu PowerShell ngati woyang'anira:

PS Admin > Set-VM -VMName ΠΠΠ—Π’ΠΠΠ˜Π•_МАШИНЫ -EnhancedSessionTransportType HvSocket

Tiyeni tiyatsenso makina enieni.

Kulumikizana

Ntchito ya XRDP ikangoyamba dongosolo litayamba, pulogalamu ya vmconnect idzazindikira izi ndipo chinthucho chipezeka pamenyu. View -> Gawo Lowonjezera. Posankha chinthuchi, tidzauzidwa kuti tiyike mawonekedwe a skrini, ndi pa tabu Zosowa zapanyumba Muzokambirana zomwe zimatsegulidwa, mutha kusankha zida zomwe zikuyenera kutumizidwa mugawo la RDP.

Kutsegula Njira Yowonjezera ya Arch Linux-alendo ku Hyper-V
Kutsegula Njira Yowonjezera ya Arch Linux-alendo ku Hyper-V

Tiyeni tigwirizane. Tiwona zenera lolowera XRDP:

Kutsegula Njira Yowonjezera ya Arch Linux-alendo ku Hyper-V

Lowetsani dzina lanu lolowera ndi mawu achinsinsi.

Gwiritsani ntchito

Phindu lazosokoneza izi likuwoneka bwino: gawo la RDP limagwira ntchito bwino kwambiri kuposa pogwira ntchito ndi chiwonetsero chazithunzi popanda Gawo Lowonjezera. Ma disks omwe adatsitsidwa mkati mwa VM kudzera pa RDP akupezeka m'ndandanda ${HOME}/shared-drives:

Kutsegula Njira Yowonjezera ya Arch Linux-alendo ku Hyper-V

Chojambula chojambula chimagwira ntchito bwino. Simungathe kutumizira osindikiza mkati; izi sizongothandizidwa, komanso imaphwanya kutumiza kwa disk. Phokosolinso siligwira ntchito, koma wolemba sanafune izi. Kuti mujambule njira zazifupi za kiyibodi ngati Alt+Tab, muyenera kukulitsa vmconnect ku sikirini yonse.

Если ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Π΅ΡΡ‚ΡŒ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСсто прилоТСния vmconnect встроСнный Π² Windows RDP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ этой машинС ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅ /etc/xrdp/xrdp.ini port pa tcp://:3389. Ngati makina enieni alumikizidwa ku Default Switch ndikulandila zokonda pamaneti kudzera pa DHCP, ndiye kuti mutha kulumikizana nawo kuchokera kwa wolandila Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΌΠ°ΡˆΠΈΠ½Ρ‹.mshome.net. Mutha kulowa mu TTY kuchokera pa vmconnect application pozimitsa Mode Yowonjezera.

Magwero ogwiritsidwa ntchito:

  1. Hyper-V - Arch Wiki
  2. Malipoti a Bug pa GitHub: 1, 2

Source: www.habr.com

Gulani kuchititsa kodalirika kwamasamba okhala ndi chitetezo cha DDoS, ma seva a VPS VDS Gulani malo odalirika osungira mawebusayiti okhala ndi chitetezo cha DDoS, ma seva a VPS VDS | ProHoster