Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[Solved] Mikrotik jak przekierować porty?

szymon1051 25 May 2021 20:06 903 33
  • #1
    szymon1051
    Level 13  
    Mam światłowód router dostawcy na nim przekierowane porty na mikrotika. Przekierowanie działa bo widzę po adresie zewnętrznym mikrotika.

    Mam wszystkie porty w bridge1.
    W NAT mam (graficznie wyklikane)
    Code:
     0    chain=dstnat action=dst-nat to-addresses=192.168.33.7 to-ports=8006 
    
          protocol=tcp in-interface=bridge1 dst-port=8006 log=yes
          log-prefix="test_"


    Chce przekierować port 8006 na adres wewnętrzny 192.168.33.7:8006

    Co robi źle?
    W filtrach (w Firewall) mam być coś dodane?
    [28-30.06.2022, targi] PowerUP EXPO 2022 - zasilanie w elektronice. Zarejestruj się za darmo
  • #2
    Erbit
    Level 42  
    Ja bym zrobił tak:
    Quote:

    add action=dst-nat chain=dstnat dst-address=IP_PUBLICZNE dst-port=8006 in-interface=ether1-WAN protocol=tcp to-addresses=192.168.33.7 to-ports=8006


    Różnica jest w
    - in-interface (nie bridge)
    - dst-address=IP_PUBLICZNE dst-port=8006

    [edyta]
    Skąd sprawdzasz czy działa przekierowanie? Z wnętrza sieci?
  • #3
    szymon1051
    Level 13  
    Testuje z innej sieci, również z telefonu.

    Porty już nie w bridge, wskazane na port na którym mam internet i dalej przekierowanie nie działa.
  • #4
    KOCUREK1970
    Network and Internet specialist
    szymon1051 wrote:
    W filtrach (w Firewall) mam być coś dodane?

    IP-Firewall-NAT i tam dodajesz wpis zakładka general srcnat, potem niżej out interface list ze wskazaniem na WAN w MT, potem zakładka action i dajesz masquerade.
    Potem w tym samym miejscu (czyli nadal IP-Firewall-NAT) dodajesz drugi wpis zakładka general dstnat, niżej protocol tcp/udp (zależnie jaki rodzaj portu przekierowujesz), niżej dst port podajesz nr portu do przekierowania, potem zakładka action i wybierasz dst-nat, niżej to addresses podajesz jakiego IP w LAN dokładnie to dotyczy i to ports nr portu który przekierowujesz.
    Trochę pogmatwane, ale jak nie dasz rady, to zapodam obrazkowo.
  • #5
    szymon1051
    Level 13  
    Tak tylko żeby dodać interfejs wan muszę go wyrzucić z bridge. Jak to zrobię już po ping 192.168.33.7 nie odpowiada.

    Czyli muszę zrobić nata by to zadziałało? Nie mogę dać przekaż z adresu np 33.5 na adres 33.7 port 8006?

    Dodano po 9 [godziny] 6 [minuty]:

    Problem chyba nie leży w samym przekierowaniu tylko w tym że mikrotik nie widzi adresu 192.168.33.7 (adres wewnętrzny).
    Teraz jak zrobić by się widziały bez bridga?
  • #6
    takijasiu
    Level 25  
    Mój post nie poda Tobie wprost rozwiązania, ale zwróć uwagę na taki fakt:

    Jezeli masz wszystkie porty w bridge1, to tak jakby mikrotik byl switchem, tylko ze posiadajacym swoj wlasny adres IP. Ogólnie dla routerów odsyłanie ruchu tym samym interfejsem, którym ruch przyszedł, jest nietypowe.

    Skoro miktorik działa jako switch, to nic nie stoi na przeszkodzie, żebyś na routerze w miejsce istniejącego przekierowania na adres IP Mikrotika, zrobił przekierowanie na adres IP 192.168.33.7

    Dodano po 5 [minuty]:

    I jeszcze jedna sprawa.

    Wyobraż sobie scenariusz:

    Na host 192.168.33.7 wpada pakiet z adresu IP 8.8.8.8 i jest to próba nawiązania połączenia TCP na port 8006, pakiet przyszedł przez DNAT.

    Host 192.168.33.7 odsyła ten pakiet tam, gdzie mu routing pokazuje, czyli na 99% na Default Gateway - gdzie, powiedzmy że on ma adres 192.168.33.1 - no i na tym Default Gatewayu nastąpiło wcześniej DNAT tego TCP SYNa (nawiązującego połączenia) - więc następuje zaglądnięcie do tablicy NAT, translacja adresu, etc.

    A teraz wyobraż sobie, gdyby ten DNAT był wykonany na urządzeniu 192.168.33.15 (na Mikrotiku), to skąd ten biedny host 192.168.33.7 (ten co ma otwarty port 8006) ma wiedzieć, że pakiety do 8.8.8.8 ma odsyłać do Miktorika a nie do swojego Default GW?
  • #7
    szymon1051
    Level 13  
    Robię na mikrotiku bo chce się nauczyć a tamto od dostawcy ma dać tylko internet i ewentualnie adresacie (dhcp chyba na 50 adresów jest ustawione).

    Dałem bridga by się wszystko widziało jak w switchu, by internet mieć. Ale widzę że tak nie dam rady przekierować ruchu. Muszę jakoś inaczej to zrobić (nie tak łatwo :)).

    TCP SYN widzę w logach że coś próbuje ale utyka.

    Skoro widze TPC SYN to chyba pakiety z zewnątrz na mikrotika dochodzą tylko w wewnętrznej sieci problem.
  • #8
    takijasiu
    Level 25  
    Usiądz sobie wygodnie w fotelu i wyboraż sobie, że jesteś serwerem HTTP pod adresem 192.168.33.7, nasłuchującym na TCP/8006.

    Na intefejsie sieciowym en1 (jedynym jaki masz, tam właśnie masz 192.168.33.7) przychodzi pakiet TCP na Twój port 8006. Pakiet nadciąga z adresu źródłowego IP 30.70.50.11 i z portu źródłowego TCP 54325, ma ustawioną flagę SYN. Bardzo się cieszysz, bo to oznacza że ktoś chce skorzystać z Twojej usługi na porcie 8006.

    Żeby nawiązać komunikację musisz odesłać pakiet TCP z flagami SYN+ACK do nadawcy powyższego pakietu.

    Kminisz sobie tak: "gdzie by tu, motyla noga, odesłać pakiet TCP, żeby się nawiązała komunikacja?", dysponujesz następującym pakietem przychodzącym:

    MAC DST: 01:02:03:ab:cd:ef (Twój MAC na en1)
    MAC SRC: no załóżmy, że nie dowidziałeś co tu jest - to i tak nie ma znaczenia - ale tutaj jest MAC routera o adresie IP 192.168.33.1
    IP DST: 192.168.33.7 (Twój IP na en1)
    IP SRC: 30.70.50.11
    TCP DST: 8006
    TCP SRC: 54325

    Po soczystej rozkminie (obsłudze TCP w Twoim komputerze wykonanie tej rozkminy zajęło jakieś 2 milisekundy) generujesz taki pakiet TCP/IP:

    IP DST: 30.70.50.11 (bierze sobie z IP źródła)
    IP SRC: 192.168.33.7 (wstawiasz swój IP ten na który to żądanie SYN przyszło)
    TCP DST: 54325
    TCP SRC: 8006

    I taki pakiet zgłaszasz do systemu operacyjnego i mówisz "weź mi to wyślij". A system operacyjny zagląda sobie w tablicę routingu i widzi tam takie wpisy:

    to default via 192.168.33.1 dev en1 (gw)
    to 192.168.33.0/24 via dev en1 (directly connected)

    Patrzy na tą tablicę routingu i widzi tam jedną trasę do 30.70.50.11 - jest to trasa opisana "gw" i jest to brama domyślna.

    Wobec tego system operacyjny wysyła takie zapytanie broadcastem po L2 (to jest ARP request): "ej tam, kto ma IP 192.168.33.1, podawać mi tutaj swój MAC".

    Z en1 wraca odpowiedź ARP (pakiet ARP reply) i tak jest napisane "ej typie, ja 192.168.33.1 jestem tutaj pod MAC 01:05:07:99:66:99".

    W związku z tym system operacyjny bierze ten Twój pakiet TCP/IP zawierający odpowiedź TCP SYN+ACK - czyli ten:

    IP DST: 30.70.50.11 (bierze sobie z IP źródła)
    IP SRC: 192.168.33.7 (wstawiasz swój IP ten na który to żądanie SYN przyszło)
    TCP DST: 54325
    TCP SRC: 8006

    I przepycha go przez L2 z takimi MACami:

    MAC DST: 01:05:07:99:66:99 (taki MAC zgłosiła stacja 192.168.33.1, którą Twój komputer uważa za właściwą trasę do sieci 30/8, tudzież 30.0.0.0/8 jak niektórzy napiszą)
    MAC SRC: 01:02:03:ab:cd:ef (Twój MAC na en1)

    Jak być może zawuażyłeś, Twojego systemu operacyjnego zupełnie nie interesuje, z jakiego MAC adresu przyszedł pakiet źródłowy TCP/IP, na który odpowiadasz. Twój system operacyjny interesuje wyłącznie pakiet odpowiedziowy, który wygenerowałeś - a on ma tylko SRC IP i DST IP.

    W związku z czym, masz podłączoną bezpośrednio (po en1) sieć 192.168.33.0/24, masz ustawiony default gw na 192.168.33.1 i jest to jedyna trasą jaką ten komputer zna. Jeżeli w takim przypadku jakaś inna stacja (w tym przypadku Mikrotik) przyśle taki pakiet:

    MAC DST: 01:02:03:ab:cd:ef (Twój MAC na en1)
    MAC SRC: aa:bb:cc:01:66:44 (to adres MAC Mikrotika jest)
    IP DST: 192.168.33.7 (Twój IP na en1)
    IP SRC: 130.170.150.11
    TCP DST: 8006
    TCP SRC: 15922

    To proszę wypełnij poniższe wartości w pakiecie będącym odpowiedzią na powyższy (przy takiej tablicy routingu jak tam jest podana):

    IP DST: ?.?.?.? (skąd się bierze?)
    IP SRC: ?.?.?.? (skąd się bierze?)
    TCP DST: ? (skąd się bierze?)
    TCP SRC: ? (skąd się bierze?)
    MAC DST: ??:??:??:??:??:?? (skąd się bierze?)
    MAC SRC: ??:??:??:??:??:?? (skąd się bierze?)

    Oraz odpowiedz na następujące pytanie: jakie urządzenie odbierze ten pakiet (masz łatwo, bo w sieci są tylko 3 urządzenia: komputer, router i mikrotik) - czyli innymi słowy: do jakiego urządzenia jest przeznaczony ten pakiet?
  • Helpful post
    #9
    przeqpiciel
    Network and Internet specialist
    @szymon1051
    1. WAN nie może być w bridge z siecią LAN. Usuń WAN z tego bridge. Jeżeli w takim wypadku tracisz dostęp do intenretu z sieci LAN to najwyraźniej brakuje Tobie SNATa. Poniżej konfiguracja dla mojej sieci LAN 192.168.10.0/24
    Mikrotik jak przekierować porty? Mikrotik jak przekierować porty?
    Taka konfiguracja powinna spowodować dostęp do sieci Internet dla Twojej sieci LAN (jak dostosujesz pod siebie)
    2. Przekierowanie portów. Nie podaje Dst. Address bo uważam to trochę bez sensu. Wskazuje poprostu interfejs, na którym oczekuje ruchu z internetu - nic innego mi tam nie zapuka. Wskazuje protokół - TCP oraz port na który ktoś ma zapukać -> 80
    Mikrotik jak przekierować porty?
    Następnie jaka ma być podjęta akcja. Przerzuć pakiet do 192.168.10.1 (głupi przykład bo w moim przypadku to router, ale chodzi tutaj o podanie docelowego adresu IP w Twojej sieci komputerowej) oraz na jaki port to ma być przepchane - tutaj 8080, jak nie podasz w tym miejscu portu to będzie pchane na port z Dst Port.
    Mikrotik jak przekierować porty?

    Dodano po 2 [minuty]:

    Edit: nie zapomnij o poprawnych regułach FORWARD na firewall
  • #10
    szymon1051
    Level 13  
    Problem jest w dym że eth1 (wan) nie widzi (ping nie odpowiada) komputera (192.168.33.7) na eth4, jak nie są w bridge1.

    Pewnie tu jest problem bo mikrotik nie wie gdzie przekierować ten ruch.


    Internet na mikrotiku mam. Tylko reszta sieci się nie widzi.
  • #12
    szymon1051
    Level 13  
    Jak połączę kablem komputer 192.168.33.7 i komputer np 192.168.33.14 to połączenie jest na porcie 8006. Natomiast jak podepnę oba komputery do mikrotika to już siebie nie widzą.
    Jak wszystkie porty były w bridge1 to się widziały.

    Na mikrotiku trzeba coś ustawić by ehernety siebie widziały?
  • #14
    szymon1051
    Level 13  
    Ale w bridge nie mogę mieć eth1 bo mam na przekierowaniu wskazany (in. interface). A jak da się eth1 do bridge to jest slave i nie może być.
    Więc chyba eth1 dalej nie widzi reszty sieci i dlatego na reszcie sieci nie mam też internet.
  • #16
    szymon1051
    Level 13  
    Tak mam zrobione jak na Twoich obrazkach.

    Dodatkowo wszystkie porty po za eth1 w bridge.
    W sieci lokalnej komputery się widzą, ale nie mają internetu, bo chyba nie widzą routera dostawcy internetu.

    Przekierowanie utyka tam gdzie utykało. Czyli chyba mikrotik i tpc syn (w logach jest).
  • #17
    przeqpiciel
    Network and Internet specialist
    dobrze, więc komputery się widzą w sieci lokalnej, przemieszczając się od komputera do internetu po kolei.

    0. na potrzeby testów wyłącz FW na mikrotiku, po zakończeniu testów go włącz o ile go wyłączyłeś
    1. czy z komputera jesteś w stanie spingować Mikrotika (bridge mikrotika, do którego wsadziłeś porty lanowe powinien mieć nadaną adresację)
    2. czy z mikrotika jesteś w stanie spingować 8.8.8.8?
    3. czy z komputera jesteś w stanie spingować 8.8.8.8?
  • #18
    szymon1051
    Level 13  
    0.
    firewall filter są tylko dropy zewnętrznych adresów co próbowały się logować i forward do przekierowania

    1. mam adres ustawiony na eth1 i jak ustawie dodatkowy adres czy to na port czy bridge nie mogę się zalogować z zewnątrz. Jak ustawiłem na bridge to komputery nie były wstanie pingować tego adresu ale w winbox pokazywał się zamiast 0.0.0.0

    3. tak na mikrotiku odpowiada adres 8.8.8.8

    4. na komputerach nie odpowiada adres 8.8.8.8
  • #19
    przeqpiciel
    Network and Internet specialist
    to co tutaj opisujesz jest mocno dziwne.
    eth1 masz podpiety do modemo-routera od dostawcy internetu, który jest przełączony w bridge? eth1 powinien dostać adres IP poprzez DHCP i tym samym mikrotik powinien bez problemu móc się komunikować z internetem, patrząc po #3 rozumiem, że to działa

    utworzyłeś bridge jakiś tam, nazwijmy go br_lan, br_lan wymaga nadania adresu IP, tutaj pamiętam że popełniałem błąd i nie podawałem go w formacie CIDR tylko wpisywałem sam adres IP, co powodowało brak komunikacji z mikrotikiem od strony LAN, zatem czy adres br_lan to 192.168.33.1/24 czy 192.168.33.1 ? jeśli #2 to zmień na format #1.
    dodaj port, do którego masz podpięty komputer do br_lan i nadaj swojemu komputerowi adres IP 192.168.33.10/24. wykonaj ping z komputera na adres 192.168.33.1
  • #20
    szymon1051
    Level 13  
    Adres dla eth1 mam na sztywno podany w address list i ma tam 192.168.33.5/24 i jest po za zakresem dhcp od dostawcy wiec nic innego go nie dostanie.
    Tak i mikrotik się komunikuje.

    eth2, eth3 ,eth4 są w bridge1 daje mu przykładowo 192.168.33.6/24 w address list. Jak tak zrobię logowanie z zewnątrz wywala.

    W lokalnej sieci.
    Jeden komputer 33.7(eth4) i drugi 33.10(eth3), pingują siebie.
    Pingują adres bridga 33.6
    Nie pingują 33.5 (eth1) i 33.1 router dostawcy.
  • #22
    KOCUREK1970
    Network and Internet specialist
    szymon1051 wrote:
    Adres dla eth1 mam na sztywno podany w address list i ma tam 192.168.33.5/24 i jest po za zakresem dhcp od dostawcy wiec nic innego go nie dostanie.
    Tak i mikrotik się komunikuje.

    Ten 192.168.33.5/24 to adres IP na eth1 WAN przyznany przez operatora, czy Ty sam sobie tak ustawiłeś?
    Na eth1 jeśli jest WAN, powinna być adresacja static, automatic lub PPPoE wszystko przyznane przez operatora!
  • #24
    KOCUREK1970
    Network and Internet specialist
    @przeqpiciel
    Nie sądzisz, że lepiej by było, by Autor zrobił reset MT i all ustawił od początku, uwzględniając nasze rady?
    Pytam, bo skoro tu już takie błędy, to co może być pogmatwane dalej...
  • #26
    szymon1051
    Level 13  
    KOCUREK1970 wrote:
    szymon1051 wrote:
    Adres dla eth1 mam na sztywno podany w address list i ma tam 192.168.33.5/24 i jest po za zakresem dhcp od dostawcy wiec nic innego go nie dostanie.
    Tak i mikrotik się komunikuje.

    Ten 192.168.33.5/24 to adres IP na eth1 WAN przyznany przez operatora, czy Ty sam sobie tak ustawiłeś?
    Na eth1 jeśli jest WAN, powinna być adresacja static, automatic lub PPPoE wszystko przyznane przez operatora!


    Sieć
    1->2->3
    +czasem 2 komputer do testów

    1 router światłowodowy na skrętce ma ustawiony adres 192.168.33.1 rozdaje w dhcp .33.150 - .33.200
    na nim mam przekierowane porty na .33.5

    2 mikrotik
    mikrotik ma podbierający port z internetem eth1 i adres .33.5 by przekierowanie działało
    bridge dla reszty eth ma adres .30.1

    3 komputer o adresie 33.7 na który ma być przekierowany 1 port, wpięty do mikrotika
    teraz po zmianach mam 30.7



    Tak wiem mogę dać na mikrotiku wszystko w bridge i będzie działał jako switch i na tym routerze od dostawcy dać od razu by kierowało na .33.7

    przeqpiciel wrote:
    I tu jest pies pogrzebany. Nie możesz mieć od dostawcy i w swojej sieci tej samej adresacji. Jak od dostawcy dostajesz 192.168.33.0/24 to ustaw u siebie np 192.168.30.0/24 i wróć do testów


    Internet działa na komputerze.

    Będę dalej testował.
  • #27
    KOCUREK1970
    Network and Internet specialist
    @szymon1051
    Na routerze opa jak piszesz jest aktywne DHCP - rozumiem, że to się tyczy adresacji LAN z routera opa?
    Ale na MT też masz aktywne DHCP na eth1, 2, 3, 4 itd?
    Na eth1 w MT masz aktywne DHCP, celem aktywowania internetu? (czy w takim układzie MT nie powinien być w opcji bridge a nie router).

    Najlepiej by było sprzęt opa dać w modem/bridge i całym ruchem wtedy zarządza, NATuje MT.
    Bo mam jakies takie wrażenie, że masz to niezłe tam pokitraszone, z błędów w założeniu jak to dalej puścić już na MT.
  • #28
    szymon1051
    Level 13  
    DHCP jest tylko na routerze opa.

    Na mikrotiku mam dodaną teraz 2 sieć i na sztywno adresy.

    Z założenia chciałem ogarniać wszystko przez mikrotika. Jak tego do końca nie wiem :).

    KOCUREK1970 wrote:
    Najlepiej by było sprzęt opa dać w modem/bridge i całym ruchem wtedy zarządza, NATuje MT.

    Czyli wszystko w bridge na MT (all lan)?

    Przy okazji co zmienia w interface->interface list -> przypis do listy wan lub lan?
  • #29
    przeqpiciel
    Network and Internet specialist
    Bridge mode na modemie operatora a bridge w mikrotiku to 2 różne zagadnienia.

    Teraz mikrotik tobie robi za router.

    Co daje przypisanie do interface list? Jedynie wprowadza porządek do konfiguracji. Np. w regułach fw konfigurujesz że jeśli przyjdzie pakiet na interfejsy WAN wtedy forwarduj zamiast obecnej wersji jak przyjdzie na konkretny interfejs.
  • #30
    szymon1051
    Level 13  
    Przekierowanie działa.

    Może też wcześniej działało ale panel do którego chciałem przekierować działa tylko po ssl i zewnątrz nie chce się połączyć.

    Ale wirtualna która dostała adres z dhcp z miktotika i ma serwer lighttpd działa, na 80 jak i tym 8006 porcie.