Nastavitve RouterOS (MikroTik) - potrebujem pomoč

Zdravo,

že nekaj časa se na podlagi priporočil spogledujem z MikroTik routerji in pred kratkim, ko mi je odpovedal obstoječi router, je padla odločitev - kupil sem RB951G-2HnD in se v zadnjih dneh spoznavam z RouterOS (zadnja različica 6.28).

Osnovna konfiguracija je bila dokaj enostavna, predvsem zahvaljujoč funkciji "Quick Set", ki so jo v OS dodali od verzije 5.15 naprej. Uspešno sem nastavil "Static IP", zavaroval Wi-Fi in se poigral z nekaj funkcionalnostmi, ki jih router omogoča (npr. mrežni dostop do USB ključka preko SMB - sicer sem že tukaj spoznal, da NTFS podpore zaenkrat še ni, temveč le FAT32 in EXT3).

Težavo pa imam pri konfiguraciji "port forwardinga" (IP -> Firewall -> NAT). Prebral sem Mikrotikov Wiki, nekaj forumov, blogov, YouTube filmčkov, zadeva bi morala biti dokaj enostavna, vendar meni nikakor ne deluje. Pričel sem s čisto osnovo, da bi npr. port 80 preusmeril na lokalni web server, pa se je že tukaj ustavilo, saj se mi je namesto web serverja, oglasil kar admin vmesnik od routerja. Potem sem poskusil, da bi testno zunanji 8080 preusmeril na notranji 80, vendar neuspešno, saj se od zunaj, ko dostopam na http://STATIC-IP:8080 sploh nič ne odziva. Želel bi sledeče kombinacije:
- HTTP: port forward iz STATICIP:80 -> LOCALIP:80 - to je npr. klasika
- RDP: port forward iz STATICIP:4000 -> LOCALIP:3389 - torej od zunaj drugačen port, kot je nato preusmerjen lokalno, vendar z omejitvijo zgolj na specifične zunanje IP-je (npr. da lahko do RDP-ja dostopam le iz določenih lokacij, ki imajo vse po vrsti statični IP, ki bi jih vnesel v listo dovoljenih)

Glede na to, da vas je na tem forumu kar nekaj uporabnikov teh routerjev in imate nekateri poglobljeno znanje, se priporočam za kakršenkoli nasvet. Morda bi lahko ta tema služila tudi v bodoče za nova vprašanja, ki jih bodo imeli novopečeni lastniki routerjev z RouterOS sistemom.

Že vnaprej hvala za kakršenkoli nasvet.

16 odgovorov

Moj firewall izgleda tako(Malo sem kompliciral ja):

[XXX@MikroTik] > /ip firewall filter print

Flags: X - disabled, I - invalid, D - dynamic
0    ;;; Accept established connections
      chain=input action=accept connection-state=established log=no
      log-prefix=""

1    ;;; Drop invalid connections
      chain=input action=drop connection-state=invalid log=no log-prefix=""

2    ;;; Allow limited pings
      chain=input action=accept protocol=icmp limit=50/5s,2 log=no
      log-prefix=""

3    ;;; Drop excess pings
      chain=input action=drop protocol=icmp log=no log-prefix=""

4    ;;; From private LAN
      chain=input action=accept src-address=XXX.XXX.XXX.XXX/24
      in-interface=!wan-1 log=no log-prefix=""

5    ;;; From guest LAN
      chain=input action=accept src-address=YYY.YYY.YYY.YYY/24
      in-interface=!wan-1 log=no log-prefix=""

6    ;;; VPN
      chain=input action=accept protocol=udp port=500,1701,4500 log=yes
      log-prefix=""

7    chain=input action=accept protocol=ipsec-esp log=no log-prefix=""

8 X  ;;; Log everything else
      chain=input action=log log=no log-prefix="DROP INPUT"

9    ;;; Drop everything else
      chain=input action=drop log=no log-prefix=""

10    ;;; Drop invalid connections
      chain=forward action=drop connection-state=invalid protocol=tcp log=no
      log-prefix=""

11    ;;; Accept established connections
      chain=forward action=accept connection-state=established log=no
      log-prefix=""

12    ;;; Accept related connections
      chain=forward action=accept connection-state=related log=no log-prefix=""

13    ;;; Drop bogon IP addresses
      chain=forward action=drop src-address=0.0.0.0/8 log=no log-prefix=""

14    chain=forward action=drop dst-address=0.0.0.0/8 log=no log-prefix=""

15    chain=forward action=drop src-address=127.0.0.0/8 log=no log-prefix=""

16    chain=forward action=drop dst-address=127.0.0.0/8 log=no log-prefix=""

17    chain=forward action=drop src-address=224.0.0.0/3 log=no log-prefix=""

18    chain=forward action=drop dst-address=224.0.0.0/3 log=no log-prefix=""

19    chain=forward action=drop src-address=127.0.0.0/8 log=no log-prefix=""

20    chain=forward action=drop dst-address=127.0.0.0/8 log=no log-prefix=""

21    chain=forward action=drop src-address=224.0.0.0/3 log=no log-prefix=""

22    chain=forward action=drop dst-address=224.0.0.0/3 log=no log-prefix=""

23    ;;; DROP ALL From WAN
      chain=input action=drop in-interface=wan-1 log=no log-prefix=""

NAT(Trenutno je zaradi VPN-ja rule onemogočen):

[XXX@MikroTik] > /ip firewall nat print
Flags: X - disabled, I - invalid, D - dynamic
 0    ;;; PPPoE - Masquerade
      chain=srcnat action=masquerade out-interface=pppoe-SIOL log=no
      log-prefix=""

 1 X  ;;; Notebook - RDP
      chain=dstnat action=dst-nat to-addresses=SERVER_IP to-ports=3389
      protocol=tcp in-interface=wan-1 dst-port=7452 log=yes log-prefix=""

Potem na koncu pa da sem še malo zakompliciral zadevo pa queue:

Zadeva deluje odlično, HTTP odpira hitro tudi če laufa P2P ali nekdo gleda youtube(Če se prenese v connectionu več kot 5MB označi kot HTTP BIG paket in dobi nižjo prioriteto )...

1

Hm, sem poskusil izbrisati vse svoje privzete nastavitve za firewall filtre in importal tvoje, pa port forward kljub temu ne gre skozi, tako da mora biti pomojem nekje drugje trik.

Npr. VPN sem pa uspel vzpostaviti v prvem poskusu (v kolikor ga enablaš preko "Quick set", ti v filter in NAT doda zahtevane nastavitve portov).

Torej tvoj NAT za HTTP izgleda tako:

chain=dstnat action=dst-nat to-addresses=SERVER_IP to-ports=80
      protocol=tcp in-interface=wan-1 dst-port=80 log=yes log-prefix=""

SERVER_IP je lokalni IP strežnika
wan-1 je interface ki se uporablja za internet ...

Poizkusi iz filter rules izbrisati vse in dodati samo to:

ip firewall filter add chain=forward connection-state=established,related action=accept

Tukaj imaš en simple primer kako narediti za FTP...

http://wiki.mikrotik.com/wiki/Manual:IP/Firewall/NAT

1

Jao jao, tudi to ni delovalo, vendar sem ugotovil v čem je težava. Windows 8.1, na katerega začasno forwardiram porte, so novo omrežje prepoznali kot "Public", pri katerem požarni zid Windowsov zapre določene porte. Torej, router je že spustil skozi, končni računalnik je bil problem. Čim sem iz "Public" prestavil na "Home" oz. "Work Network" je pričelo delovati. Nisem pomislil na to, ker čim sem računalnik povezal na drug router, je pa vse delovalo brez težav.

Hvala vsem za pomoč! Port forward torej osvojen, filter rula niti nisem rabil dodajati, sedaj pa raziskujem dalje, kako postaviti Guest Wi-Fi, ki je izoliran od omrežja, torej lahko z njim le brskamo po WWW (port 80), medtem ko gost ne sme imeti dostopa do ostalih računalnikov v mreži itd.

Eno vprašanje še za poznavalce RouterOS. Na router sem povezal računalnik, ki igra vlogo spletnega strežnika in od zunaj so vse spletne strani dostopne brez težav, ko pa poskušam do njih dostopati znotraj mreže (npr. vtipkam url spletne strani), se namesto spletne strani prikaže login forma routerja. Katero stvar bi moral na routerju nastaviti, da bi bile spletne strani dosegljive tudi znotraj mreže?

Sem že uspel urediti. Spodaj pošiljam kako sem uredil:

69.69.69.69 - External IP
192.168.1.101 - Internal server IP

/ip firewall nat
add chain=dstnat action=dst-nat dst-address=69.69.69.69 to-addresses=192.168.1.101 place-before=0
add chain=srcnat action=src-nat dst-address=192.168.1.101 to-addresses=69.69.69.69 place-before=0