Název: Ethernetové síťové připojení CCPU-34 Přispěvatel: petrm 11.02.2014, 11:43:07 CCPU-34 je osazena konektorem RJ-45 pro připojení ethernetové sítě 10/100 Mbit. Při komunikaci používá protokoly skupiny IP. Základním předpokladem pro komunikaci je tedy nastavení IP-adresy a souvisejících náležitostí. Toto nastavení centrála zjišťuje při svém startu ze souboru /etc/network/interfaces.
Rozhraní lo Na začátku souboru /etc/network/interfaces je nastavení softwarového rozhraní lo. Rozhraní lo nemá žádný fyzický konektor, jedná se pouze o vnitřní rozhraní systému, ale dá se využívat pro standardní síťovou komunikaci mezi procesy uvnitř centrály, tzn. i pro různé testovací účely. Rozhraní lo má IP-adresy 127/8, tj. 127.x.y.z, nejčastěji se používá adresa 127.0.0.1 (ta má i své doménové jméno localhost). Nastavení rozhraní lo zajišťují tyto řádky v /etc/network/interfaces Citace auto lo a není důvod je měnit.iface lo inet loopback Prověřit funkčnost rozhraní lo (a vlastně i síťového subsystému) lze jednoduše příkazem Kód: ping localhost Citace PING localhost (127.0.0.1): 56 data bytes (výpis se zastaví stisknutím CTRL+C).64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.332 ms 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.171 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.147 ms ... Rozhraní eth0 - pevná IP-adresa Již na začátku zmíněné fyzické rozhraní ("konektor") ethernetu se nazývá eth0. Jeho nejspolehlivější nastavení je takové, že mu v /etc/network/interfaces přidělíme pevnou (statickou) IP-adresu. Továrním nastavením je Citace auto eth0 . Toto nastavení znamená, že eth0 bude mít IP-adresu 192.168.222.29, IP-masku 255.255.255.0 a IP-adresa univerzální brány bude 192.168.222.252. Tyto konkrétní hodnoty je nutné nastavit vždy podle potřeb sítě, do které se centrála připojuje.iface eth0 inet static address 192.168.222.29 netmask 255.255.255.0 gateway 192.168.222.252 Rozhraní eth0 - přidělovaná IP-adresa Některé sítě jsou spravovány tak, že všechny IP-náležitosti přiděluje jednotlivým stanicím zvláštní server, tzv. server DHCP. Centrála v tom případě nemá v /etc/network/interfaces zapsanou přímo svou IP-adresu, ale pouze informaci, že si ji má od DHCP vyžádat. To se zajistí zápisem Citace auto eth0 . Adresu, masku i bránu pro eth0 tak po svém startu centrála získá od serveru DHCP.iface eth0 inet dhcp Doporučujeme, aby byl server DHCP nastaven tak, že bude centrále přidělovat vždy stejnou IP-adresu, jinak budou nastávat komplikace při připojování FREDa k centrále, při využívání webových služeb centrály apod., protože nebude známá aktuální adresa centrály. Další IP-adresy pro eth0 Rozhraní eth0 nemusí mít jen jednu IP-adresu, ale může jich mít více, podle potřeby. Nastavení dalších IP-adres je prakticky stejné, jako nastavení základní IP-adresy, jen se místo označení eth0 používají aliasy eth0:1, eth0:2 atd., jen ne alias eth0:99, protože ten používá program Starter_CCPU34 při aktivaci nouzové IP-adresy. Zápis v souboru /etc/network/interfaces tedy může vypadat např. takto pro další statickou adresu Citace auto eth0:1 (nevyplňuje se IP-adresa brány), nebo takto pro další adresu z DHCPiface eth0:1 inet static address 10.0.0.29 netmask 255.255.255.0 Citace auto eth0:2 (kdyby ovšem už hlavní adresa byla přidělena z DHCP a bylo by v serveru nastaveno přidělování stále stejné adresy pro centrálu, je otázkou, jak by se server DHCP zachoval při žádosti o další adresu).iface eth0:2 inet dhcp Nastavení statických a přidělovaných adres lze kombinovat, takže je možné např. hlavní adresu dostat od DHCP a kromě toho mít třeba pro servisní účely zadanou (jako druhou adresu) pevnou adresu z jiného privátního rozsahu, než jaký používá připojená síť. Nastavení DNS Aby mohla centrála pracovat i s doménovými jmény (např. elsaco.cz), ne jen s IPadresami, je nutné jí nastavit spojení k serveru DNS. Seznam serverů DNS je v souboru /etc/resolv.conf, zapisuje se ve formátu "nameserver IPadresaServeruDNS", každý server se uvede na samostatný řádek. Příklad: Citace nameserver 31.31.78.39 .nameserver 5.9.49.12 Je vhodné zadávat servery DNS buď z podnikové sítě (IPadresy sdělí správce sítě) nebo od poskytovatele internetu. Virtuální privátní sítě (VPN) Virtuální privátní síť je způsob připojení vzdálené stanicei (klienta) k domovské počítačové síti. Hlavní předností VPN je, že vytváří pro běžnou komunikaci dojem, jako by vzdálený klient nebyl kdesi pryč, ale jako by byl připojen přímo do místní domovské sítě. Vzájemná komunikace v rámci VPN pak už vypadá stejně, jako by (vzdálená) stanice ležela jen na vedlejším stole. Technické pozadí VPN spočívá v tom, že vzdálený klient naváže přes internet spojení se serverem VPN v domovské síti a oba stroje si pak mezi sebou vytvoří chráněný (šifrovaný) komunikační tunel. Tímto tunelem pak automaticky probíhá obousměrná komunikace mezi vzdálenou stanicí a stanicemi v domovské síti. Ze způsobu navázání komunikačního tunelu je zřejmé, že server VPN v domovské stanici musí být z internetu přístupný prostřednictvím známé (pevné) veřejné IP-adresy. Virtuální privátní síť PPTP Jednou z implementací VPN je PPTP. Ke zprovoznění klientské části PPTP v centrále je potřeba znát: Citace $OznačeníVPN - to si vymyslíte, nějaké jednoslovné označení (znak "$" se nikde neuvádí, je v tomto návodu použit jen pro snadné odlišení nastavované položky od dalších parametrů), v $OznačeníVPN a $Uživateli raději nepoužívat písmena s háčky a čárkami ani mezery.$Server - veřejná IP-adresa nebo doménový název serveru VPN domovské sítě, sdělí správce serveru VPN $Uživatel - přihlašovací jméno k serveru VPN, sdělí správce serveru VPN $Heslo - přihlašovací heslo k serveru VPN, sdělí správce serveru VPN $IPmístnísítě - privátní IP-adresa domovské sítě ve tvaru typu 192.168.222.0/24, sdělí správce serveru VPN Automatické vytvoření VPN zajistí v souboru /etc/network/interfaces zápis Citace auto tunnel , tedy konkrétně např.iface tunnel inet ppp provider $OznačeníVPN Citace auto tunnel . Po vytvoření tunelu (a připojení k domovské síti) se v centrále objeví další síťové rozhraní ppp0 (případně ppp1 atd.) s odpovídající IP-adresou, viz dále.iface tunnel inet ppp provider VPNelsaco Aby ale správný tunel VPN mohl vzniknout, je také nutné vytvořit soubor s parametry tunelu nazvaný /etc/ppp/peers/$OznaceniVPN, ve vzorovém příkladu tedy /etc/ppp/peers/VPNelsaco. Tento soubor obsahuje Citace pty "pptp $Server --nolaunchpppd" , tedy konkrétně např.name $Uživatel remotename PPTP require-mppe-128 file /etc/ppp/options.pptp ipparam $OznaceniVPN persist Citace pty "pptp 83.167.244.201 --nolaunchpppd" . Parametr persist zajistí opakované navázání VPN, kdyby došlo k přerušení spojení.name CCPU34 remotename PPTP require-mppe-128 file /etc/ppp/options.pptp ipparam VPNelsaco persist Máme už popsáno zadání parametrů tunelu, kde je uveden i $Uživatel, kterým se centrála bude přihlašovat. Pro navázání spojení je ale nutné ještě ověřit uživatele heslem. Odpovídající heslo se zapíše do suboru /etc/ppp/chap-secrets řádkem Citace $Uživatel PPTP $Heslo * , tedy konkrétně např.Citace CCPU34 PPTP nejtajnejsiheslo * . Obsahuje-li heslo nestandardní znaky, mělo by být uzavřeno v uvozovkách.Je-li v /etc/ppp/peers/$OznaceniVPN uveden parametr persist (automatické obnovování VPN po přerušení spojení), musí se ještě zajistit automatické nastavení routování. K tomu je potřeba vytvořit spustitelný soubor (skript) v adresáři /etc/ppp/if-up.d. Na názvu nezáleží, tak vytvořte např. /etc/ppp/if-up.d/VPN a doplňte mu příznak spustitelnosti. Skript bude obsahovat Citace #!/bin/sh , tedy konkrétně např.if [ "$PPP_IPPARAM" = "$OznaceniVPN" ]; then /sbin/route add -net $IPmístnísítě gw $PPP_REMOTE dev $IFNAME fi Citace #!/bin/sh .if [ "$PPP_IPPARAM" = "VPNelsaco" ]; then /sbin/route add -net 192.168.222.0/24 gw $PPP_REMOTE dev $IFNAME fi Hotovo. Uvedená nastavení by měla po startu centrály zajistit navázání funkční VPN PPTP s domovskou sítí a případně ji obnovit po přerušení spojení. Pozn.: Dbejte na to, aby každý z uvedených editovaných souborů končil prázdným řádkem, tzn. i poslední řádek textu musí být potvrzen klávesou ENTER. Správce serveru VPN by měl zajistit, aby vzdálená centrála vždy dostala stejnou IP-adresu (ze stejného důvodu, jako při přidělování adresy od serveru DHCP). Virtuální privátní síť OpenVPN - varianta se statickým klíčem Další z implementací VPN je OpenVPN. Ta má několik možností nastavení, zde je popsána varianta se statickým klíčem a komunikací prostřednictvím UDP na portu 1194. Ke zprovoznění klientské části OpenVPN v centrále je potřeba znát, resp. sehnat: Citace $OznačeníVPN - to si vymyslíte, nějaké jednoslovné označení (znak "$" se nikde neuvádí, je v tomto návodu použit jen pro snadné odlišení nastavované položky od dalších parametrů), v $OznačeníVPN raději nepoužívat písmena s háčky a čárkami ani mezery.$Server - veřejná IP-adresa nebo doménový název serveru VPN domovské sítě, sdělí správce serveru VPN $Klíč - soubor statického klíče pro šifrování komunikace, poskytne správce serveru VPN $IPklientaVPN - privátní IP-adresa klienta v síti VPN ve tvaru typu 10.9.8.2, sdělí správce serveru VPN $IPmaskaVPN - síťová maska VPN ve tvaru typu 255.255.255.0, sdělí správce serveru VPN $IPserveruVPN - privátní IP-adresa serveru v síti VPN ve tvaru typu 10.9.8.1, sdělí správce serveru VPN Automatické vytvoření VPN zajistí v souboru /etc/network/interfaces zápis Citace auto tuntap , tedy konkrétně např.iface tuntap inet manual openvpn $OznačeníVPN Citace auto tuntap . Po vytvoření tunelu (a připojení k domovské síti) se v centrále objeví další síťové rozhraní tuntap s odpovídající IP-adresou, viz dále.iface tuntap inet manual openvpn OVPNelsaco Aby ale správný tunel VPN mohl vzniknout, je také nutné vytvořit soubor s parametry tunelu nazvaný /etc/openvpn/$OznaceniVPN.conf, ve vzorovém příkladu tedy /etc/openvpn/OVPNelsaco.conf. Tento soubor obsahuje na každém řádku jeden parametr Citace remote $Server , tedy konkrétně např.dev tuntap dev-type tap ifconfig $IPklientaVPN $IPmaskaVPN secret /etc/openvpn/$Klíč ping 60 ping-restart 0 Citace remote 83.167.244.201 . Nakonec je potřeba do adresáře /etc/openvpn umístit soubor s $Klíčem, název souboru musí souhlasit s hodnotou parametru secret v souboru /etc/openvpn/$OznaceniVPN.conf. Měli byste se přesvědčit, že soubor s klíčem patří uživateli "root" a skupině "root" a že práva k souboru pro čtení i zápis má jen vlastník.dev tuntap dev-type tap ifconfig 10.9.8.2 255.255.255.0 secret /etc/openvpn/static.key ping 60 ping-restart 0 A to je vše. Uvedená nastavení by měla po startu centrály zajistit navázání funkční VPN OpenVPN s domovským serverem. Spojení by se mělo po případném přerušení automaticky obnovovat. Kromě komunikace se serverem bude probíhat veškerá ostatní komunikace (NTP, DNS, ...) původním způsobem, tzn. mimo VPN. Upozornění: Vzorový příklad konfiguračního souboru v centrále má "neplatnou" koncovku "conf_", aby se nespouštěl. Varianta se zařízením typu tun - s linuxovým serverem Výše popsané nastavení používá virtuální síťové zařízení typu tap. Tento způsob lze použít pro windowsový i linuxový (je-li tak nastaven) server. Při spojení s linuxovým serverem lze používat i o něco výhodnější spojení prostřednictvím zařízení typu tun; rozdíl tap/tun je popsán níže u popisu parametru dev-type. Změna se v centrále zajistí úpravou řádků dev-type a ifconfig v souboru /etc/openvpn/$OznaceniVPN.conf, soubor potom obsahuje Citace remote $Server , tedy konkrétně např.dev tuntap dev-type tun ifconfig $IPklientaVPN $IPserveruVPN secret /etc/openvpn/$Klíč ping 60 ping-restart 0 Citace remote 83.167.244.201 .dev tuntap dev-type tun ifconfig 10.9.8.2 10.9.8.1 secret /etc/openvpn/static.key ping 60 ping-restart 0 Pozn.: Dbejte na to, aby každý z uvedených editovaných souborů končil prázdným řádkem, tzn. i poslední řádek textu musí být potvrzen klávesou ENTER. Některé (další) parametry použitelné v souboru /etc/openvpn/$OznaceniVPN.conf: remote vzdalena_stanice [port] [protokol]: vzdalena_stanice je adresa nebo doménové jméno protistrany (serveru/klienta) port je TCP/UDP port protokol je "tcp" nebo "udp" proto protokol: protokol je udp, tcp-client, nebo tcp-server connect-retry doba_sekund: jen pro tcp-client, po chybě počká nastavený počet vteřin (normáně 5) a pak zkusí znovu connect-timeout doba_sekund: jen pro tcp-client, nastavení timeoutu pro komunikaci (normálně 10) dev tunX | tapX | null: název síťového rozhraní, viz také "dev-type" dev-type tun | tap: určuje typ rozhraní; tun zapouzdřuje IPv4 nebo IPv6 a vytváří spojení peer-to-peer, tap zapouzdřuje Ethernet 802.3; obě strany VPN musejí používat stejný typ rozhraní ifconfig A B: A je IP-adresa lokálního konce VPN B je pro tun IP-adresa VPN protistrany, pro tap maska sítě VPN route network/IP [netmask] [gateway] [metric]: po sestavení spojení přidá toto směrování do routovací tabulky ping doba_sekund: pošle ping protistraně, pokud se určenou dobu nekomunikovalo; na ping z OpenVPN se nevrací odpověď, narozdíl od normálního pingu ping-restart doba_sekund: nepřišla-li žádná komunikace od protistrany po určenou dobu, OpenVPN se restartne, hodnota 0 tuto funkci vypne; vhodné např. při použití dynamických doménových jmen Stručné pokyny pro linuxový server OpenVPN se nainstaluje z repozitáře distribuce, nebo z webu https://openvpn.net/index.php/open-source/downloads.html. Nastavení linuxového serveru OpenVPN je prakticky stejné, jako u klienta, jen soubor /etc/openvpn/$OznaceniVPN.conf obsahuje v parametru remote adresu klienta, případně může remote chybět. Parametr dev-type určuje opět typ zařízení/komunikace, může být tun, nebo tap. Klíč (pojmenovaný např. static.key) se vygeneruje po přepnutí do adresáře /etc/openvpn/ příkazem openvpn --genkey --secret static.key, tento klíč je nutné zkopírovat i do klienta. Stručné pokyny pro windowsový server OpenVPN se nainstaluje z webu https://openvpn.net/index.php/open-source/downloads.html. Nastavení windowsového serveru OpenVPN je velmi podobné klientu se zařízením tap. Vyplňuje se ale jenom konfigurační soubor C:\Program Files\openvpn\config\$OznaceniVPN.ovpn (ekvivalent linuxového souboru $OznaceniVPN.conf), který neobsahuje parametr remote, parametr dev-type je tap a cesta k souboru s klíčem v parametru secret se píše do uvozovek a se zdvojenými zpětnými lomítky, např. "C:\\Program Files\\OpenVPN\\config\\key.txt". Klíč se vytvoří programem Generate a static OpenVPN key z nabídky START >> Všechny programy >> OpenVPN >> Utilities a obvykle se nazývá key.txt, je nutné ho zkopírovat i do klienta. OpenVPN se spustí programem OpenVPN Gui z nabídky START >> Všechny programy >> OpenVPN, teprve tím se "připojí kabel" k připravenému síťovému zařízení založenému při instalaci OpenVPN. Virtuální privátní síť N2N N2N je jednoduchá a snadno konfigurovatelná privátní síť, je to obdoba kdysi oblíbené (hlavně hráči počítačových her) komerční sítě Hamachi. Skupina stanic, které mají být zapojeny do privátní sítě, se připojí k veřejnému serveru na určený port, každá stanice se přihlásí názvem sítě a heslem a zvolí si svou IPadresu a IPmasku v síti N2N. Všechny stanice použijí stejný název sítě i stejné heslo, ale každá svou unikátní IPadresu. Server IPadresy nepřiděluje ani nekontroluje, je starostí stanic, aby použily vhodné IPadresy a IPmasky. Stanice takto vytvořené skupiny pak mezi sebou mohou volně komunikovat, přestože ve skutečnosti mohou být za NATy. Na serveru lze vytvořit různé takto definované skupiny, ty se navzájem neovlivňují. Protože server nijak neověřuje jednotlivé stanice (název sítě i heslo jsou sdílené a určují jen příslušnost ke skupině), považujte zapojení do sítě N2N za připojení do veřejného prostoru, hlavně s ohledem na zabezpečení stanic. Centrály CCPU-3X mají, počínaje firmwarem 13.12.2019, v adresáři "root" skripty pro snadné zapojení a odpojení do/z připravené sítě N2N Elsaca. Pro připojení svého PC použijte v případě Linuxu klienta N2N ze své distribuce, v případě Windows klienta "N2N gui". Parametry připojení zjistíte ze skriptů při připojování centrál. |