iptables - przekierowanie ruchu z podsieci

Masz problemy z siecią bądź internetem? Zapytaj tu
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2341
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

iptables - przekierowanie ruchu z podsieci

Post autor: LordRuthwen »

Tak, wiem, dużo takich tematów było, ale chyba nie do końca.
Kontynuacja tego wątku: http://debian.linux.pl/threads/26721-dh ... interfejsu
DHCP działa, przydziela adresy niepubliczne.
Jak każdy wie, domyślnie urządzenia wykorzystują DHCP do pozyskania adresu, jako, że mam w sieci adresację statyczną, stanowi to drobny problem. Wpadłem na pomysł odpalenia serwera DHCP przydzielającego niepubliczne adresy, z puli tej ruch www miałby być przekierowany na stronę z instrukcjami, co należy teraz zrobić.

Zakładam, że przekierowanie działa, bo w ten sam sposób mam oparte powiadomienia o zaległościach, ale coś jest jednak nie tak, bo hosty w sieci niepublicznej nie potrafią rozwiązywać nazw, co za tym idzie nie ma mowy o przekierowaniu ruchu www bo i jakiego.

Konfiguracja iptables wygląda następująco:

Kod: Zaznacz cały

iptables -A PREROUTING -t nat -d 8.8.8.8 -j ACCEPT
iptables -A PREROUTING -t nat -i eth3.3 -p tcp -s 192.168.3.0/24 -j DNAT --to-destination 192.168.3.1:80
Teoretycznie te dwa wpisy powinny sprawę rozwiązać, chyba że mi się coś pomyliło.
W taki sam sposób działa informacja o zaległościach, tylko jest realizowana dla adresó publicznych. No i działa.

Proszę o nakierowanie co zepsułem?
Dla sieci niepublucznej:

Kod: Zaznacz cały

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  192.168.3.0/24       anywhere            to:192.168.3.1:80
ACCEPT     all  --  anywhere             google-public-dns-a.google.com
Dla sieci publicznej:

Kod: Zaznacz cały

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             moj.dns
DNAT       tcp  --  a61.netxxx.yyy.pl   anywhere            to:zzz.zzz.zzz.zzz:80
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post autor: mariaczi »

Pokaż "kotku" co masz w łańcuchu FORWADR tablicy filter.
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2341
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Post autor: LordRuthwen »

Kod: Zaznacz cały

# iptables -L -t filter
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  xx.xx.xx.0/25       anywhere            tcp dpt:ssh
ACCEPT     tcp  --  xx.xx.xx.xx        anywhere            tcp dpt:ssh
ACCEPT     tcp  --  192.168.9.0/24       anywhere            tcp dpt:ssh
ACCEPT     tcp  --  a3.netxx.xxx.pl    anywhere            tcp dpt:ssh
ACCEPT     tcp  --  a100.netxx.xxx.pl  anywhere            tcp dpt:ssh
ACCEPT     tcp  --  xx-xx-xx-xx.tktelekom.pl  anywhere            tcp dpt:ssh
DROP       tcp  --  anywhere             anywhere            tcp dpt:www
DROP       tcp  --  anywhere             anywhere            tcp dpt:ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post autor: mariaczi »

Kod: Zaznacz cały

iptables -A PREROUTING -t nat -d 8.8.8.8 -j ACCEPT
To jest raczej niepotrzebne.
Politykę masz na "ACCEPT" zatem... jakiego DNS-a rozdajesz do podsieci 192.168.3.0/24? Rozdaj im jakiegoś z ich klasy lub rozdając innego zezwól na ruch dns między światem (tym rozdanym DNS-em) a tą podsiecią.
ODPOWIEDZ