Občas přemýšlím, jak udělat něco prospěšného pro všeobecné blaho s pomocí nevyužitého výkonu mého virtuálního serveru. Když už to platím, ať to k něčemu je, že jo. Vlastní veřejný NTP server bude fajn.
V minulosti tu byly mé snahy stran podpory anonymizační sítě TOR, kdy jsem provozoval non-exit TOR node. Pro tuto činnost je ale lepší mít vyhrazený server, který k ničemu jinému není využit, protože provozování TORu může negativně ovlivnit reputaci vaší veřejné IP adresy. Pokud provozujete poštovní server a někdo začne vaši poštu odmítat na základě nějakého blacklistu, který sleduje aktivní TOR nody, jistě nebudete mít radost...
Dobře, TOR jsem dal na nějaký čas k ledu. Alespoň do doby, než pro něj seženu ideální levný vyhrazený virtuál. Jednoho adepta už mám. Dobře, co se nabízí dál? Při chvilce jsem rozjel mirror pro známého SSH a telnet klienta Putty - nevyžaduje mnoho místa na HDD ani žádnou obsluhu, vše je plně automatizováno. Takových mirrorů ale po světě je. A stejně tak třeba veřejných DNS, do toho se pouštět nebudu. O herním serveru ani nemluvě.
Až nedávno jsem narazil na projekt www.pool.ntp.org a ten mi učaroval. Jedná se o velký cluster časových (NTP) serverů rozmístěných po celém světě. Protokol NTP zná jistě každý správce serveru a většina z nich jej i nějak aktivně využívá pro synchronizaci času. V dávných dobách, kdy jsem se seznamoval s Linuxem, jsem používal prostý příkaz ntpdate tik.cesnet.cz, který jsem periodicky spouštěl z Cronu. Dnes jsem rozumnější a používám ntpd. Vlastně to už také není tak úplně pravda - přešel jsem na chrony ve snaze mít na serveru co nejpřesnější čas, který mohu nabízet ostatním lidem, stručně řečeno. :)
Pro připojení k projektu hlavně potřebujete statickou IP adresu (doporučuji IPv4 i IPv6 konektivitu) a permanentní připojení k Internetu. Co se týká nároků na šířku pásma, stačí relativně málo, stejně tak CPU výkon. Komunikace probíhá pomocí protokolu UDP (port 123). Níže lze vidět vytížení sítě na mém serveru, většinu provozu dělá právě NTP komunikace:
Statistika vytížení sítě na serveru
To není tak hrozné, že? Očekávám, že měsíční objem přenesených dat v rámci provozu NTP serveru může být u mne okolo 200GB. Alespoň to sleduji nyní ze statistik. Četl jsem na fóru příspěvky lidí (z Asie), kterým provoz NTP serveru v poolu generuje klidně několik TB měsíčně, doslova desítky tisíc požadavků za sekundu! To už je solidní zátěž.
V České Republice máme do projektu zapojeno poměrně málo serverů, viz www.pool.ntp.org/zone/cz - aktuálně 30 IPv4 a 14 IPv6 serverů. Nic moc. Pokud se vám zdá provoz vlastního veřejného NTP serveru jako zajímavá věc, máte k dispozici server na Internetu a chcete pomoci, mrkněte na www.pool.ntp.org/join.html a připojte se také! :)
--- aktualizováno ---
Tak musím říci, že se vzrůstající zátěží se začaly objevovat podivné chvilkové výpadky konektivity serveru. Původně jsem si myslel, že je problém u poskytovatele, ale bylo tomu jinak. Tohle jsem našel v logu:
Sep 16 05:07:52 server kernel: nf_conntrack: table full, dropping packet Sep 16 05:07:52 server kernel: nf_conntrack: table full, dropping packet Sep 16 05:07:52 server kernel: nf_conntrack: table full, dropping packet Sep 16 05:07:52 server kernel: nf_conntrack: table full, dropping packet Sep 16 05:07:52 server kernel: nf_conntrack: table full, dropping packet
Takže problém s connection tracking v kernelu a počtem spojení. Řešením je ntp provoz vyjmout ze sledování (NOTRACK). Já na serveru využívám firewalld:
Vytvořil jsem soubor /etc/firewalld/direct.xml:
<?xml version="1.0" encoding="utf-8"?> <direct> <rule priority="0" table="filter" ipv="ipv4" chain="INPUT">-p udp --dport 123 -j ACCEPT</rule> <rule priority="0" table="raw" ipv="ipv4" chain="OUTPUT">-p udp --sport 123 -j NOTRACK</rule> <rule priority="0" table="raw" ipv="ipv4" chain="PREROUTING">-p udp --dport 123 -j NOTRACK</rule> <rule priority="0" table="filter" ipv="ipv6" chain="INPUT">-p udp --dport 123 -j ACCEPT</rule> <rule priority="0" table="raw" ipv="ipv6" chain="OUTPUT">-p udp --sport 123 -j NOTRACK</rule> <rule priority="0" table="raw" ipv="ipv6" chain="PREROUTING">-p udp --dport 123 -j NOTRACK</rule> </direct>Tweet
štítky: conntrack Internet NTP VPS
4517x přečteno
Copyright © 2015-2024 SOCL.cz, RSS 2.0
Všechna práva vyhrazena, nebo tak nějak.