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