<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>baseciq.org &#187; iptables</title>
	<atom:link href="http://www.baseciq.org/tagi/iptables/feed" rel="self" type="application/rss+xml" />
	<link>http://www.baseciq.org</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sat, 17 Jul 2010 20:43:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Maskarada IP</title>
		<link>http://www.baseciq.org/2002/01/01/maskarada-ip</link>
		<comments>http://www.baseciq.org/2002/01/01/maskarada-ip#comments</comments>
		<pubDate>Mon, 31 Dec 2001 22:00:13 +0000</pubDate>
		<dc:creator>Baseciq</dc:creator>
				<category><![CDATA[howtos]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[maskarada]]></category>

		<guid isPermaLink="false">http://www.baseciq.org/?p=110</guid>
		<description><![CDATA[Maskarada IP Co to jest maskarada? Maskowanie adresów IP polega na ukryciu (zamaskowaniu) adresów IP komputerów w sieci przez router podłączony do internetu. Pozwala to na dostęp do internetu komputerom nie posiadającym publicznego adresu IP (192.168.*.* czy też 10.*.*.*), lub też na ochronę tychże komputerów nawet jeżeli mają publiczne adresy IP &#8211; maskarada jest jedną [...]]]></description>
			<content:encoded><![CDATA[<h1>Maskarada IP</h1>
<p>Co to jest maskarada? Maskowanie adresów IP polega na ukryciu (zamaskowaniu) adresów IP komputerów w sieci przez router podłączony do internetu. Pozwala to na dostęp do internetu komputerom nie posiadającym publicznego adresu IP (192.168.*.* czy też 10.*.*.*), lub też na ochronę tychże komputerów nawet jeżeli mają publiczne adresy IP &#8211; maskarada jest jedną z odmian firewalla.</p>
<p><span id="more-110"></span><br clear="both"/><div class="adsense-single" id="adsense-single"><!-- jeżeli nie lubisz reklam, to sobie wytniesz po id obiektu... --> 
	<script type="text/javascript"> google_ad_client = "pub-3850786112207919"; google_ad_slot = "3874219152"; google_ad_width = 468; google_ad_height = 60; </script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
 </div></p>
<p><strong>A do czego to mi w praktyce?</strong></p>
<p>Tekst ten napisałem pod kątem głównie sieci amatroskich które posiadają łącze do internetu z jednym adresem IP, a wbrew pozorom udostępnienie takiego internetu nie jest wcale trudne. Zakładam także że masz już skonfigurowane połączenie z internetem (o SDI pisałem wyżej) i główny nacisk położę na tym jak zbudować maskaradę z komputerami z windows.</p>
<p>Zakładam że już udało Ci się postawić linuksa. Przede wszystkim musisz wiedzieć którą wersję kernela posiadasz &#8211; od tego jest uzależnione czy maskaradę należy wykonać przy użyciu komendy ipchains czy iptables. Wersję kernela możesz sprawdzić poprzez komendę &#8216;uname -a&#8217;. Przydała by się skonfigurowana także sieć lokalna (komputery mam nadzieje połączone są już w sieć) &#8211; jeżeli tego jeszcze nie zrobiłeś &#8211; niestety ja Ci tutaj nie pomogę. Poszukaj dokumentacji do swojej dystrybucji.</p>
<p>Teraz trzeba napisać skrypt który będzie włączał tą maskaradę:</p>
<p>1) Zaloguj się jako root, wejdź do katalogu /etc/rc.d i stwórz plik rc.masq, nadaj mu atrybuty pliku wykonywalnego:</p>
<pre>cd /etc/rc.d &amp;&amp; touch rc.masq &amp;&amp; chmod +x rc.masq</pre>
<p>2) Wyedytuj ten plik (możesz do tego użyć ulubionego edytora tekstowego, jeżeli nie masz takowego, użyj programu mc który wygląda i działa podobnie do Midnight Commandera), wpisz do niego odpowiednią treść zależnie od wersji kernela:</p>
<p>dla kerneli w wersjach 2.2.x:</p>
<pre>#!/bin/sh

# włączenie forwardowania pakietów:
echo 1 &gt; /proc/sys/net/ipv4/ip_forward

# parametry -F -X wyczyszczą aktualne reguły maskarady
ipchains -F
ipchains -X

# domyślne DENY przy próbie forwardowania pakietów
ipchains -P forward DENY

# uruchamiamy maskaradę
ipchains -A forward -s 192.168.0.0/255.255.0.0 -d 0/0 -j MASQ

# moduły wspomagające do maskarady
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_ftp</pre>
<p>Co to wszystko oznacza? Każdy pakiet pochodzący z komputera o adresie rozpoczynającym się od 192.168. (-s 192.168.0.0/255.255.0.0 &#8211; czyli 192.168.0.0 &#8211; 192.168.255.255) zadresowany gdziekolwiek (-d 0/0) ma zostać zmaskowany (-j MASQ). Jeżeli nadal tego nie rozumiesz &#8211; poczekaj parę minut i spróbuj jeszcze raz.</p>
<p>dla kerneli w wersjach 2.4.x i 2.6.x:</p>
<pre>#!/bin/sh

# włączenie forwardowania pakietów:

echo 1 &gt; /proc/sys/net/ipv4/ip_forward
# wyczyśćmy tablice iptables odpowiedzialne za nat i za filtrowanie pakietów:

iptables -F -t nat
iptables -X -t nat
iptables -F -t filter
iptables -X -t filter

# Domyślnie odrzucamy i nie zezwalany na forwardowanie pakietów

iptables -t filter -P FORWARD DROP

# Zezwalamy na by serwer przepuszczał pakiety które pochodzą z naszej sieci
# lokalnej lub są dla niej przeznaczone.

iptables -t filter -A FORWARD -s 192.168.0.0/255.255.0.0 -d 0/0 -j ACCEPT

iptables -t filter -A FORWARD -s 0/0 -d 192.168.0.0/255.255.0.0 -j ACCEPT

# Teraz nakazujemy by wszystkie pakiety pochodzące z lanu były maskowane

iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -d 0/0 -j MASQUERADE

# I doładujmy moduł do obsługi ftp i irc (moduł do irca zauważyłem dopiero
# w kernelu 2.4.14 dlatego się w końcu za niego wziąłem

/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_nat_irc</pre>
<p>Jak widać iptables w Linuxie 2.4.* są o wiele bardziej zaawansowane niż ipchains w 2.2.*. Wiem także iż można zrobić maskaradę prościej/lepiej. Ale powyższy przykład działa i jest w miarę podobny do ipchains. Teraz, aby przy każdym uruchomieniu serwera był wykonywany ten skrypt, dopisujemy w pliku /etc/rc.local na końcu:</p>
<pre>/etc/rc.d/rc.masq</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.baseciq.org/2002/01/01/maskarada-ip/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
