Porovnat verze

Klíč

  • Tento řádek byl přidán.
  • Tento řádek byl odstraněn.
  • Formátování bylo změněno.
Komentář: Migrated to Confluence 4.0

ip6nat

Zde představím ukázkovou konfiguraci pro zprovoznění aplikace, která umožní přesměrovat TCP spojení protokolu ipv6 na konkrétním portu na jiný server.

Aplikace by měla běžet na igw a to zejména pro účely

  • redsysu
  • varování, že není zaplaceno
  • okamžitého povolení do internetu v případě dynamické adresy pomocí dashboardu (který není ještě hotový)

Je potřeba

Instalace

Blok kódu
langactionscript
cd /usr/srv
wget http://d-network.hkfree.org/ip6nat-0.6.tgz
wget http://d-network.hkfree.org/ip6nat-0.6-lada.patch
tar xzvf ip6nat-0.6.tgz
cd ip6nat
cat ../ip6nat-0.6-lada.patch | patch -p1
make

Konfigurace

  • Je potřeba vytvořit soubor ip6nat.conf
    Blok kódu
    langactionscript
    tcp dnat 2000::/3 80->::1 1234
  • Spustit
    Blok kódu
    langactionscript
    ./ip6dnat -c ip6dnat.conf
  • Nastavit iptables
    Blok kódu
    langactionscript
    ip6tables -t raw -A PREROUTING -p tcp --dport 80 -j QUEUE
    ip6tables -t raw -A OUTPUT -p tcp --sport 1234 -j QUEUE

Tímto bude spojení nasměrováno na localhost (::1) na routeru, na kterém ip6nat běží (tam už může čekat http server, který vrací redirect). Pokud budeme chtít nasměrovat jinam, je pak nutné v druhém pravidle místo OUTPUT použít opět PREROUTING.

První pravidlo v iptables lze přenastavit, aby nasměrovávalo pouze vybrané adresy např. parametrem -s, nebo použít extra chain.

Co dělá patch:

V případě, že do dnat cílové routy (kam chceme lidem zabránit se dostat) patřil zároveň nasměrovaný uživatel, vracející se paket byl opět nasměrován na cílový server. Autor zřejmě nepočítal s tím, že použijeme default routu a že se tudíž zakázaná oblast bude překrývat se zdrojem. Patch toto opravuje jednoduše - pravidla pro vracející se pakety se vyhodnocují před pravidlem pro odeslané pakety. Nic dalšího se snad nerozbilo (úsměv)