Síťová infrastruktura pro domácí prostředí a malé firmy (SOHO) – síťové služby 2

SOHO - NTPSprávně pracující místní síť umožňuje bezproblémový provoz všech zařízení a jejich připojení ke zdrojům v síti Internet. Pokud ale nepoužijeme dalších sofistikovaných služeb, musíme každé z těchto zařízení ručně nastavit. Abychom tuto nutnost co nejvíce zautomatizovali, implementujeme sadu dalších aplikací, které se o vše postarají jednoduše a efektivně. V našem příkladu přidáme služby pro distribuci přesného času pomocí NTP, webový server, proxy server a přidělování IP adres pomocí DHCP.

Přesný čas pomocí NTP

Synchronizovaný přesný čas je jedním z nejdůležitějších předpokladů pro správné fungování systému. Zejména v případě využití šifrovacích algoritmů (pro SSL, DNSSEC, atd.) může jeho posun oproti časovému normálu vyústit v nepoužitelnost služeb.

Systém NTP (Network Time Protocol) využívá infrastrukturu serverů umístěných v internetu, které získávají přesný čas z atomových hodin a GPS. Tento přesný čas je dále distribuován a je možné jím synchronizovat veškerá zařízení, s patřičnou podporou, umístěná v internetu. Těmi mohou být počítače, chytré telefony, televizory, domácí kina, atp., ale i výrobní linky, telekomunikační systémy, … Zkrátka vše, kde je přesný čas klíčový, a pořízení rubidiového kmitočtového standardu by bylo finančně náročné.

V naší infrastruktuře bude přesný čas z internetu získáván pouze servery srv-01, srv-02, net-01 a net-02. Ostatní zařízení budou pouze klienty místních serverů (net-01 a net-02).

Použité softwarové balíčky: ntp

Servery srv-01, srv-02, net-01 a net-02

V této části bude popsáno nastavení a spuštění služby NTP a úprava DNS serveru.

Synchronizace času

Nastavení služby

Nastavení služby NTP se provádí změnou souboru /etc/ntp.conf. V případě serverů srv-01 a srv-02 nebudeme žádné úpravy provádět.
V nastavení místních serverů net-01 a net-02 změníme řádek restrict default kod limited nomodify nopeer noquery notrap na restrict default nomodify nopeer noquery a přidáme:

Definice serveru 127.127.1.1 slouží pro případ, že nebudou dostupné NTP servery v internetu. V tom případě bude jako zdroj času pro službu NTP využíváno interních hodin serveru. Parametr broadcast určuje pravidelné vysílání časové informace do naší sítě. Je potřeba zadat správnou broadcast adresu.

Spuštění služby

Spustíme a povolíme službu ntpd:

Povolíme synchronizaci času v systému:

DNS záznamy

Na serverech net-01 a net-02 můžeme přidat do místní DNS zóny záznam ntp (příklad se vztahuje k serveru net-01, v případě přidání záznamu na server net-02 je nutné změnit název domény a serveru):

Jelikož je zóna praha.my-own-domain.net nastaven jako dynamická (parametr allow-update, nemůžeme přidání řádku řešit přímou úpravou zónového souboru /var/named/pri/praha.my-own-domain.net).

Zónu local.my-own-domain.net upravíme ručně, pro Prahu přidáme:

Provedeme načtení změn v zónovém souboru:

Test služby

Ověříme otevřené síťové porty pro službu:

Stav systémových volání vztahující se k NTP:

Vypíšeme seznam NTP serverů, se kterými se provádí synchronizace:

Zjistíme stav synchronizace času v systému:

Ověření DNS záznamu:

Firewall

Nebudeme nastavovat. U serverů srv-01 a srv-02 je připojení k portu 123/udp zakázáno ve výchozím stavu, servery net-01 a net-02 nemají firewall spuštěn.
Pokud budeme chtít zavést restrikce na úrovni služby ntpd, provedem úpravu souboru /etc/ntp.conf.

Internetové brány gw-01, gw-02 a ostatní zařízení

Pro další servery a zařízení v síti, které mají pevnou IP adresu můžeme ručně nastavit NTP. V případě automatického nastavení můžeme využít DHCP serveru (bude popsán v samostatné kapitole).

Nastavení služby

Nastavení služby NTP se provádí opět změnou souboru /etc/ntp.conf.
Do konfiguračního souboru přidáme řádky (platí pro obě lokality):

Spuštění služby

Spustíme a povolíme službu ntpd:

Povolíme synchronizaci času v systému:

Webový server

Server pro zprostředkování obsahu využívající protokoly HTTP a HTTPS bude v naší infrastruktuře sloužit pro distribuování specifických nastavení klientům a zobrazení statistik o využití systémů.

Na serverech srv-01 a srv-02 bude zpracovávat požadavky pouze z VPN. V případě net-01, net-02, gw-01 a gw-02 z místních sítí.

Použité softwarové balíčky: nginx php-fpm

Nastavení a spuštění PHP-FPM

(na všech serverech: srv-01, srv-02, net-01, net-02, gw-01, gw-02)

PHP-FPM je implementace FastCGI programovacího jazyka PHP.
Konfigurace je umístěna v adresáři /etc/php/.

Spustíme a povolíme službu php-fpm:

Webový server nginx

Nginx je jednoduchý a nenáročný webový server. Konfigurace je uložena v souboru /etc/nginx/nginx.conf.

Centrální servery srv-01 a srv-02

Obsah konfiguračního souboru nahradíme následujícím:

U serveru srv-02 musíme IP adresu VPN rozhraní nastavit dle aktuální.

Vytvoříme dočasný soubor /srv/http/index.php s obsahem:

Službu spustíme a povolíme:

Nastavíme firewall. Do souboru /etc/nftables.conf přidáme k pravidlu povolující službu SSH další řádky:

Provedeme restart firewallu:

Ověříme, zda služba naslouchá na správné kombinaci ip:port:

Zkusíme se připojit a zobrazit obsah (např. z net-01):

Místní servery net-01 a net-02

Obsah konfiguračního souboru nahradíme následujícím:

Jak je možné z nastavení poznat, webový obsah je umístěn v adresáři /srv/http/. Řádky začínající location /proxy.pac a location /wpad.dat definují umístění souborů obsahující nastavení autokonfigurace proxy (služba proxy bude popsána dále). Tyto soubory jsou načítány operačními systémy a webovými prohlížeči, a jejich obsahem je řízeno připojování k síťovým zdrojům.

Pro budoucí proxy vytvoříme soubor /srv/http/proxy.php:

Konfigurace proxy je platná pro lokalitu Praha. Pro Bern je nutné ji upravit.

Vytvoříme dočasný soubor /srv/http/index.php s obsahem:

Službu spustíme a povolíme:

Ověříme, zda služba naslouchá na správné kombinaci ip:port:

Internetové brány gw-01 a gw-02

Obsah konfiguračního souboru nahradíme následujícím:

Vytvoříme dočasný soubor /srv/http/index.php s obsahem:

Službu spustíme a povolíme:

Logy lze nalézt v adresáři /var/log/nginx/.

Nastavíme firewall. Do souboru /etc/nftables.conf přidáme k pravidlu povolující službu SSH další řádky:

Provedeme restart firewallu:

Ověříme, zda služba naslouchá na správné kombinaci ip:port:

Proxy server

Služba proxy server bude v naší infrastruktuře složit pro urychlení komunikace a snížení využití přenosového pásma z internetu do místní sítě. Pokud to bude možné, uloží již stažená data do prostoru na pevném disku a v případě opětovného požadavku na načtení již nebude obsah získáván z internetu, ale načten právě z onoho lokálního umístění. V případě nutnosti lze proxy nastavit takovým způsobem, že blokuje nevhodný internetový obsah. V naší infrastruktuře bude proxy server, squid, nasazen na místních serverech net-01 a net-02.

Použité softwarové balíčky: squid

Nastavení proxy serveru

Nastavení se provádí úpravou souboru /etc/squid/squid.conf. Jeho obsah nahradíme následujícím:

Parametr cache_dir určuje kromě umístění také velikost prostoru v MB, které může služba využít. V našem případě je to 4 GB (4096 MB). Je tedy nezbytně nutné, aby bylo potřebné volné místo k dispozici.

Spuštění a povolení služby

Před tím, než spustíme službu proxy server, musíme nechat vytvořit v adresáři daném volbou cache_dir příslušnou strukturu adresářů:

Nyní můžeme službu spustit a povolit:

Logy lze nalézt v adresáři /var/log/squid/.

DNS záznamy

Na serverech net-01 a net-02 přidáme do místní DNS zóny záznam potřebné záznamy (příklad se vztahuje k serveru net-01, v případě přidání záznamu na server net-02 je nutné změnit název domény a serveru):

Zónu local.my-own-domain.net upravíme ručně, pro Prahu přidáme:

Provedeme načtení změn v zónovém souboru:

Test služby

Ověříme otevřené síťové porty pro službu:

Ověříme některé DNS záznamy:

Z jiného serveru, např. gw-01, proxy vyzkoušíme:

Vše se zdá být v pořádku.

Nastavení klientů pro využití proxy serveru

SOHO - nastavení proxyNaše infrastruktura je připravena pro automatickou detekci nastavení proxy serveru klientskými zařízeními. Naše infrastruktura je připravena pro automatickou detekci nastavení proxy serveru klientskými zařízeními. Pokud máme s autokonfigurací problémy, můžeme v příslušném dialogu (nastavení proxy ve webovém prohlížeči) vyplnit název proxy serveru a port ručně (proxy.local.my-own-domain.net) nebo vložit URL adresu odkazující na skript http://proxy.local.my-own-domain.net/wpad.dat nebo http://proxy.local.my-own-domain.net/proxy.pac. Chceme-li použít proxy v linuxovém terminálu, vyexportujeme http_proxy=http://proxy.local.my-own-domain.net:3128. Některé operační systémy podporují nastavení proxy serveru pomocí DHCP.

Služba DHCP

Služba DHCP slouží k automatickému nastavení zařízení připojeného do počítačové sítě. Takovému zařízení může sdělit jeho IP adresu, směrování paketů, DNS servery, doménu, proxy server a mnoho dalšího.

Použité softwarové balíčky: dhcp

Nastavení služby DHCP

Konfigurační soubory jsou rozděleny pro IPv4 a IPv6. V našem případě se budeme zabývat opět pouze IPv4. Pro IPv4 je platným konfiguračním souborem /etc/dhcpd.conf. Původní obsah nahradíme novým:

Konfigurace je platná pouze pro lokalitu Praha. Pro lokalitu Bern musíme změnit IP adresy a názvy domén.
Kromě specifického nastavení proxy serveru, ntp a doménových jmen, je možné nalézt podporu zavádění operačních systémů technologií PXE (pouze pro systémy kompatibilní s i386+ a x86_64) a přípravu pro SMB (Samba).

Start a povolení služby

Seznam přidělovaných IP adres obsahuje soubor /var/lib/dhcp/dhcpd.leases.

Ověření funkce:
Do sítě přidáme nové zařízení s povolenou automatickou konfigurací přes DHCP, a ověříme, zda se nám vše nastavilo správně, nebo na serveru gw-01 provedeme:

Kontrola, zda služba naslouchá na portu 67/udp:

Pokračování…

Dalšími zprovozněnými službami jsou NTP server, webový server, proxy server a DHCP server.

Příště nastavíme službu TFTP, která bude poskytovat obrazy operačních systémů pro zavádění pomocí PXE, a přidáme sdílení souborů přes NFS (pro UNIX) a SMB (pro Windows).

Související

Pokud bychom chtěli na serveru srv-01 vytvořit reverzní websockets proxy server pro MQTT, můžeme využít popisu v článku Nastavení Mosquitto MQTT brokera s reverzním proxy serverem NGINX.

 

2 komentáře u „Síťová infrastruktura pro domácí prostředí a malé firmy (SOHO) – síťové služby 2

  1. Pingback: Přístup k místním síťovým službám přes anonymní síť TOR | brichacek.net

  2. Pingback: Jak se loví letadla aneb Přijímáme ADS-B | brichacek.net

Napsat komentář