Nastny Poprzedni Spis Trei

4. Szybkie przejście z kerneli 2.0 i 2.2

Przepraszam wszystkich nadal zszokowanych po przejściu z 2.0 (ipfwadm) do 2.2 (ipchains). Są dobre i złe wiadomości

Przede wszystkim, możesz używaæ dalej ipchains i ipfwadm tak jak kiedyś. By to zrobiæ, musisz włączyæ do kernela (insmod) moduły 'ipchains.o' lub 'ipfwadm.o' które znajdują siê w najnowszej dystrybucji pakietu netfilter. Moduły mogą byæ załadowane tylko rozłącznie (zostałeś ostrzeżony) i nie powinny byæ łączone z innymi modułami netfilter.

Kiedy już zainstalujesz jeden z tych modułów, możesz używaæ ipchains i ipfwadm tak jak do tej pory, z nastêpującymi różnicami:

Hakerzey mogą również zauważyæ, że:

4.1 Ja chcê tylko maskarady! Ratunku!

Wiêkszośæ ludzi chce. Jeśli masz dynamicznie przydzielany IP podczas wdzwaniania siê po PPP (jeśli nie wiesz o co chodzi to zapewne tak właśnie jest), możesz po prostu powiedzieæ swojej maszynie że wszystkie pakiety wychodzące z twojej sieci wewnêtrznej powinny byæ zmieniane tak, by wyglądały jak pakiety wychodzące z komputera wdzwaniającego siê.

# Załaduj moduł NAT (usuwa inne).
modprobe iptable_nat

# W tabeli NAT (-t nat), dodaj regułê (-A) po routingu
# (POSTROUTING) dla wszystkich pakietów wychodzących przez ppp0 (-o ppp0)
# która mówi by prowadziæ maskaradowanie połączenia (-j MASQUERADE).
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# Włącz przekazywanie IP
echo 1 > /proc/sys/net/ipv4/ip_forward

Zauważ że nie prowadzimy tutaj żadnego filtrowania pakietów: jeśli chcesz je zastosowaæ, przeczytaj Filtrowanie Pakietów HOWTO a w szczególności sekcjê: 'Łączenie NAT i filtrowania pakietów'.

4.2 A co z ipmasqadm?

Istnieje dużo mniejsza liczba użytkowników, wiêc specjalnie nie przejmowałem siê wsteczną kompatybilnością. Możesz po prostu użyæ `iptables -t nat' by wykonywaæ przekazywanie portów. Na przykład, dla Linuksa 2.2 mógłbyś zrobiæ:

# Linux 2.2
# Przekaż pakiety TCP kierowane do portu 8080 na 1.2.3.4 do 192.168.1.1 na port 80
ipmasqadm portfw -a -P tcp -L 1.2.3.4 8080 -R 192.168.1.1 80

A teraz zrobisz:

# Linux 2.4
# Dodaj regułê przed routingiem (-A PREROUTING) do tabeli NAT (-t nat) mówiącą, że
# pakiety TCP (-p tcp) kierowane do 1.2.3.4 (-d 1.2.3.4) na port 8080 (--dport 8080)
# mają byæ zmapowane (-j DNAT) na 192.168.1.1, port 80 (--to 192.168.1.1:80).
iptables -A PREROUTING -t nat -p tcp -d 1.2.3.4 --dport 8080 \
        -j DNAT --to 192.168.1.1:80


Nastny Poprzedni Spis Trei