Następna strona Poprzednia strona Spis treści

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

Następna strona Poprzednia strona Spis treści