{"id":3742,"date":"2022-09-17T01:39:36","date_gmt":"2022-09-16T22:39:36","guid":{"rendered":"https:\/\/xn--jyvskyl-7wae.hacklab.fi\/?post_type=wz_knowledgebase&#038;p=3742"},"modified":"2023-05-08T14:59:34","modified_gmt":"2023-05-08T11:59:34","slug":"kerhopalvelimen-yllapito","status":"publish","type":"wz_knowledgebase","link":"https:\/\/xn--jyvskyl-7wae.hacklab.fi\/en\/wikipage\/kerhopalvelimen-yllapito\/","title":{"rendered":"Kerhopalvelimen yll\u00e4pito"},"content":{"rendered":"<p>Kerhopalvelimella tarkoitetaan palvelinta nimet\u00e4\u00e4n <em>Mari<\/em>, joka sijaitsee kerhotilassa ja tarjoilee l\u00e4ht\u00f6kohtaisesti kerhotilassa tarvittavia palveluita. Sen osoite on <code class=\"\" data-line=\"\">lab.jkl.hacklab.fi<\/code> erotuksena <a href=\"https:\/\/xn--jyvskyl-7wae.hacklab.fi\/wikipage\/jonnen-yllapito\/\">Jonnesta<\/a>, jolla mm. yhdistyksen kotisivut ovat.<\/p>\n<p>Yll\u00e4pit\u00e4j\u00e4t:<\/p>\n<ul>\n<li>Kahvikello<\/li>\n<li>Zouppen<\/li>\n<li>jpa<\/li>\n<li>Maakuth<\/li>\n<\/ul>\n<h2>3D-tulostimen et\u00e4k\u00e4ytt\u00f6<\/h2>\n<p>Et\u00e4tulostaminen onnistuu Google-kirjautumisella, ja t\u00e4t\u00e4 varten k\u00e4ytt\u00e4j\u00e4t t\u00e4ytyy lis\u00e4t\u00e4 vouch-proxyn konffiin. Muokkaa tiedostoa <code class=\"\" data-line=\"\">~vouch\/vouch-proxy\/config\/config.yml<\/code> jonka j\u00e4lkeen <code class=\"\" data-line=\"\">systemctl restart vouch-proxy<\/code>.<\/p>\n<h2>Kiinte\u00e4t IP-osoitteet<\/h2>\n<p>L\u00e4hiverkon laitteille voi asettaa kiinteit\u00e4 IP-osoitteita. T\u00e4m\u00e4 on tarpeen erityisesti <em>palvelut<\/em>-verkossa, jossa on IP-osoitteesta riippuvia rajoituksia. Luonnollisesti jos tietokoneen MAC-osoite vaihtuu (esimerkiksi laiterikon yhteydess\u00e4), se t\u00e4ytyy p\u00e4ivitt\u00e4\u00e4 uudestaan.<\/p>\n<p>Muokka tiedostoa <code class=\"\" data-line=\"\">\/etc\/dhcp-static<\/code> jonka j\u00e4lkeen <code class=\"\" data-line=\"\">systemctl restart dnsmasq<\/code>.<\/p>\n<p>Huomaa, ett\u00e4 n\u00e4ist\u00e4 muodostetaan my\u00f6s l\u00e4hiverkon DNS-nimet (ymm\u00e4rr\u00e4t sekoilun kun katsot <code class=\"\" data-line=\"\">systemctl cat dnsmasq<\/code>).<\/p>\n<p>Dnsmasq:n vastik\u00e4\u00e4n antamat osoitteet l\u00f6ytyv\u00e4t tiedostosta <code class=\"\" data-line=\"\">\/var\/lib\/misc\/dnsmasq.leases<\/code><\/p>\n<h2>Verkkoty\u00f6asemat<\/h2>\n<p>Seuraavat verkkoboottaavat ty\u00f6asemat ovat k\u00e4yt\u00f6ss\u00e4:<\/p>\n<table>\n<tbody>\n<tr>\n<th>3d-tulostin<\/th>\n<td>Ajaa Octoprinti\u00e4, OBS:\u00e4\u00e4 ja sis\u00e4lt\u00e4\u00e4 yleisimm\u00e4t mallinnussovellukset ja PrusaSlicerin<\/td>\n<\/tr>\n<tr>\n<th>kuilu<\/th>\n<td>Hacklabin yhteisk\u00e4yt\u00f6ss\u00e4 oleva tietokone<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Verkkolevyn toteutus on NFS, jossa overlayfs, jossa squashfs on alempi ja ext4 ylempi tiedostoj\u00e4rjestelm\u00e4. Tarkoitus nopeuttaa levyoperaatioita pakatulla squashfs:ll\u00e4. Ei ole suurempaa syyt\u00e4 miksi k\u00e4ytet\u00e4\u00e4n NFS:\u00e4\u00e4 eik\u00e4 iSCSI:t\u00e4, paitsi ett\u00e4 tuli tehty\u00e4 n\u00e4in. Kernelit lataa <a href=\"https:\/\/ipxe.org\/\" target=\"_blank\" rel=\"noopener\">iPXE<\/a>, joka tarjoilee my\u00f6s hienon Hacklab-logon boottauksen yhteydess\u00e4.<\/p>\n<p>J\u00e4rjestelm\u00e4t p\u00e4ivitet\u00e4\u00e4n kerran y\u00f6ss\u00e4 ajastimella <code class=\"\" data-line=\"\">update_workstations.timer<\/code>. Homma hoituu k\u00e4ynnist\u00e4m\u00e4ll\u00e4 ty\u00f6asema qemulla virtuaalikoneeseen kerhopalvelimella. Skripteiss\u00e4 on alkeellinen (mutta luultavasti riitt\u00e4v\u00e4) semafori, jotta ty\u00f6asema ja virtuaalikone eiv\u00e4t voi olla samaan aikaan k\u00e4ynniss\u00e4.<\/p>\n<p>Ty\u00f6asemaa voi rassata virtuaalikoneessa palvelimella komennolla <code class=\"\" data-line=\"\">\/opt\/workstation\/interact<\/code>, esimerkiksi n\u00e4in: <code class=\"\" data-line=\"\">\/opt\/workstation\/interact 3d-tulostin<\/code>.<\/p>\n<h2>Unifi<\/h2>\n<p>Kerhotilassa sijaitsevien verkkolaitteiden <a href=\"https:\/\/unifi.jkl.hacklab.fi\/\">Unifi-verkonhallinta<\/a> py\u00f6rii qemun p\u00e4\u00e4ll\u00e4 t\u00e4ll\u00e4 koneella.<\/p>\n<h2>Virtuaalikoneruletti<\/h2>\n<p>J\u00e4senille on tarjottu Android-virtuaalikoneita WhatsApp-sovelluksen ajamiseen, jotta voivat k\u00e4ytt\u00e4\u00e4 Matrix-silta <a href=\"https:\/\/github.com\/tulir\/mautrix-whatsapp\" target=\"_blank\" rel=\"noopener\">mautrix-whatsappia<\/a>. Virtuaalikoneen t\u00e4ytyy olla yhteydess\u00e4 Metan servereihin kerran pariin viikkoon. Kerran y\u00f6ss\u00e4 kaikki WhatsApp-koneet k\u00e4ynnistet\u00e4\u00e4n vuorotellen k\u00e4yntiin ja kutakin ajetaan puolisen tuntia. T\u00e4st\u00e4 huolehtii ajastin <code class=\"\" data-line=\"\">android_rotator.timer<\/code>.<\/p>\n<h2>Pupuverkon solmu<\/h2>\n<p>Kerhotila on kiinni Pupuverkossa, jota yll\u00e4pidet\u00e4\u00e4n yhteisty\u00f6ss\u00e4 Keski-Suomen radioamat\u00f6\u00f6rit ry:n (OH6AD) kanssa. Kerhotilasta on radiolinkkiyhteys IT Ihmeelle, jossa py\u00f6rii virtuaalikoneemme <em>Jonne<\/em>. Pupuverkon kautta kulkee mm. puhelinliikenne puhelinkeskukseemme <a href=\"https:\/\/pbx.hacklab.fi\/\"><em>Katri Helena<\/em><\/a>. Lis\u00e4ksi Pupuverkko tarjoaa kerhon nettiyhteydelle varareitin.<\/p>\n<h2>Varmuuskopiointi<\/h2>\n<p>Palvelin varmuuskopioidaan k\u00e4ytt\u00e4en ajastinta <code class=\"\" data-line=\"\">remote-backup.timer<\/code> .\u00a0 Varmuuskopiot sijaitsevat fyysisesti Viitasaarella.<\/p>\n<p>Huom! Koko levy\u00e4 ei varmuuskopioida sellaisenaan. Varmuuskopioskripti <code class=\"\" data-line=\"\">\/root\/backup.sh<\/code> ottaa levyj\u00e4rjestelm\u00e4st\u00e4 snapshotit ja mounttaa ne varmuuskopioinninaikaiseen hakemistorakenteeseen. T\u00e4m\u00e4 on hyv\u00e4 tiedostaa, jos tekee varmuuskopioista palautuksia, ett\u00e4 osaa m\u00e4\u00e4ritell\u00e4 hakemistopolun oikein. Katso <code class=\"\" data-line=\"\">\/root\/restore.sh<\/code>.<\/p>\n<h2>Levyj\u00e4rjestelm\u00e4<\/h2>\n<p>Levyj\u00e4rjestelm\u00e4 koostuu 4 x 4 TB magneettisesta levyst\u00e4 jotka ovat Linuxin mdraid:lla RAID5-levypakassa. K\u00e4ytett\u00e4viss\u00e4 oleva kapasiteetti 12 TB. Levypakkaa kiihdytet\u00e4\u00e4n bcachella, jossa edess\u00e4 230 GB NVMe-levy. Levyj\u00e4rjestelm\u00e4ss\u00e4 LVM ja suurin osa osioista on btrfs-tiedostoj\u00e4rjestelm\u00e4ll\u00e4.<\/p>\n<p>Syy, miksi Oraclen ZFS ei ole k\u00e4yt\u00f6ss\u00e4, on ett\u00e4 se ei tule lisenssisyist\u00e4 Linuxin mukana. Olisi muuten kyll\u00e4 varmasti parempi ratkaisu. Toinen vaihtoehto, btrfs, ei ole ihmisten mielest\u00e4 viel\u00e4 riitt\u00e4v\u00e4n luotettava RAID-k\u00e4yt\u00f6ss\u00e4. Luovimme ep\u00e4t\u00e4ydellisen maailman ristiaallokossa.<\/p>\n<h2>Monitorointi<\/h2>\n<p><a href=\"https:\/\/net.pupu.li\/icingaweb2\/\">Jonnella on ajossa Icinga<\/a>, joka valvoo t\u00e4t\u00e4 konetta. Osa valvonnasta tapahtuu kolkuttelemalla konetta ulkopuolelta ja osa sis\u00e4puolelta k\u00e4ytt\u00e4en skripti\u00e4 <code class=\"\" data-line=\"\">~nagios\/shell<\/code>.<\/p>\n<h2>SMS-yll\u00e4pito<\/h2>\n<p>Kun SSH:lla ei p\u00e4\u00e4se sis\u00e4\u00e4n varsinaisesta eik\u00e4 varayhteydest\u00e4, voi yritt\u00e4\u00e4 saada yhteytt\u00e4 tekstiviestill\u00e4. Tekstiviestej\u00e4 kuuntelee <a href=\"https:\/\/www.kannel.org\/\" target=\"_blank\" rel=\"noopener\">Kannel<\/a>-sovellus. Palvelimessa on USB-liit\u00e4nt\u00e4inen 3G-mokkula, jossa prepaid-liittym\u00e4. Numero on tiedossa yll\u00e4pit\u00e4jill\u00e4. Lis\u00e4ksi komentojen ajamiseen tarvitsee Authenticator-sovelluksen, josta noudetaan tarvittava vaihtuva PIN. Komennot ovat seuraavat:<\/p>\n<table>\n<tbody>\n<tr>\n<th><code class=\"\" data-line=\"\">admin PIN internet<\/code><\/th>\n<td>Testaa internetin reitit<\/td>\n<\/tr>\n<tr>\n<th><code class=\"\" data-line=\"\">admin PIN uname<\/code><\/th>\n<td>Komennon <code class=\"\" data-line=\"\">uname -a<\/code> tuloste<\/td>\n<\/tr>\n<tr>\n<th><code class=\"\" data-line=\"\">admin PIN uptime<\/code><\/th>\n<td>Komennon <code class=\"\" data-line=\"\">uptime<\/code> tuloste<\/td>\n<\/tr>\n<tr>\n<th><code class=\"\" data-line=\"\">admin PIN reboot<\/code><\/th>\n<td>K\u00e4ynnist\u00e4 palvelin uudelleen<\/td>\n<\/tr>\n<tr>\n<th><code class=\"\" data-line=\"\">admin PIN network restart<\/code><\/th>\n<td>K\u00e4ynnist\u00e4 systemd-networkd uudelleen<\/td>\n<\/tr>\n<tr>\n<th><code class=\"\" data-line=\"\">admin PIN ovi<\/code><\/th>\n<td>Avaa kerhotilan ovet 30 sekunniksi<\/td>\n<\/tr>\n<tr>\n<th><code class=\"\" data-line=\"\">time<\/code><\/th>\n<td>Hae kellonaika. Ei tarvitse PIN-koodia.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Jos PIN-koodi ei kelpaa, k\u00e4yt\u00e4 <code class=\"\" data-line=\"\">time<\/code>-komentoa kellonajan tarkastamiseen. TOTP tarvitsee toimiakseen oikean kellonajan.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kerhopalvelimella tarkoitetaan palvelinta nimet\u00e4\u00e4n Mari, joka sijaitsee kerhotilassa ja tarjoilee l\u00e4ht\u00f6kohtaisesti kerhotilassa tarvittavia palveluita. Sen osoite on lab.jkl.hacklab.fi erotuksena Jonnesta, jolla mm. yhdistyksen kotisivut ovat. Yll\u00e4pit\u00e4j\u00e4t: Kahvikello Zouppen jpa Maakuth 3D-tulostimen et\u00e4k\u00e4ytt\u00f6 Et\u00e4tulostaminen onnistuu Google-kirjautumisella, ja t\u00e4t\u00e4 varten k\u00e4ytt\u00e4j\u00e4t t\u00e4ytyy lis\u00e4t\u00e4 vouch-proxyn konffiin. Muokkaa tiedostoa ~vouch\/vouch-proxy\/config\/config.yml jonka j\u00e4lkeen systemctl restart vouch-proxy. Kiinte\u00e4t IP-osoitteet L\u00e4hiverkon laitteille [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"wzkb_category":[39],"wzkb_tag":[],"class_list":["post-3742","wz_knowledgebase","type-wz_knowledgebase","status-publish","hentry","wzkb_category-infra"],"acf":[],"_links":{"self":[{"href":"https:\/\/xn--jyvskyl-7wae.hacklab.fi\/en\/wp-json\/wp\/v2\/wz_knowledgebase\/3742"}],"collection":[{"href":"https:\/\/xn--jyvskyl-7wae.hacklab.fi\/en\/wp-json\/wp\/v2\/wz_knowledgebase"}],"about":[{"href":"https:\/\/xn--jyvskyl-7wae.hacklab.fi\/en\/wp-json\/wp\/v2\/types\/wz_knowledgebase"}],"author":[{"embeddable":true,"href":"https:\/\/xn--jyvskyl-7wae.hacklab.fi\/en\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/xn--jyvskyl-7wae.hacklab.fi\/en\/wp-json\/wp\/v2\/comments?post=3742"}],"version-history":[{"count":35,"href":"https:\/\/xn--jyvskyl-7wae.hacklab.fi\/en\/wp-json\/wp\/v2\/wz_knowledgebase\/3742\/revisions"}],"predecessor-version":[{"id":3974,"href":"https:\/\/xn--jyvskyl-7wae.hacklab.fi\/en\/wp-json\/wp\/v2\/wz_knowledgebase\/3742\/revisions\/3974"}],"wp:attachment":[{"href":"https:\/\/xn--jyvskyl-7wae.hacklab.fi\/en\/wp-json\/wp\/v2\/media?parent=3742"}],"wp:term":[{"taxonomy":"wzkb_category","embeddable":true,"href":"https:\/\/xn--jyvskyl-7wae.hacklab.fi\/en\/wp-json\/wp\/v2\/wzkb_category?post=3742"},{"taxonomy":"wzkb_tag","embeddable":true,"href":"https:\/\/xn--jyvskyl-7wae.hacklab.fi\/en\/wp-json\/wp\/v2\/wzkb_tag?post=3742"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}