Stránka 1 z 1
Natování lokální IP do veřejné
Napsal: 18 Jun 2016 10:35
od barneby
Zdravím,
Mám mikrotik kde je na lanu dhcp server který přiděluje ip adresy ve tvaru 192.168.2.x a potom mám několik veřejným IP adres, pomocí tohoto pravidla si ty lokální natuju do veřejné:
Kód: Vybrat vše
chain=srcnat src-address=VNITRNI_IP action=netmap
to-addresses=VEREJNA_IP
chain=dstnat dst-address=VEREJNA_IP action=netmap
to-addresses=VNITRNI_IP
Všechno funguje jak má ale problém začne když chci ze serveru který je na lokálu odeslat mail. Samotný mikrotik nemám na veřejné IP a pokaždé když chci odeslat mail tak se odesíla přes IP toho mikrotiku nikoliv přes tu veřejnou natovanou IP. Jak to tedy mám natovat aby úplně všechen provoz včetně SMTP šel jen přes tu veřejnou IP?
Budu rád za každou radu, díky.
Re: Natování lokální IP do veřejné
Napsal: 18 Jun 2016 22:35
od ludvik
Netmap je mapování adres 1:1 oběma směry (jestli jsem to dobře pochopil). Takže ti ta adresa utíká mimo. Ukonči chain srcnat univerzálním pravidlem s action src-nat.
Re: Natování lokální IP do veřejné
Napsal: 18 Jun 2016 23:33
od ludvik
Ono hlavně netmap byl kdysi způsob, jak bezestavově měnit IP v paketech ... pochybuji, že tohle mikrotik používá, jelikož to z jádra už dávno zmizelo. Bude to tedy netfilter target, což je jen zjednodušení zápisu srcnat (a dstnat). Má ovšem podmínku, že musí souhlasit počty IP na zdrojové i cílové straně. Tedy zjednodušeně mám-li na LAN 192.168.2.0/24, musím mít na WAN blok veřejných adres taktéž /24. Pak to bude fungovat nejspíš tak, jak člověk čeká.
Pokud to nesedí, je asi čitelnější si to napsat prostě ručně pomocí srcnat. Nejdřív vnitřní IP, které mají výjimku a tedy vlastní veřejnou a jako poslední pravidlo (jak jsem zmiňoval) univerzální, co udělá NAT na všechno. Pak se nemůže stát, že bude nějaká IP nepřeložená (alespoň ne kvůli chybě v konfiguraci).
Tím se dokonce zabezpečí zaNATování toho vlastního routeru ... když se chce.
srcnatu se netřeba bát ... můžu překládat kolik chci vnitřních adres na jednu vnější (možná dokonce i více vnějších, ale to nepoužívám tak nevím jak to přesně funguje). dstnat umí v podstatě totéž, ale logicky obráceně a většinou je to 1:1 (jiný vztah je sice možný, ale nejspíš vcelku zbytečný).
Re: Natování lokální IP do veřejné
Napsal: 19 Jun 2016 15:57
od barneby
Dobře nastavil jsem to teda takhle:
Kód: Vybrat vše
ip firewall nat> add action=dst-nat chain=dstnat \
dst-address=VEREJNA_IP/32 to-addresses=VNIRNI_IP
ip firewall nat> add action=src-nat chain=srcnat \
src-address=VNITRNI_IP/32 to-addresses=VEREJNA_IP
Funguje to ale srejně jako předtím na veřejku se dostanu a všechno ostatní okolo portů atd.. taky funguje ale když si odeslat mail tak zase nic. Pořád se ho snaží odeslat přes IP routeru nikoliv přes tu danou veřejnou IP.
Re: Natování lokální IP do veřejné
Napsal: 19 Jun 2016 16:13
od mirek.k
To spíš vypadá na to, že server má více adres a neposílá to z té namapované na veřejnou.
Vše by měl osvětlit Torch.
Mirek
Re: Natování lokální IP do veřejné
Napsal: 19 Jun 2016 17:27
od ludvik
Hlavně jsi neudělal to, co jsem ti řekl ...
Re: Natování lokální IP do veřejné
Napsal: 20 Jun 2016 16:29
od barneby
ludvik píše:Hlavně jsi neudělal to, co jsem ti řekl ...
Jakto? No dal jsem tam srcnat i dstnat.. Vnítřní rozsah je /24 veřejný je /28 takže to nesouhlasí. srcnat nic nedělá takže jsem nechal jen dstnat který adresy překládá ale s tou chybu pro SMTP. Pravidlo mám jako první.

Re: Natování lokální IP do veřejné
Napsal: 20 Jun 2016 16:39
od barneby
mirek.k píše:To spíš vypadá na to, že server má více adres a neposílá to z té namapované na veřejnou.
Vše by měl osvětlit Torch.
Mirek
V Torchu je vidět že veškerý odchozí provoz ze serveru jde přes IP routeru.
Re: Natování lokální IP do veřejné
Napsal: 20 Jun 2016 16:43
od mirek.k
Trochu nechápu ty rozsahy.
Myslím že obvyklejší je mapovat jednu veřejnou adresu na jednu vnitřní a naopak.
Toto se mi zdálo v zásadě správně:
Kód: Vybrat vše
ip firewall nat> add action=dst-nat chain=dstnat \
dst-address=VEREJNA_IP/32 to-addresses=VNIRNI_IP
ip firewall nat> add action=src-nat chain=srcnat \
src-address=VNITRNI_IP/32 to-addresses=VEREJNA_IP
Nedával bych tam to /32, ale nemělo by vadit.
Co říká Torch v případě této konfigurace?
Mirek
Re: Natování lokální IP do veřejné
Napsal: 20 Jun 2016 16:52
od barneby
mirek.k píše:Trochu nechápu ty rozsahy.
Myslím že obvyklejší je mapovat jednu veřejnou adresu na jednu vnitřní a naopak.
Toto se mi zdálo v zásadě správně:
Kód: Vybrat vše
ip firewall nat> add action=dst-nat chain=dstnat \
dst-address=VEREJNA_IP/32 to-addresses=VNIRNI_IP
ip firewall nat> add action=src-nat chain=srcnat \
src-address=VNITRNI_IP/32 to-addresses=VEREJNA_IP
Nedával bych tam to /32, ale nemělo by vadit.
Co říká Torch v případě této konfigurace?
Mirek
Nastavil jsem to podle téhle konfigurace nedal tam to /32 a přidal k tomu out-interface=wan a in-interface=wan takže to teď vypadá takto:
Kód: Vybrat vše
add chain=srcnat action=src-nat to-addresses=VEREJNA_IP src-address=LOKALNI_IP out-interface=wan
add chain=dstnat action=dst-nat to-addresses=LOKALNI_IP dst-address=VEREJNA_IP in-interface=wan
A najednou to funguje.. Asi v tom měl RouterOS bordel a potřebuje vědět z jaké a do jaké interface to jde.
Všem Vám moc děkuju za pomoc.
Re: Natování lokální IP do veřejné
Napsal: 21 Jun 2016 00:20
od ludvik
Nemohl jsem vědět, co jsi udělal, když jsi informaci o maškarádě poskytl až potom. Mimochodem maškaráda má out-interface povinný ... Je mi ovšem trochu divný, že by ho měl vyžadovat i src-nat. Pozice v packet-flow je poměrně přesně daná, není k tomu důvod ho znát.
Kombinaci dst&src-nat a masquarade jsem ale nikdy neměl potřebu zkoušet, tak bůhví, jestli to nemá souvislost.
Čím víc informací poskytneš, tím lépe se nám věští z koule ...
Žádost o torch znamenala zjistit, co leze z toho SMTP. Ne jak leze z toho routeru.