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>
_______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
