cz_ranger píše:Důvody pro tenhle postup jsou minimálně dva:
1) chci-li routovat 1 veřejnou IP, spotřebuju opravdu 1 a ne blok 4 IP adres
Router = 1IP na WAN + 1 IP na LAN (což stejně musí mít aby routing fungoval)
Klient = 1IP (kterou téže musí mít)
Jen nastavíte na hraničním routeru překlad veřejné IP na klientovu IP.
Kód: Vybrat vše
/ip firewall nat add chain=dstnat src-address=<veřejná klientova IP> in-interface=<WAN> to-addresses=<Klientova IP>
Hraniční router se bude pro ostatní před interfacem WAN tvářit jako že on je ta IP, ale ihned bude předávat všechny pakety klientovi s jeho změněnou dst-address, takže si klient bude myslet, že ostatní kontaktují přímo jeho.
cz_ranger píše:2) překlad přímo na centrálním routeru je sice funkční řešení, ale při stovkách uživatelů už trochu náročné, řešení překladu na routeru u každého zákazníka lépe využívá HW zdroje a umožňuje individuální řešení
To je něco jiného, bohužel s originálním RoS nemožného.Leda, že by router před vašim hraničním routerem měl nastavenu jako bránu váš hraniční router.
cz_ranger píše:Opravdu jde pouze o informaci, že paket pro tuhle IP ma hodit na tenhle interface, nic víc. Někde jsem zaslechl, že snad by to měla umět verze 3.
Bohužel vás musím zklamat.Neumí to žádný RoS z verze 2.9 a minimálně ani žádný do verze 3.0beta6(teï jsem do něj mrkl).Routy bez GW si vytváří automaticky podle
/ip address.To je holt ten rádobysoftware co se snaží myslet za uživatele. Pokud ale na tom opravdu trváte, existují dvě řešení:
1)Zbavit se na posledním routeru RouterOS
2)Hacknout RouterOS.Není to nic složitého.
Potřebujete jen nějaký
busybox s moduly
opentvt a
route/
ip/
iproute nebo něco podobného(ten zkompilovaný Debianí všechny tyto potřebné moduly už má v sobě, takže jde perfektně využít).Stačí namountovat hadr s RoS, nakopírovat do
/bin vás
busybox(Pozor!Nepřepište ten originální, ale přejmenujte ten vás třeba na
busybox.2),vytvořit /dev/tty12 v případě, že máte k PC monitor a nebo /dev/ttyS0 v případě, že se budete chtít přihlásit přez sériový port a v /etc/rc.d/run.d vytvořit spouštecí skript, který přes
/bin/busybox.2 openvt otevře na 12. konzoli (nebo na sériové nebo prostě kde si určíte)
/bin/bash.Pak už si na jí jen vytvořit routu přes
/bin/busybox.2 route vytvořit tuto routu a v případě, že bude fungovat ji umístnit do spouštěcích skriptů.Právě jsem to testoval a funguje to na jedničku.Teda v případě, že se bavíme o architektuře x86.