Portál AbcLinuxu, 7. května 2025 07:20

Jak vytvořím sdílení internetu pomocí NATu do vnitřní sitě ?

Pro jednoduché případy (jedna vnitřní síť, jedno rozhraní do internetu) se můžete inspirovat skriptem popsaným v Linux IP Masquerade HOWTO, který najdete na webových stránkách www.tldp.org, (sekce 3.4.1) Zkrácená a zjednodušená verze zmíněného skriptu by mohla vypadat takto:
#!/bin/sh
IPTABLES=/sbin/iptables

EXTIF="eth0"
INTIF="eth1"

echo "1" > /proc/sys/net/ipv4/ip_forward

$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD 
$IPTABLES -t nat -F

$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
$IPTABLES -A FORWARD -j LOG

$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
Skript stačí zkopírovat na disk tam, kam se ve vaší distribuci ukládají init skripty, vyplnit cestu k programům iptables (IPTABLES=...), modprobe, depmod (u zkrácené verze pouze cestu k iptables) a jména síťové karty připojené k internetu (EXTIF) a síťové karty připojené k vnitřní síti (INTIF). Dále je potřeba nastavit skript jako spustitelný a zajistit jeho spouštění při startu. V odkazovaném dokumentu je návod jak to udělat ve Slackware, Red Hatu a distribucích od Red Hatu odvozených. Pokud váš systém používá System V init skripty (např. Debian), najdete návod zde ve slovníku: System V init Zkrácená verze zapne maškarádu a povolí forwardování paketů z vnitřní sítě do internetu a pro existující spojení i z internetu do vnitřní sítě. Originální verze navíc povolí veškerý síťový provoz ze a k routeru a načte jaderné moduly potřebné pro firewall, což ale ve většině případů není nutné - jádro by mělo být schopné načíst je samo, když jsou potřeba (poznámka: od verze jádra 2.6.20 může být ip_conntrack nahrazen modulem nf_conntrack, takže pokus o načtení modulu ip_conntrack v současné verzi skriptu 0.76 selže a budete stejně odkázání na schopnost jádra načítat moduly podle potřeby.) Obě verze nechávají internet sdílející počítač otevřený vnějšímu světu - internetu i uživatelům ve vnitřní síti - firewall, který by chránil sdílející počítač, se nijak nenastavuje. To může znamenat určité bezpečnostní riziko, pokud služby spuštěné na tomto počítači obsahují bezpečnostní chyby nebo pokud jsou špatně nakonfigurované. Pokud se chcete dozvědět něco více o tom, co tyto skripty dělají a jak to funguje "uvnitř", můžete si přečíst například články Stavíme firewall a Linux jako internetová gateway, které vyšly na serveru root.cz


Doplním snad jen toto: Maškarádu bych použil spíše u rozhraní, u kterých se mění IP adresa. Jinak je podle mého vhodnější použít SNAT. Opičák

Související dokumenty

Stavíme firewall (externí dokument)
Linux jako internetová gateway (externí dokument)

Dokument vytvořil: vlastikroot, 4.2.2007 15:22 | Poslední úprava: Opičák, 9.2.2007 16:52 | Další přispěvatelé: trekker.dk, vencour | Historie změn | Zobrazeno: 2400×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.