Iptables + prerouting (przekierowanie usługi mail)
-
- 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)
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.
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.
-
- 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)
A co pokazuje telnet z 10.128.128.10 do 10.128.128.222 na port 25?
-
- 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)
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ć ?
-
- 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)
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?
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?
-
- 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)
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.
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.
-
- 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)
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.
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.
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

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.
-
- 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)
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
Niby proste ale skomplikowane, no ale wiadomo jak coś się zrobi i zadziała to potem wydaje się to takie banalne

-
- 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)
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.
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.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 22 gości