Převod síťové adresy (NAT) -jedná se o proces změny původní nebo veřejné IP adresy a portu paketu na jinou IP adresu a port, aby bylo zajištěno doručení paketů z jedné sítě do druhé. V Linuxu existují různé nástroje a technologie, které vám umožňují nakonfigurovat NAT a efektivně řídit provoz v síti.
Jedním z nejoblíbenějších nástrojů pro konfiguraci NAT v Linuxu je iptables (Tabulky IP), která je součástí jádra operačního systému. Iptables poskytuje mnoho pravidel a možností pro směrování a filtrování paketů. Pomocí iptables můžete vytvářet pravidla NAT, která vám umožňují měnit a přesměrovat provoz v síti.
Dalším oblíbeným nástrojem pro konfiguraci NAT v Linuxu je netfilter, který je také součástí jádra operačního systému. Netfilter poskytuje software pro filtrování a konverzi síťových paketů. Umožňuje vytvářet pravidla NAT, která řídí protokoly, adresy a porty paketů.
Nastavení NAT v Linuxu může být užitečné v různých scénářích, jako je zajištění přístupu k Internetu pro místní sítě, vytváření virtuálních soukromých sítí (VPN) nebo přesměrování portů pro hostitele nebo služby v síti. Správné nastavení NAT vám umožní efektivně využívat zdroje sítě a zajistit bezpečnost a spolehlivost přenosu dat.
Co je NAT a proč je potřeba
Hlavním cílem NAT je převést místní IP adresy na globální a naopak zajistit komunikaci mezi počítači nebo zařízeními z různých sítí.
Jak počet zařízení připojených k Internetu roste, počet volných globálních IP adres rychle klesá, takže NAT hraje klíčovou roli v úspoře použitých IP adres. Umožňuje uspořádat mnoho zařízení uvnitř místní sítě pomocí pouze jedné globální IP adresy.
NAT navíc poskytuje zabezpečení sítě, protože dokáže skrýt místní IP adresy před vnějším světem a zabránit přímým útokům na místní zařízení.
NAT však může být také příčinou některých problémů v síti, jako jsou problémy s připojením aplikací, které vyžadují přímý přístup z Internetu k zařízením v místní síti.
Celkově je NAT důležitým nástrojem pro správu a zabezpečení sítě, který umožňuje efektivní využití IP adres a umožňuje komunikaci mezi zařízeními v různých sítích.
Základní pojmy
V Linuxu se NAT obvykle provádí pomocí programu iptables, který je součástí standardní instalace mnoha distribucí Linuxu. Pro konfiguraci NAT se v Linuxu často používá také software, jako je firewalld nebo NetworkManager.
Základní pojmy související s NAT:
- Interní IP adresa (Private IP): toto je adresa používaná v místní síti, kterou nelze použít přímo na internetu.
- Externí IP adresa (Public IP): toto je adresa přidělená zařízení, aby bylo možné komunikovat online.
- Zdroj (Zdroj): toto je IP adresa a Port odesílatele balíčku.
- Určení (Destination): toto je IP adresa a Port příjemce balíčku.
- Převodní IP adresa (NAT IP): je to IP adresa používaná k převodu a překladu paketů. Může to být externí IP adresa routeru nebo jiného zařízení, které provádí NAT.
- Maska podsítě (Subnet Mask): toto jsou hodnoty, které určují rozsah možných IP adres v síti.
- Tabulka NAT (Nat table): toto je tabulka, která obsahuje pravidla pro převod IP adres a portů.
Pochopení těchto základních pojmů NAT vám pomůže nakonfigurovat a spravovat NAT v Linuxu a zajistit zabezpečení a efektivní využití IP adres ve vaší síti.
IP adresa a Port
Port je číslo, které je přiřazeno každé síťové aplikaci v zařízení. Porty pomáhají směrovači nebo přepínači určit, kam odeslat datové pakety přijaté na IP adresu. Port je 16bitové číslo, které může být od 0 do 65535. Porty do 1023 se nazývají známé porty a jsou vyhrazeny pro určité služby, například port 80 je vyhrazen pro HTTP.
- IP adresa je unikátní identifikátor zařízení v síti.
- IP adresa se skládá ze čtyř čísel oddělených tečkami.
- Port je číslo přiřazené každé síťové aplikaci.
- Port je 16bitové číslo od 0 do 65535.
- Dobře známé porty jsou vyhrazeny pro určité služby.
Typy NAT v Linuxu
V Linuxu existuje několik typů NAT (Network Address Translation), z nichž každý je určen k řešení určitých problémů. Zvažte hlavní typy NAT v Linuxu:
| Pohled na NAT | Popis |
|---|---|
| SNAT (Source NAT) | Tento typ NAT se používá ke změně původní IP adresy paketů. Umožňuje používat jednu veřejnou IP adresu ke sdílení dat s externími sítěmi jménem místních uzlů. SNAT se také nazývá IP-Masquerading. |
| DNAT (Destination NAT) | DNAT se používá ke změně IP adresy přiřazení paketů. Umožňuje přesměrovat příchozí pakety na jiné uzly v místní síti. DNAT se také nazývá portfording. |
| 1:1 NAT (One-to-One NAT) | Tento druh NAT provádí přímé zobrazení mezi externí a interní IP adresou. Používá se k vytvoření průhledného mostu mezi vnitřními a vnějšími sítěmi. |
| NPT (Network Prefix Translation) | Tento typ NAT se používá k překladu IP adres mezi různými sítěmi pomocí předpon IP adres. |
Výběr konkrétního typu NAT v Linuxu závisí na požadavcích a vlastnostech vaší sítě.
Static NAT
Static NAT, nebo statický NAT, poskytuje možnost vytvářet konstantní jeden-k-jeden převod adres na NAT. To znamená, že každý příchozí paket adresovaný konkrétní externí IP adrese bude přesměrován na interní IP adresu uvedenou v pravidle NAT.
Statický NAT se používá k poskytování přístupu z internetu k interním serverům pomocí jediné externí IP adresy. Pokud máte například externí IP adresu 203.0.113.10 a interní IP adresu 192.168.0.10 pro webový server, můžete nakonfigurovat statický NAT tak, aby všechny příchozí dotazy směřovaly na externí IP adresu 203.0.113.10 bylo přesměrováno na interní IP adresu 192.168.0.10.
K nastavení statického NAT v Linuxu lze použít nástroj iptables. Příklad příkazu k vytvoření pravidla statického NAT:
iptables -t nat -A PREROUTING -d 203.0.113.10 -j DNAT --to-destination 192.168.0.10
Tento příkaz přidává pravidlo pro tabulku NAT (-t nat) do řetězce PROROUTING (-a PROROUTING), který přesměruje všechny pakety s cílovou adresou 203.0.113.10 (- d 203.0.113.10) na interní IP adresu 192.168.0.10 (--to-destination 192.168.0.10).
Po nastavení statického NAT v Linuxu, externí IP adresa 203.0.113.10 přesměruje všechny příchozí pakety na interní IP adresu 192.168.0.10, což umožní externím klientům přístup k webovému serveru.
Dynamic NAT
Dynamické přesměrování síťových paketů (Dynamic NAT) v Linuxu je metoda překladu mezi veřejnou globální IP adresou a soukromými lokálními IP adresami. Při použití tohoto režimu NAT přistupují k globální síti pouze zařízení v místní síti, která odesílají požadavky na externí IP adresu.
Chcete-li v Linuxu nakonfigurovat Dynamic NAT, musíte postupovat podle následujících kroků:
- Nakonfigurujte IP adresy na síťových rozhraních serveru;
- Povolit forwarding paketů na serveru;
- Nakonfigurujte pravidla iptables pro přesměrování paketů.
Pro nastavení pravidel iptables proveďte následující příkazy:
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE# iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT# iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
| Tým | Popis |
|---|---|
| iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | Nastavuje pravidlo pro přesměrování paketů z místní sítě do globální sítě přes rozhraní eth0. |
| iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT | Umožňuje přeposílání balíčků nainstalovaných nebo souvisejících s již existujícími připojeními. |
| iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT | Umožňuje odesílání paketů z rozhraní eth0 do rozhraní eth1. |
Po provedení těchto příkazů je server nakonfigurován tak, aby pracoval s Dynamic NAT. Nyní mohou zařízení v místní síti používat veřejnou globální IP adresu serveru pro přístup k globální síti.
Port Forwarding
NAT nebo Network Address Translation, integrovaný do linuxového jádra, umožňuje přímé spojení mezi externím a interním síťovým rozhraním. Pro komunikaci se zařízeními v místní síti je však nutné nakonfigurovat přesměrování portů nebo Port Forwarding.
Port Forwarding neboli přesměrování portů umožňuje nasměrovat externí provoz na určité porty a adresy v rámci místní sítě. To je zvláště užitečné, když chcete poskytnout vzdálený přístup k určité službě, jako je webový server nebo FTP server.
Chcete-li nakonfigurovat přesměrování portů v Linuxu, musíte postupovat podle následujících kroků:
- Otevřete terminál a přihlaste se pomocí práv superuživatele.
- Nakonfigurujte přesměrování portů na vašem routeru nebo bráně do počítače.
- Nakonfigurujte pravidla Firewall nebo IPTABLES tak, aby umožňovala příchozí provoz na určité porty.
- Nakonfigurujte přesměrování portů v Linuxu pomocí příkazu iptables.
Příklad příkazu pro nastavení přesměrování portu na Linux:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2:80iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
V tomto příkladu přesměrujeme veškerý příchozí provoz na port 80 do zařízení s IP adresou 192.168.1.2 uvnitř místní sítě. První příkaz PREROUTING provede přesměrování a druhý příkaz POSTROUTING provede maskování nebo výměnu původní IP adresy na externím rozhraní.
Po provedení těchto příkazů bude příchozí provoz na portu 80 automaticky přesměrován na zadané zařízení uvnitř místní sítě.
Port Forwarding je důležitá funkce při konfiguraci NAT v Linuxu, která umožňuje nasměrovat externí provoz na konkrétní porty a adresy v rámci místní sítě.
Instalace potřebných balíčků
Před nastavením NAT v Linuxu je nutné nainstalovat několik balíčků,které tento úkol umožní. Chcete-li to provést, proveďte v terminálu následující příkazy:
sudo apt update
sudo apt install iptables
sudo apt install iproute2
Příkaz sudo apt update aktualizuje seznam dostupných balíčků a příkaz sudo apt install nainstaluje požadované balíčky.
Balíček iptables poskytuje nástroje pro přizpůsobení pravidel linuxové sítě (netfilter). Paket iproute2 obsahuje nástroje pro konfiguraci směrování IP a správu sítě.
Po instalaci těchto balíčků budete připraveni začít konfigurovat NAT v Linuxu.