Iptables + prerouting (przekierowanie usługi mail)

Instalacja i konfiguracja oprogramowania sieciowego.
alientm
Piegowaty Guziec
Piegowaty Guziec
Posty: 4
Rejestracja: 13 mar 2015, 14:44
Wersja Ubuntu: 14.04
Środowisko graficzne: Brak
Architektura: x86_64

Iptables + prerouting (przekierowanie usługi mail)

Post autor: alientm »

Witam.
Potrzebuję porady, muszę przekierować maile z sieci B (10.128.128.0/24) do sieci A (na adres PC 192.168.1.220)

Ubuntu ma 2 interfejsy eth0 w sieci A (192.168.1.222) i eth2 w sieci B (10.128.128.222), chcę aby ruch z sieci B na porcie 25 był przekierowany był na PC 192.168.1.220 w sieci A bo jest to serwer z usługą SMTP na porcie 25.

Starałem się to zrobić przez iptables:
iptables -t nat -A PREROUTING -p tcp -i eth2 --destination-port 25 -j DNAT --to 192.168.1.220:25

lecz nie wiem czy składnia jest błędna, czy coś innego ale bynajmniej nie działa, gdy próbuję z PC 10.128.128.10 połączyć telnetem z 192.168.1.220, nie łączy.
Rgl
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 226
Rejestracja: 08 sty 2006, 08:10
Płeć: Mężczyzna
Wersja Ubuntu: 24.10
Środowisko graficzne: GNOME
Architektura: x86_64
Lokalizacja: Warszawa

Re: Iptables + prerouting (przekierowanie usługi mail)

Post autor: Rgl »

A co pokazuje telnet z 10.128.128.10 do 10.128.128.222 na port 25?
alientm
Piegowaty Guziec
Piegowaty Guziec
Posty: 4
Rejestracja: 13 mar 2015, 14:44
Wersja Ubuntu: 14.04
Środowisko graficzne: Brak
Architektura: x86_64

Re: Iptables + prerouting (przekierowanie usługi mail)

Post autor: alientm »

Trafna uwaga - ping z 10.128.128.10 do 10.128.128.222 przechodzi ale telnet na porcie 25 nie. W sumie na 10.128.128.222 nie ma żadnej usługi na tym porcie, więc co powinienem teraz zrobić ?
Rgl
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 226
Rejestracja: 08 sty 2006, 08:10
Płeć: Mężczyzna
Wersja Ubuntu: 24.10
Środowisko graficzne: GNOME
Architektura: x86_64
Lokalizacja: Warszawa

Re: Iptables + prerouting (przekierowanie usługi mail)

Post autor: Rgl »

Zależy co chcesz osiągnąć.
Czy sieć 10.x.x.x ma mieć dostęp do sieci 192.168.x.x i odwrotnie - wtedy wystarczy zwykły routing bez NAT.
Czy może sieci są rozdzielone a dostęp z 10.128.128.0 do 192.168.1.0 ma być realizowany przez NAT na 10.128.128.222?
Jeżeli tak to nie DNAT jest tu potrzebny a SNAT
A jeśli obydwie sieci mają "nie wiedzieć o swoim istnieniu" to DNAT w połączeniu ze SNAT
Napisz coś więcej o konfiguracji sieci czy jest włączony ip_forwarding na serwerze Ubuntu, czy masz skonfigurowany NAT, czy brama domyślna dla obydwu sieci to właśnie ten serwer Ubuntu?
alientm
Piegowaty Guziec
Piegowaty Guziec
Posty: 4
Rejestracja: 13 mar 2015, 14:44
Wersja Ubuntu: 14.04
Środowisko graficzne: Brak
Architektura: x86_64

Re: Iptables + prerouting (przekierowanie usługi mail)

Post autor: alientm »

Sporo pytań na które brakuje pełnej wiedzy aby dać sensowną odp.
Sieci są rozdzielone (inne Vlany), jedynie ten Ubuntu ma "wgląd do obu" bo ma 2 interfejsy, każdy w jednym z Vlanów.
Ubuntu nie jest bramą dla żadnej z sieci. Sieci nie muszą wiedzieć o swoim istnieniu, chce tylko uzyskać jakoś możliwość wysłania maila przez programy monitorujące z sieci 10.x.x.x do sieci w której ja pracuję czyli 192.168.1.0 a że Ubuntu ma wgląd w obie to chyba jest najprostszym rozwiązaniem.
Rgl
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 226
Rejestracja: 08 sty 2006, 08:10
Płeć: Mężczyzna
Wersja Ubuntu: 24.10
Środowisko graficzne: GNOME
Architektura: x86_64
Lokalizacja: Warszawa

Re: Iptables + prerouting (przekierowanie usługi mail)

Post autor: Rgl »

Wydaje mi się że trzecia opcja jest tu najlepsza - skoro Ubuntu nie jest bramą a tylko ma dostęp do tych sieci musiałbyś w obydwu sieciach ustawić trasę do drugiej na serwer Ubuntu - w przeciwnym razie wszystkie pakiety z adresem do innej sieci będą wysyłane do bramy domyślnej dla tej sieci która nie wie gdzie je prawidłowo posłać dalej.

Kod: Zaznacz cały

iptables -t nat -A PREROUTING -p tcp -d 10.128.128.222 --dport 25 -j DNAT --to-destination 192.168.1.220
iptables -t nat -A POSTROUTING  -s 10.128.128.0/24 -o eth0 -j SNAT --to-source 192.168.1.222
Nie jestem pewien tych reguł - nie mam jak sprawdzić a dawno już nie pisałem regułek :(
Pierwsza powinna wszystkie połączenia tcp na adres 10.128.128.222 port 25 przekierować do serwera 192.168.1.220
Druga zamienia adresy źródłowe wszystkich połączeń wychodzących przez eth0 na adres twojego interfejsu eth0 (gdyby serwer pocztowy dostał pakiet od 10.128.128.10 nie wiedziałby jak mu odpowiedzieć, a tak odpowie do 192.168.1.222 - ten już będzie wiedział co zrobić z tym pakietem)
Niestety jak już pisałem nie jestem pewien tych regułek - ale wydaje mi się że mniej więcej tym tropem powinieneś iść.
Z sieci 10.x.x.x łączysz się z serwerem pocztowym pod adresem 10.128.128.222 - ten przekazuje pakiety dalej i dba o to aby pakiety z odpowiedzią od serwera trafiły do właściwego klienta.
alientm
Piegowaty Guziec
Piegowaty Guziec
Posty: 4
Rejestracja: 13 mar 2015, 14:44
Wersja Ubuntu: 14.04
Środowisko graficzne: Brak
Architektura: x86_64

Re: Iptables + prerouting (przekierowanie usługi mail)

Post autor: alientm »

Dziękuję za podpowiedź, na chwilę obecną podane rozwiązanie nie działa, ale jak czytam o PREROUTING i POSTROUTING to powinno, więc w tą stronę będę brnął i szukał rozwiązania.
Niby proste ale skomplikowane, no ale wiadomo jak coś się zrobi i zadziała to potem wydaje się to takie banalne :)
Ubek308
Zakręcona Traszka
Zakręcona Traszka
Posty: 574
Rejestracja: 25 maja 2011, 10:17
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86_64

Re: Iptables + prerouting (przekierowanie usługi mail)

Post autor: Ubek308 »

Oczywiscie. Tylko zdane egzaminy byly latwe.
Pamietaj o jednym:
Paczki musza byc transportowane w obie strony i obie strony musza wiedziec co gdzie dostarczyc.
I MÓC to dostarczyc. Po drodze sa płoty, bramki i straznicy.
Wyobraz sobie ze jestes pakietem TCP i chcesz dotrzec do celu...

PS:
Tak naprawde jest tu wiecej stron niz dwie...

Taka sobie zwykla logistyka a czasami jej filozofia sie przydaje.
ODPOWIEDZ

Wróć do „Sieci, serwery, Internet”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 22 gości