copy paste to work with Windows 10 linux subsystem

Linux subsystem in Windows 10 is awesome. Unfortunately due to how stuff works pasting to bash.exe does not follow Windows conventions. Only way to paste in to bash.exe is to right clicking with mouse. This breaks work flows really badly. I googled and googled and results were “this is the way it is” and lots of nice explanations why this is the way it is.

Like many other things, this can be fixed. Computer is here to do my bidding, allow me to work. So here is my crude autohotkey solution

#IfWinActive, ahk_exe bash.exe
  ^v::
  MouseClick, right, 50, 50
  return
#ifwinactive

Compile that to a exe and run it or add it to your existing autohotkey script and ctrl+v works again! CTRL+v is not passed to bash, instead right click is done with mouse on active window coordinates 50,50. Life is good again!

Monibootti piilo-osio USB-tikku, osa 2

typografia huomautus

# komennon edessä tarkoittaa, että käsky pitää ajaa roottina tai sudolla
$ komennon edessä tarkoittaa, että tavalliset käyttäjän oikat riittävät

Osointi

Tikun toiminnan kannalta oleellinen osa on tikun osiointi. Osioin tikun 4 osaan cfdisk:n avulla

#

cfdisk /dev/sdb

Ensimmäinen osio on 32 gigainen primääri NTFS osio.  Toinen osio on 15 gigainen primääri ja boottaava EXT4 osio. Kolmas osio on 11 gigainen EXT4 osio ja viimeinen neljäs osio on 5 gigainen primääri EXT4 osio.

Image

Seuraavaksi luodaan tiedostojärjestelmät paikalleen. Kirjoita ylös tai paina mieleen mikä osionumero (sdbX, kuvassa 2) boottaavalla osiolla on. Tämä on kriittistä grubin konfiguroinnissa.

 #

mkfs.ntfs /dev/sdb1
# mkfs.ext4 /dev/sdb2
# mkfs.ext4 /dev/sdb3
# mkfs.ext4 /dev/sdb4

Lisää komentorivikytkimiä sen verta kun haluat virheiden tarkistamiseen, NTFS alustamisen nopeuttamiseen yms. Tällä asetuksella NTFS tiedostojärjestelmä kirjoittaa 0 osionsa täyteen, missä menee hyvä hetki.

Boottijärjestelmä

Tikun boottauksessa käytän grub 2:sta. Luodaan pohjat grubille, joita sitten hieman korjataan, jotta tikku käynnistyy oikein. Tätä varten mountataan juuri tehty 2. osio käyttöön ja aletaan asentelemaan.

# mkdir /mnt/grub-osio
# mount /dev/sdb2 /mnt/grub-osio
# grub-install –force –no-floppy –root-directory=/mnt/grub-osio /dev/sdb

Tämän jälkeen grubin runkotiedostot on kohdallaan, mutta niissä on virheitä ja valikko puuttuu. Aloitetaan ensin korjaamalla virheet ja tekemällä tikusta boottaava Winking smile

# cd /mnt/grub-osio/boot/grub
# vi device.map

Tuhoa tiedostosta kaikki muut rivit, paitsi rivi joka sisältää USB tikun, muuta se rivi tämän näköiseksi

(hd0)   /dev/sdb

Nyt asennetaan uudelleen grub, jotta saadaan tikku boottaavaksi

# grub-install –root-directory=/mnt/grub-osio /dev/sdb

Sitten lisätään grub.cfg hakemistoon /mnt/grub-osio/boot/grub , joka on varsinainen käynnistysvalikko

# vi grub.cfg

Lisää tiedoston sisälle seuraavat pohjat. Nyt tarvitaan set root määritelmässä boottaavan osion numero (sdbX)

# Boot menu by <NIMESI> YYYY-MM-DD
set root=(hd0,2)
menuentry “Memtest 86+ (5.01)” {
linux16 /memtest86+-5.01.bin
}

Sitten käydään imuroimassa oikea tiedosto muistitikun juureen

$ cd /mnt/grub-osio/
$ wget
http://www.memtest.org/download/5.01/memtest86+-5.01.bin.gz
$ gunzip memtest86+-5.01.bin.gz

Tikku irti koneesta ja testaamaan käyttökoneella. Jos homma meni oikein, tikku boottaa karuun grub valikkoon, jonka avulla saa muistitestit käynnistettyä.

Monibootti piilo-osio USB-tikku, osa 1

tikkuOlen vuosia sitten haaveillut USB-tikusta, joka sisältäisi kaikki käyttämäni ISO-imaget ja työkalut, mutta taito rakentaa moinen luotettavasti on puuttunut. Tästä esimerkkinä on niiden kahden PXE ympäristön rakentaminen. Tuntuu niin turhalta tehdä yhdestä alle 700 megan ISO imagesta boottaava 8 gigatavun tikun avulla. Käsittämätöntä tilanhukkaa ja se tikku on sen jälkeen täynnä sontaa, joka hankaloittaa sen käyttöä normaaliolosuhteissa. Sain kerran rakennettua monibootti USB-tikun, siitä on jo vuosia, mutta se ei toiminut luotettavasti – en oikeasti ymmärtänyt miten sen tein – saati sitten ollut päivitettävissä.

Nyt Kali Linux-tikkuni Kali alkaa olemaan vanhaa versiota, eikä sekään koskaan ollut tehty kunnolla. Se on härö ja vajaalla toiminnalla oleva tikku, mutta se toimi. Tikussa oli piilo-osio, jossa Kali lepäsi ja Kalilla oli oma salattu talletustila tikussa. Kaiken puolin kiva, mutta hidas ja Kali oli 64 bittinen, mikä ampui jalkaan yhden vanhemman läppärin kanssa mitä piti tuikkia, myös UEFI tuki boottui, joten Surface Pro 3:n kanssa se oli turha.

Visio

Tikulla on normaali NTFS osio, jonka voi alustaa,  jota voi täyttää ja joka näyttää, tuntuu, äänehtii ja maistuu normaalilta muistitikulta. Piiloitettu boottaava osio, jossa on puhtaita ISO-kuvia, joita voin helposti päivittää ja joilta pystyn boottaamaan surutta. Toinen piiloitettu osio, joka on salattu ja pitää sisällään Kalin pysyvät muutokset. Kolmas piiloitettu osio, joka on Tails Linuxin pysyvien tiedostojen osio. Näin tikkua voi käyttää arjessa satunnaisen koneen käyttöjärjestelmänä, voin antaa tikun toisille pikaisessa tiedonsiirrossa pelkäämättä että he sössivät tikun sisällön. Kun tikku on kiinni koneessa ja kone käynnistetään tikku on boottaava laite ja sen takaa paljastuu valikko, jossa on Kali Linux järjestelmän korkkaamiseen, Tails järjestelmän käyttämiseen anonyymisti sekä kasa erilaisia työkaluja osioiden muuttamiseen, levyn tarkistamiseen, turvakopioiden tekemiseen ja yleiseen PC diagnostiikkaan. Pikku nörtin “digitaalinen leatherman työkalu”.

Taustat

Miten ihmeessä tämä voisi toimia? USB-tikku toimii kuin normaali kiintolevy osioiden ja käynnistyksen suhteen. Windows vain leikkii USB muistitikun olevan erikoinen laite. Windows ei suostu näyttämään kuin ensimmäisen osion muistitikulta, mikä ei ole mitenkään ongelmallista, sillä sellaisina muistitikut tulevat linjalta ellei joku mene niitä ronkkimaan.

Boottauksen suhteen rajoitteitteena toimii se, että vain primääriosiolta voidaan käynnistää. Tämä ei ole ongelma, sillä vanhat speksit sallivat 4 primääriosiota ja vision mukaan tikussa on vain neljä osiota. Toinen primääriosio voidaan merkitä boottavaksi, sille voidaan asentaa GRUB eikä Windows näytä tätä osiota koskaan. Kolmas ja neljäs osio voisi olla loogisen osion sisällä, mutta en näe mieltä pilppoa tikkua mitättömiin palasiin, joten pidetään kaikki osiot primääreinä. Tikku menee kokonaan uusiksi, jos osoita tarvitaan lisää.

Tarvikkeet

Palaset, joita tarvitaan on siis

  1. Isolla kapasiteetilla varustettu USB(3) muistitikku – minun tapauksessa 64 GB USB3 tikku
  2. Linux (virtuaali) kone, varsinaista asennustyötä varten
  3. Läjä ISO-tiedostoja
  4. memdisk –tiedosto PXE boottileikeistä
  5. Testaamisen helpottamiseksi yksi fyysinen läppäri tms., jota on helppo bootata tikun testaamista varten. Virtuaalikoneet kun eivät ilman kikkailua osaa bootata USB-tikulta.

Debugging PXE

image

PXE on todella yksinkertainen kokonaisuus, tästä seuraa että tietokone ei kerro miksi se ei tällä kertaa boottaa sitä mitä valikosta klikkasit. Minun tapauksessa kaikki ongelmat paitsi yksi ovat olleet kirjoitusvirheitä. Se yksi virhe mikä ei ollut kirjoitusvirhe oli protokollan tuntemattomuuden piikkiin menevä ongelma – en tiennyt siirtorajaa TFTP:lle. Niinpä,

kirjoitusvirheiden metsästys tehty helpoksi

Työasemalla on hyvä olla virtualisointialusta, joka osaa PXE bootin. Itselleäni tämä on VMware Workstation 9.0. Loin sinne virtuaalikoneen millä ei ole ollenkaan levyä, vain yksi prosessori ja 1 GB muistia sekä verkkokortti. Tällä saa ladattua PXE ympäristön käyntiin ja varmistettua että ohjelmat starttaavat.

Toinen palanen mitä tarvitaan on tcpdump –ohjelma reitittimelle. TFTP toimii portissa 69, joten tcpdump polkaistaan päälle käskyllä

tcpdump –i br0 ‘port 69’

näin näemme kokoajan liikenteen. Protokolla on hyvin selkokielinen, joten vian metsästyksessä ei kauaa pitäisi mennä.

PXE boot with router part 2

imageSeuraava vaihe PXE:n virittelyssä vaatii mielellään koneen, joka pystyy boottaamaan PXE ympäristössä pystyyn. Itse käytän VMwarea ja virtuaalikonetta jolla ei ole levyä lainkaan. Se boottaa aina verkosta, sikäli se on mahdollista. Tämän laitteen kanssa pystyy katsomaan miltä konfiguraatio näyttää sitä tahtia kun se etenee.

Hakemistorakenne

Varsinainen runko juurihakemisto on tftpboot ja kaikki luodaan sen alle. Itse loin tftpboot-hakemiston alle hakemistot

tftpboot
|
\ pxesys
   |
   \pxelinux.cfg

Boottauksessa ensimmäinen tiedosto mikä ladataan on tiedosto nimeltä default. Kyseinen tiedosto sisältää varsinaisen valikon ja minun tapauksessa se hajoaa vielä kahteen alivalikkoon.

DEFAULT menu.c32
  PROMPT 0

MENU TITLE Leivo network PXE menu
  MENU AUTOBOOT Starting Local System in # seconds

LABEL bootlocal
   MENU LABEL ^Local boot disk
   MENU DEFAULT
   LOCALBOOT 0
  TIMEOUT 80
  TOTALTIMEOUT 9000

MENU SEPARATOR

LABEL ToolsMenu
   MENU LABEL ^Tools Menu
   KERNEL menu.c32
   APPEND pxelinux.cfg/tools.menu

LABEL OSMenu
   MENU LABEL ^OS Menu
   KERNEL menu.c32
   APPEND pxelinux.cfg/os.menu

Sikäli mitään ei tehdä, kone käynnistyy normaalisti omalta levyltään. Tämä ei vielä boottaa mitään, vain vie meitä pisin valikoita.

MENU TITLE Tools Menu

LABEL MainMenu

  
  MENU LABEL ^Return to Main Menu
  KERNEL menu.c32
  APPEND pxelinux.cfg/default

MENU SEPARATOR

LABEL memtest
  MENU LABEL ^Memtest86+ V5.01 (27/09/13)
  KERNEL memtest/memtest

LABEL Spinrite
  MENU LABEL ^Spinrite v6.0
  KERNEL memdisk
  APPEND initrd=Spinrite/SpinRite.iso

LABEL BootNuke
  MENU LABEL ^Boot & Nuke
  KERNEL memdisk
  APPEND initrd=BootandNuke/dban-2.2.8_i586.iso

LABEL Clonezilla
  MENU LABEL ^Clonezilla (2.1.1 686)
  KERNEL ClonezillaOLD/vmlinuz
  APPEND initrd=ClonezillaOLD/initrd.img boot=live config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" keyboard-layouts="fi" ocs_live_batch="no" locales="" vga=788 nosplash noprompt fetch=tftp://192.168.8.1/pxesys/ClonezillaOLD/filesystem.squashfs

Nyt systeemissä on kyky bootata jotain. KERNEL – kohta on se mikä meitä erityisesti kiinnostaa. Tämä kertoo missä päin levyä on mikäkin tiedosto. Itse sijoitan jokaisen järjestelmän omaan alikansioonsa pxesys –hakemiston alle. Hakemistorakenne tässä tapauksessa näyttää siis tältä:

tftpboot
|
\ pxesys
   |
   \pxelinux.cfg
   \memtest
   \Spinrite
   \BootandNuke
   \ClonezillaOLD

Kun bootataan CD tai DVD käytetään kernel parametriä memdisk. Tällä on rajansa, tarkkaanottaen 96 MB. Se on TFTP serverin maksimi tiedostonkoko, joten kokonaisen Linux-distron boottaaminen memdiskillä on pelkkää unelmaa. Järjestelmän pitää tukea PXE boottia kuten Clonezilla tukee.

PXELinux tosin tukee HTTP siirtoa myös, jolloin moiset turhat rajat eivät tule vastaan Winking smile

PXE boot with router

imageVirittelin “äkkiseltään” pystyyn PXE bootti kyvyn myös tomato reitittimelleni. Olen tähän saakka käyttänyt Serva PXE:tä, jota ajan pääserverilläni. Ajattelin vetäistä serverille muistitestin, mutta koska pääserveri on se kone, joka toimii myös PXE palvelimena, josta muistitestiohjelman lataisin homma ei toimi. Seuraava vaihtoehto olisi tehdä boottaava USB-tikku tai CD, mutta sellaisen tekemiseen menee ehkä vartti.  Joten nopeinta on vain rakentaa toinen PXE palvelin Winking smile. 8 tuntia myöhemmin voin iloisesti todeta, että reititn toimii hienosti PXE palvelimena ja useita päiviä myöhemmin voin todeta, että muistitestiä ei koskaan ajettu ! \o/ Mutta piru vie on hieno palvelu rullaamassa reitittimellä Open-mouthed smile

Keitto-ohje PXE palvelun virittämiselle Tomato firmikselle.

PXE vaatii 2 eri uutta komponenttia sekä muutoksen DHCP serverin konfiguraatioon. TFTP protokollalla siirretään data, joten sitä varten tarvitaan oma TFTP palvelin. Varsinainen boottiälli eli PXE binäärit tarvitaan ja sitten vielä pitää osata konfiguroida DHCP kertomaan PXE ympäristöstä.

TFTP

Tarvitsemme TFTP serverin, joten

ipkg-opt install atftp

Itselläni asennus päättyi virheeseen

Configuring atftp
postinst script returned status 1
ERROR: atftp.postinst returned 1
Nothing to be done
Successfully terminated.

asennuksessa itsestään ei ollut mitään vikaa, skriptin viimeinen tappokäsky vain tuottaa virheen, koska en käytä vielä mitään xined palvelua, joten editoin skriptin äkkiseltään toimimaan, muuttamalla sen aina raportoimaan onnistumisen Winking smile. Näinikkään:

vi /opt/lib/ipkg/info/atftp.postinst

lisätään viimeiselle riville

return 0

ja ajetaan

ipkg-opt upgrade

Sitten pitää konfiguroida tftpboot hakemisto. Oletuksena tftpboot hakemisto sijaitsee /opt/tftpboot – mikä ei valitettavasti minulle käy. ATFP:n konfiguraatiotiedosto löytyy hakemistosta

/opt/etc/xinetd.d/atftp

Sinne parametrien muutos ja näin TFTP on kunnossa. Kyky siirtää tiedostoja on kasassa. Sitten se boottiympäristö kasaan:

Itse PXE boottiympäristö

Sitten tarvitaan palat PXE ympäristölle. Käytän itse PXELINUX –palvelua.

  1. Imuroi syslinux-XXX.tar.gz PXELINUX sivujen kautta
  2. Pura paketista alla olevat tiedostot tftpboot/pxesys –hakemistoon
    1. lpxelinux.0
    2. pxelinux.0
    3. menu.c32
    4. ldlinux.c32
    5. libutil.c32
    6. memdisk
  3. Luo hakemisto pxelinux.cfg (- kyllä, hakemisto) tftpboot/pxesys –hakemiston alle

 

DHCP parametrit

Lisää Advanced valikkoon DHCP/DNS osuuteen Dnsmasq Custom configuraatioon rivi

dhcp-boot=pxesys/lpxelinux.0,,192.168.8.1

Like so:

Image

Nyt runko on valmis. Seuraavaksi käyn läpi peruskonffitiedostot.

Yritys kuvata kotini verkkorakennetta

Verkkoni runko alkaa olemaan kunnossa. Pystyn sylkäisemään verkon, reititykset ja serverit muutamassa tunnissa. Tämä näkyy siinä, että kotiverkossani on nyt 7-10 verkkoa. Osaan pääsee sisäverkosta (intranet), osaan pääsee kiinni vain koneilta, jotka ovat kiinni kahdessa eri verkossa ja sitten on yksi erikoisverkko, joka ei lähtökohtaisesti ole kiinni missään muussa verkossa.

Tässä on ensivedokseni siitä miltä verkkoni näyttävät. En ole 100% tyytyväinen tähän, sillä tämä ei välitä kunnolla tietoa siitä miten reititykset menevät, mutta tämä lienee hyvä alku. (psst, klikkaa kuvaa nähdäksesi se isompana) Osa työasemista on kuvattu virtuaalisina, sillä ne ovat virtuaalisia. Suurin osa servereistä on virtuaalisia, mutta en tässä vaiheessa lähtenyt metsästämään niille omaa ikonia. Käytännössä vain intranetissä ja MökkiLAN-verkossa on fyysisiä koneita.

Leivo Network 2.0

Iso tiedosto äkkiä jakoon kaverille

Tuli vastaan tilanne missä minun piti jakaa iso tiedosto kaverille. Tiedosto on sen verta kookas, että pikaratkaisu “tuuppaa se Dropboxiin” ei tullut kyseeseen. Sitä paitsi tälläisessä ratkaisussa se tiedosto siirrettäisiin kahdesti. Ensin minun toimesta pilveen ja sitten kaverin toimesta hänen koneelle. Moinen on tehotonta.

Seuraava vaihtoehto: “tuuppaa se omalle julkiselle serverille”. Ihan hyvä vaihtoehto, olen tehnyt tätä aikaisemmin, mutta jälleen kerran kyseessä on tehoton operaatio.

Seuraava vaihtoehto :”jaa se suoraan kotoa”. Nyt tehokkuus on kohdallaan ja toinen talon nettiyhteyksistä voidaan pyhittää tälle operaatiolle, jolloin oma netin käyttö ei kärsi tästä. Kotona on palvelinta pieni verkko täynnä, joten jollain niistä voi äkkiseltään jakaa tiedoston. Web serverillä bitti jakoon, helppoa, hauskaa, ei välitä mikä laite kaverillla on tiedostonsiirtoa varten! Lighttpd on tämän hetken web serverialustani. Siispä hommiin.

Lighttpd vhost

Ensinnäkin, kyseinen palvelin tarjoaa kotiverkon “intranet-sivustoa”, joten sinne piti tehdä vhost.eri porttiin, jotta kotiliikenne ei häiriinny. conf.d -hakemistoon uusi tiedosto fileshare.conf ja sisällöksi

$SERVER["socket"] == "0.0.0.0:500" {
  server.document-root = "/mnt/DATA/fileshare"
  dir-listing.activate = "enable"
}

Hakemistolistaus sallittu, asialle pyhitetty hakemisto. Kuunnellaan portissa 500, jotta a) muut ei löydä serveri perusskannauksilla b) omat HTTPS konffikset ei mene sekaisin.

En tietenkään halua, että kuka tahansa tuonne pääsee, jos vaikka joku vahingossa tuon löytää, joten salasanasuojaus.

Lighttpd salasanasuojaus

Meidän pitää ladata laajennuksia ja tehdä vähän määrittelyjä. Käsin tehdään, joten 05-auth.conf luoden.

server.modules  += ( "mod_auth" )
auth.backend = "plain"
auth.backend.plain.userfile = "/etc/lighttpd/lighttpdpassword"

Universaali käyttäjienahallinta AD:n on vielä työn alla – rankasti, joten yksinkertainen tiedosto tarvitaan käyttäjiä varten. Tiedostoon pitää lisätä käyttäjät, selkokielisenä seuraavanlaisesti

käyttäjä:salasana

Ylimääräiset oikeudet pois tiedostosta

chmod 640 /etc/lighttpd/lighttpdpassword

ja sitten korjataan hieman tuota fileshare.conf tiedostoa

$SERVER["socket"] == "0.0.0.0:500" {
  server.document-root = "/mnt/DATA/fileshare"
  dir-listing.activate = "enable"
  auth.require = ( "/" =>
    (
      "method" => "basic",
      "realm" => "Password protected area",
      "require" => "user=käyttäjä"
    )
  ) # auth require
}

Ja näin, nyt olin jo useita sekuntteja tyytyväinen ratkaisuuni. Sitten tajusin, että eihän tuolla käyttäjätunnuksella ja salasanalla tee mitään ilman HTTPS yhteyttä! SSL pitää virittää paikalleen.

Lighttpd SSL

Onneksi SSL on helppoa ja varmenteet pala kakkua. Rykäisin omasta CA:sta pihalle 3 vuoden SSL varmenteen ja muokkasin fileshare.conf:n olemaan seuraavanlainen

$SERVER["socket"] == "0.0.0.0:500" {
  server.document-root = "/mnt/DATA/fileshare"
  dir-listing.activate = "enable"
  auth.require = ( "/" =>
    (
      "method" => "basic",
      "realm" => "Password protected area",
      "require" => "user=käyttäjä"
    )
  ) # auth require
  # SSL part
  ssl.engine  = "enable"
  ssl.pemfile = "/etc/lighttpd/public.crt"
  ssl.ca-file = "/etc/lighttpd/ca.pem"
}

Näin. Muistetaan, että varmennetiedostoista poistetaan ylimääräiset oikat myös. Huomioidaan että oman varmenteen varmennetiedoston rakenne on <varmenne><avain> ja CA varmenteiden varmennetiedoston rakenne on <sub CA><root CA>.

Nyt vain tuntia myöhemmin meillä on web serverin runkokonffis millä voidaan jakaa turvallisesti kavereille bittiä kun tarve tulee. Sitten tajusin, että voin tehdä tämän vielä paremmin. Voin korjata SSL asetukset kuntoon samantein kun tälläistä nyplään. On hyvä kotiservereilläkin välttää CRIME ja BEAST hyökkäykset ja kukapa ei haluaisi täydellistä taaksepäin suojaavaa salausta?

Onneksi tämä työ oli tehty minun puolesta jo etukäteen, joten pikagooglaus vie minut tälläiselle sivulle. Läppästään nämä omaan konffikseen ja rock and roll!

Lighttpd SSL done right

Lopullinen konfiguraatiotiedosto on siis

$SERVER["socket"] == "0.0.0.0:500" {
  server.document-root = "/mnt/DATA/fileshare"
  dir-listing.activate = "enable"
  auth.require = ( "/" =>
    (
       "method" => "basic",
      "realm" => "Password protected area",
      "require" => "user=käyttäjä"
    )
  ) # auth require
  # SSL part
  ssl.engine  = "enable"
  ssl.pemfile = "/etc/lighttpd/public.crt"
  ssl.ca-file = "/etc/lighttpd/ca.pem"
  ssl.use-sslv2 = "disable"
  ssl.use-sslv3 = "disable"
  ssl.use-compression = "disable"
  ssl.honor-cipher-order = "enable"
  ssl.cipher-list = "AES256+EECDH:AES256+EDH"
}

Huomaattehan, että ssl.cipher-list on tiukka, vanhat laitteet ei vältsisti toimi tämän kanssa. Sitten enää puhkotaan reijät pariin reitittimeen ja homma rock and roll! Näin on serveripuoli laitettu kuntoon. Sitten se viimeinen askel on toimittaa salasanat ja tunnus ystävälle.

Kotitunnusten toimittaminen

Ensimmäinen vaihtoehto, luonnollisesti, olisi salattu sähköposti, mutta sitä harvempi harrastaa joten tieto pitää toimittaa hajautettua kanavaa pitkin, jotta sähköpostin salakuuntelijat ei saa selville miten sinne päästään.

SMS: salasana
email: osoite

ja etukäteen sovittu käyttäjätunnus 🙂 tai sitten kaveri kyselee perään jos ei tiedä.

VMware ESXi:n asennus kun 4 GB ei riitä

Tarkoitukseni on rakentaa yhdestä pöytäkoneesta ESXi virtualisointialusta, jossa välitän virtuaalikoneelle näytönohjaimen. Tarvitsen NVIDIA:n näytönohjaimia tiettyihin CUDA operaatioihin (hash:n laskeminen). Haluan säilyttää koneen normaalin käyttötarkoituksen, joten ESX asennetaan 2 GB USB-tikulle (tiukka minimi on muuten 1GB).

Kyseessä on vanha kone, jossa on 4GB muistia, ESXi 5.5:n minimivaatimusten mukaisesti. Vaan kun asennusohjelma on päässyt pitkälle, se ilmoittaa että

RAM

No perse! Mites tämä korjataan? Muuttamalla ESX:n vaatimuksia, seuraten tämän tyypin ohjeita: http://simon-simonnaes.blogspot.fi/2012/09/installing-esxi-5-on-less-than-2gb-ram.html

Tarkka tiedoston nimi 5.5:ssa on

upgrade_precheck.py
oikea rivi muuttaa on MEM_MIN_SIZE (4 * 1024) mitään –32 osuutta ei enää ole. Tästä aiheutui se minun ongelmani :-). Nyt on 2 GB USB-tikulla VMware ESXi 5.5 valmiina jatkotestejä varten. Nyt vain levytilaa sille ja homma on OK.

Virtualisointia Hyper-V:llä

Päivittäin leikin virtualisonitialustojen kanssa, joten ajattelin antaa Microsoftin Hyper-V:lle uuden mahdollisuuden. Edelliset yritykset alustan kanssa on mennyt metsään ja lujaa, mutta tällä kertaa ratkaisin palaset.

Voin sanoa, että alusta ei ole asennuksen suhteen lähelläkään VMWaren ESXi:tä, mutta kun sen saa pelittämään perushommat vaikuttavat yhtä helpolta. Tässä noottini miten yksittäinen laite saadaan Hyper-V alustaksi ja hallinta siihen kasaan:

Vaatimukset

  • Windows 8.1 työsema
  • Hyper-V asennusmedia
  • Ylimääräinen työasema, joka on Windows Server 2012 R2 yhteensopiva (64-bittiä, virtualisonti yms)

Asennus

Softan asennus on boottaa medialta ja jyrää levy. Tässä ei ole mitään kummallista. Se seuraava vaihe, tästä jotenkin hyödyllisen serverin saaminen on se varsinainen temppu.

Hyper-V:n Konfigurointi

  1. Aseta serverin nimi, aika, muut yleisasetukset kuntoon sikäli ne ovat pielessä
  2. Lisää paikallinen administrator käyttäjä, jollain kivalla salasanalla
  3. Salli etähallinta (helpottaa tulevaa copy-paste temppuilua) – Enable Remote Desktop
    • Miina nro 1, tämähän ei ole palomuurissa auki, joten se pitää erikseen sallia
      • Avaa cmd, kirjoita “powershell”
      • powershellissä
        • Enable-NetFirewallRule -DisplayGroup “Remote Desktop”
  4. Ota etäyhteys koneeseen
  5. Salli koneen varsinainen etähallinta (en ole vielä tarkistanut mitä näistä ei ehdottomasti tarvitse ajaa)
    1. avaa cmd, kirjoita “powershell”
    2. Powershellissä:
      • Enable-NetFirewallRule -DisplayGroup “Windows Remote Management”
      • Enable-NetFirewallRule -DisplayGroup “Remote Event Log Management”
      • Enable-NetFirewallRule -DisplayGroup “Remote Volume Management”
      • Set-Service VDS -StartupType Automatic
  6. Anna reboottia serverille.

Työaseman konfigurointi

  1. Hallintatyökalut tulee Windows 8.1:n mukana, ne pitää vain asentaa. Lisää Windowsin ominaisuus “Hyper-V Management tools”
  2. Miina nro 2, Hallintajärjestelmässä ei oe mahdollisuutta syöttää käyttäjätunnuksia, vaan yhteys muodostetaan tämän hetken käyttäjällä. Jos nykyinen käyttäjäsi ei täsmää serverin käyttäjään vaihtoehtoja on 2
    1. Muuta serverin käyttäjä identtiseksi
    2. Lisää omalle työasemalle sama käyttäjä kuin työasemalla
  3. Miina nro 3, hosts filu. Lisää serverin tiedot host filuun, muuten homma saattaa laueta virtuaalilevyjä lisätessä …
  4. Sikäli jouduit luomaan paikallisen käyttäjän, jolla ajaa Hyper-V Management ohjelmaa, sille kannattaa tehdä pikakuvake, jossa sisältönä on :
    • C:\Windows\System32\runas.exe /savecred /user:<käyttäjänimi> “mmc virtmgmt.msc”
  5. Miina nro 4, jos tämän jälkeen tulee “access denied” –virhe, tulee koneen DCOM asetuksia muuttaa hieman…
    1. aja dcomcnfg.exe ohjelma win+r käskyllä
    2. Mene Component Services –> Computers, sitten oikeaa nappia “My Computer” ja “properties”
    3. Esiin tulevasta ikkunasta mene COM- security taskulle
    4. Klikkaa edit limits Access Permissions osuuden alla
    5. Lisää ANONYMOUS-tunnukselle “remote access” like so:clip_image001

Ja nyt homma toimii! Ei muuta kuin säätämään! Smile