SVN: PLD-doc/book/pl_book__siec/pl_siec__nat.sec

qwiat qwiat at pld-linux.org
Sun Dec 23 04:35:31 CET 2007


Author: qwiat
Date: Sun Dec 23 04:35:30 2007
New Revision: 9159

Modified:
   PLD-doc/book/pl_book__siec/pl_siec__nat.sec
Log:
- updates and cleanups
- indent


Modified: PLD-doc/book/pl_book__siec/pl_siec__nat.sec
==============================================================================
--- PLD-doc/book/pl_book__siec/pl_siec__nat.sec	(original)
+++ PLD-doc/book/pl_book__siec/pl_siec__nat.sec	Sun Dec 23 04:35:30 2007
@@ -1,74 +1,91 @@
 <?xml version="1.0" encoding="iso-8859-2"?>
 <section id="siec_nat">
-<title>Rozdzielanie sieci (NAT)</title>
-<section id="siec_nat_wprowadzenie">
-<title>Wprowadzenie</title>
-
-<para>NAT (Network Address Translation) w Linuksie mo¿na zrobiæ na dwa sposoby.</para>
-<itemizedlist>
-<listitem><para>Wykorzystuj±c infrastrukturê <productname>netfilter</productname> j±dra 2.4 i 2.6.</para></listitem>
-<listitem><para>Korzystaj±c z narzêdzi do kontrolowania sieci z pakietu <productname>iproute2</productname>.</para></listitem>
-<listitem><para><productname>ipchains</productname> w kernelach 2.2 (tylko MASQUERADE).</para></listitem>
-</itemizedlist>
-<para>Celem tego dokumentu jest przybli¿enie czytelnikowi mo¿liwo¶ci wykonania NAT 
-w Linuksie. Po szczegó³owe opisy nale¿y siêgn±æ do ró¿nych HOW-TO dostêpnych 
-w sieci.</para>
-<para><ulink url="http://www.netfilter.org/documentation/HOWTO/pl/packet-filtering-HOWTO.html">Oryginalna dokumentacja Netfilter w jêzyku angielskim</ulink></para>
-
-<para>Najlepszym sposobem jest wykorzystanie mo¿liwo¶ci <productname>netfilter</productname>, gdy¿ wykonuje 
-on nat przed (PREROUTING) lub po (POSTROUTING) routingu, co daje nam mo¿liwo¶æ
-tak skonfigurowania firewalla, jak by nie by³o wykonywane NAT.</para>
-
-</section>
-<section id="siec_nat_iptables">
-<title>Netfilter (iptables)</title>
-
-<para>NAT w <productname>iptables</productname> tworzymy dodaj±c regu³ki do tabeli "nat". ¯eby sprawdziæ jakie 
-s± dostêpne "Chains" w tabeli nat, nale¿y wykonaæ takie polecenie:</para>
-
-<screen># iptables -t nat -L</screen>
-
-<para>Zauwa¿ymy, ¿e mamy do dyspozycji: PREROUTING, POSTROUTING, OUTPUT.</para>
-
-<para>W PREROUTING s± regu³ki do wykonania DNAT (Destination NAT). Zamienia to adres 
-hosta docelowego na nasz prywatny. W ten sposób udostêpniamy IP publiczne z podsieci,
-w której jest router.</para>
-
-<screen># iptables -t nat -A PREROUTING -d 1.2.3.4 -j DNAT --to 192.168.1.2</screen>
-
-<para>Mo¿na okre¶liæ na jakim interfejsie bêdzie wykonany NAT poprzez opcjê -i $inteface.
-Opcja -o w PREROUTING nie jest dostêpna.</para>
-
-<para>W POSTROUTING s± regu³ki do wykonania SNAT (Source NAT) na pakiecie. Zmienia
-to adres nadawcy np. z puli adresów prywatnych na adres z puli publicznej.</para>
-
-<screen># iptables -t nat -A POSTROUTING -s 192.168.1.2 -j SNAT --to 1.2.3.4</screen>
-
-<para>Je¶li podamy maskê podsieci, zostanie wykorzystana wiêksza ilo¶æ adresów.</para>
-
-<para>W POSTROUTING jest jeszcze dostêpny cel MASQUERADE. Wykonuje on to samo co SNAT
-z tym, ¿e na adres interfejsu jakim wychodzi pakiet. U¿ywaæ go nale¿y tylko
-kiedy nasz adres publiczny zmienia siê. (np. w po³±czeniach dial-up)</para>
-
-<para>Wa¿ne jest, aby adres 1.2.3.4 odpowiada³ na zapytania ARP. Osi±gniemy to tworz±c
-alias IP.</para>
-
-<screen># ip address add 1.2.3.4 dev eth0</screen>
-
-<para>Adres 1.2.3.4 musi nale¿eæ do podsieci, w której znajduje siê eth0.</para>
- 
-</section>
-<section id="siec_nat_zakonczenie">
-<title>Zakoñczenie.</title>
-
-<para>Po ustawieniu DNAT na adres wewnêtrzny zauwa¿ymy, ¿e jest problem z dostêpem 
-do ip 1.2.3.4 z wewn±trz sieci. Dzieje siê tak dlatego, ¿e adres source zostaje 
-bez zmian, dlatego te¿ pakiet nie wraca do bramy. Musimy wiêc zmusiæ, aby host wysy³a³
-odpowied¼ do bramy. Mo¿emy wykonaæ to w nastêpuj±cy sposób:</para>
-
-<screen># iptables -t nat -A POSTROUTING -o $if_lok -s 192.168.0.0/16 \
-    -d 1.2.3.4 -j SNAT --to 192.168.0.1</screen>
-
-<para>Gdzie $if_lok to interfejs lokalnej sieci, a 192.168.0.1 to adres na tym interfejsie.</para>
-</section>
+<title>NAT</title>
+	<para>
+		NAT (Network Address Translation) w Linuksie mo¿na zrobiæ
+		na dwa sposoby:
+	</para>
+	<itemizedlist>
+		<listitem><para>wykorzystuj±c infrastrukturê
+		<productname>netfilter</productname> j±dra 2.4 i 2.6.
+		</para>
+		</listitem>
+		<listitem>
+		<para>korzystaj±c z narzêdzi do kontrolowania
+		sieci z pakietu <productname>iproute2</productname>.</para>
+		</listitem>
+	</itemizedlist>
+	<para><ulink url="http://www.netfilter.org/documentation/HOWTO/pl/packet-filtering-HOWTO.html">Oryginalna dokumentacja Netfilter w jêzyku angielskim</ulink></para>
+	<para>
+		Najlepszym sposobem jest wykorzystanie mo¿liwo¶ci
+		<productname>netfilter</productname>, gdy¿ wykonuje 
+		on nat przed (<literal>PREROUTING</literal>) lub po
+		(<literal>POSTROUTING</literal>) routingu, co daje nam mo¿liwo¶æ
+		tak skonfigurowania firewalla, jak by nie by³o wykonywane NAT.
+		NAT w <productname>iptables</productname> tworzymy dodaj±c regu³ki
+		do tabeli "nat". ¯eby sprawdziæ jakie s± dostêpne "Chains"
+		w tabeli nat, nale¿y wykonaæ takie polecenie:
+	</para>
+	<screen># iptables -t nat -L</screen>
+	<para>
+		W poni¿szych przyk³adach za³o¿yli¶my, ¿e 1.2.3.4 jest adresem IP
+		podniesionym na interfejsie zewnêtrznym ($if_wan) za¶ 192.168.1.0/16
+		to adresy na interfejsie sieci lokalnej ($if_lan).
+	</para>
+	<section id="siec_nat_dnat">
+		<title>DNAT</title>
+		<para>
+			W PREROUTING s± regu³ki do wykonania DNAT (Destination NAT).
+			Zamienia to adres hosta docelowego na nasz prywatny, w ten
+			sposób mo¿emy przekierowaæ ruch na dowolny host w sieci
+			prywatnej:
+		</para>
+		<screen># iptables -t nat -A PREROUTING -d 1.2.3.4 -j DNAT --to 192.168.1.2</screen>
+
+		<para>
+			Mo¿na okre¶liæ na jakim interfejsie bêdzie wykonany NAT
+			poprzez opcjê -i $inteface. Opcja -o w PREROUTING nie jest
+			dostêpna.
+		</para>
+		<para>
+			Mo¿emy te¿ dokonaæ przekierowania ruchu kierowanego na konkretny
+			port, zwanego potocznie przekierowaniem portu:
+		<screen># iptables -t nat -A PREROUTING -i $if_wan -p TCP -d 1.2.3.4 --dport 8000  -j DNAT --to 192.168.1.11:80</screen>
+		</para>
+	</section>
+	<section id="siec_nat_snat">
+		<title>SNAT i MASQUERADE</title>
+		<para>
+			SNAT (Source NAT) zmienia to adres nadawcy np. z puli adresów
+			prywatnych na adres z puli publicznej, co jest wykorzytywane zwykle
+			do "dzielenia ³±cza".
+		</para>
+		<screen># iptables -t nat -A POSTROUTING -s 192.168.1.2 -j SNAT --to 1.2.3.4</screen>
+		<para>
+			Je¶li podamy maskê podsieci, zostanie wykorzystana wiêksza ilo¶æ
+			adresów.
+		</para>
+		<para>
+			MASQUERADE wykonuje to samo co SNAT z tym, ¿e na adres interfejsu
+			jakim wychodzi pakiet. U¿ywaæ go nale¿y tylko kiedy nasz adres
+			publiczny zmienia siê. (np. w po³±czeniach ze zmiennym IP
+			publicznym)
+		</para>
+	 </section>
+	<section id="siec_nat_zakonczenie">
+		<title>Zakoñczenie.</title>
+		<para>
+			Po ustawieniu DNAT na adres wewnêtrzny zauwa¿ymy, ¿e jest problem z
+			dostêpem do ip 1.2.3.4 z wewn±trz sieci. Dzieje siê tak dlatego,
+			¿e adres source zostaje bez zmian, dlatego te¿ pakiet nie wraca
+			do bramy. Musimy wiêc zmusiæ, aby host wysy³a³
+			odpowied¼ do bramy. Mo¿emy wykonaæ to w nastêpuj±cy sposób:
+		</para>
+		<screen># iptables -t nat -A POSTROUTING -o $if_lan -s 192.168.0.0/16 \
+		    -d 1.2.3.4 -j SNAT --to 192.168.0.1</screen>
+		<para>
+			Gdzie $if_lan to interfejs lokalnej sieci, a 192.168.0.1 to adres na
+			tym interfejsie.
+		</para>
+	</section>
 </section>


More information about the pld-cvs-commit mailing list