Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[NND] Przekierowanie portów NND nie działa

MES Mariusz 24 Lis 2007 22:22 5510 13
  • #1 24 Lis 2007 22:22
    MES Mariusz
    Poziom 36  

    W FAQ dystrybucji NND można odnaleźć:

    Cytat:
    50. Jak przekierować port na komputer w LANie?
    Znajdź w pliku /etc/iptables/firewall te linie:

    Code:
    # pingi pozwalamy
    
    $i -A INPUT -p icmp --icmp-type echo-request -j ACCEPT -m limit --limit 1/sec

    I pod nimi dopisz:

    Code:
    iptables -I FORWARD -p tcp -d 192.168.1.10 --dport 1234 -j ACCEPT
    
    iptables -t nat -A PREROUTING –i $EXTIF -p tcp --dport 5678 -j DNAT --to 192.168.1.10:1234


    192.168.1.10 to IP na które port ma być przekierowany
    1234 to port otwarty na tej maszynie
    5678 to port na którym nasłuchuje serwer (może być taki sam, jak port na komputerze z LANu, ale nie musi).
    Jeden port można przekierować tylko na jedno IP. Jeśli przekierowanie nadal nie działa, to sprawdź firewalla na komputerze w LANie, przeczytaj to: (pytanie o zmianę ftp i ssh) i pamiętaj, ze przekierowania nie sprawdzisz z komputera w LANie. Poproś o to kogoś spoza Twojej sieci.


    Ok. Czyli rozumiem, że możliwa jest sytuacja kiedy 1234 = 5678.

    Chcę teraz przekierować porty w taki sposób:

    5811 -> 192.168.0.11
    5812 -> 192.168.0.12
    5813 -> 192.168.0.13

    Czyli wpisuję:

    Code:
    iptables -I FORWARD -p tcp -d 192.168.0.11 --dport 5811 -j ACCEPT
    
    iptables -t nat -A PREROUTING –i $EXTIF -p tcp --dport 5811 -j DNAT --to 192.168.1.11:5811

    iptables -I FORWARD -p tcp -d 192.168.0.12 --dport 5812 -j ACCEPT
    iptables -t nat -A PREROUTING –i $EXTIF -p tcp --dport 5812 -j DNAT --to 192.168.1.12:5812

    iptables -I FORWARD -p tcp -d 192.168.0.13 --dport 5813 -j ACCEPT
    iptables -t nat -A PREROUTING –i $EXTIF -p tcp --dport 5813 -j DNAT --to 192.168.1.10:5813


    Czy dobrze zrozumiałem?

    0 13
  • Pomocny post
    #2 24 Lis 2007 23:07
    mbo
    VIP Zasłużony dla elektroda

    MES Mariusz napisał:

    Ok. Czyli rozumiem, że możliwa jest sytuacja kiedy 1234 = 5678.


    Nie - to tylko przykładowe cyfry.

    Cytat:

    [code]iptables -I FORWARD -p tcp -d 192.168.0.11 --dport 5811 -j ACCEPT
    iptables -t nat -A PREROUTING –i $EXTIF -p tcp --dport 5811 -j DNAT --to 192.168.1.11:5811


    Dobrze.

    0
  • #3 24 Lis 2007 23:14
    MES Mariusz
    Poziom 36  

    mbo napisał:
    MES Mariusz napisał:

    Ok. Czyli rozumiem, że możliwa jest sytuacja kiedy 1234 = 5678.


    Nie - to tylko przykładowe cyfry.

    No wiem, wiem, chciałem się tylko upewnić, czy mogą być takie same.

    Czyli jest to pewnie coś w rodzaju portu wewnętrznego i zewnętrznego tak jak to ma miejsce podczas konfiguracji forwardowania w urządzeniach sprzętowych?

    A tak przy okazji dotyczy to TCP, UDP czy obu na raz?

    0
  • #4 24 Lis 2007 23:27
    mbo
    VIP Zasłużony dla elektroda

    MES Mariusz napisał:

    Czyli jest to pewnie coś w rodzaju portu wewnętrznego i zewnętrznego tak jak to ma miejsce podczas konfiguracji forwardowania w urządzeniach sprzętowych?


    To są 2 reguły dotyczące tego samego portu - pierwsza umożliwia komunikację na tym porcie, druga przekierowuje ten port na IP 192.168.1.11.

    Cytat:

    A tak przy okazji dotyczy to TCP, UDP czy obu na raz?


    TCP - jest to wprost wpisane w regułach.

    0
  • #5 16 Gru 2007 14:06
    MES Mariusz
    Poziom 36  

    Coś mi nie śmiga to przekierowanie. W swojej dystrybucji doinstalowałem firewalla listonosz ( http://www.listonosz.com.pl/ ). Czy to coś zmienia w sposobie konfiguracji przekierowania portów? Zakładam, że może tak być.

    Moja sytuacja:

    Neostrada -> Router ADSL (IP 192.168.1.1) -> Router NND (IP 192.168.1.100) -> Komputery korzystające z DHCP przydzielanego po MAC-u (pula 192.168.0.11-192.168.0.34).

    Router NND jest włączony wyłącznie w weekendy (stąd dwa routery - pod NND podpięte są komputery z pracowni komputerowej, a bezpośrednio pod router ADSL pozostałe komputery w budynku, z ciągłym dostępem do internetu - nawet kiedy NND jest wyłączony).

    Potrzebuję przekierować porty z puli 5811-5834 na komputery za NND.

    Stąd:

    1. W routerze ADSL mam przekierowane porty z puli 5811-5834 na adres 192.168.1.100 (adres routera NND widziany od strony routera ADSL)

    2. W routerze NND mam przekierowane porty zgodnie z faq NND, czyli

    Plik: /etc/iptables/firewall

    Code:

        iptables -I FORWARD -p tcp -d 192.168.0.11 --dport 5811 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5811 -j DNAT --to 192.168.0.11:5811

        iptables -I FORWARD -p tcp -d 192.168.0.12 --dport 5812 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5812 -j DNAT --to 192.168.0.12:5812

        iptables -I FORWARD -p tcp -d 192.168.0.13 --dport 5813 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5813 -j DNAT --to 192.168.0.13:5813
           
        iptables -I FORWARD -p tcp -d 192.168.0.14 --dport 5814 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5814 -j DNAT --to 192.168.0.14:5814
       
        iptables -I FORWARD -p tcp -d 192.168.0.15 --dport 5815 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5815 -j DNAT --to 192.168.0.15:5815
       
        iptables -I FORWARD -p tcp -d 192.168.0.16 --dport 5816 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5816 -j DNAT --to 192.168.0.16:5816

        iptables -I FORWARD -p tcp -d 192.168.0.17 --dport 5817 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5817 -j DNAT --to 192.168.0.17:5817

        iptables -I FORWARD -p tcp -d 192.168.0.18 --dport 5818 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5818 -j DNAT --to 192.168.0.18:5818

        iptables -I FORWARD -p tcp -d 192.168.0.19 --dport 5819 -j ACCEPT




        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5819 -j DNAT --to 192.168.0.19:5819

        iptables -I FORWARD -p tcp -d 192.168.0.20 --dport 5820 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5820 -j DNAT --to 192.168.0.20:5820

        iptables -I FORWARD -p tcp -d 192.168.0.21 --dport 5821 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5821 -j DNAT --to 192.168.0.21:5821

        iptables -I FORWARD -p tcp -d 192.168.0.22 --dport 5822 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5822 -j DNAT --to 192.168.0.22:5822

        iptables -I FORWARD -p tcp -d 192.168.0.23 --dport 5823 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5823 -j DNAT --to 192.168.0.23:5823

        iptables -I FORWARD -p tcp -d 192.168.0.24 --dport 5824 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5824 -j DNAT --to 192.168.0.24:5824

        iptables -I FORWARD -p tcp -d 192.168.0.25 --dport 5825 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5825 -j DNAT --to 192.168.0.25:5825
       
        iptables -I FORWARD -p tcp -d 192.168.0.26 --dport 5826 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5826 -j DNAT --to 192.168.0.26:5826
       
        iptables -I FORWARD -p tcp -d 192.168.0.27 --dport 5827 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5827 -j DNAT --to 192.168.0.27:5827

        iptables -I FORWARD -p tcp -d 192.168.0.28 --dport 5828 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5828 -j DNAT --to 192.168.0.28:5828

        iptables -I FORWARD -p tcp -d 192.168.0.29 --dport 5829 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5829 -j DNAT --to 192.168.0.29:5829

        iptables -I FORWARD -p tcp -d 192.168.0.30 --dport 5830 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5830 -j DNAT --to 192.168.0.30:5830

        iptables -I FORWARD -p tcp -d 192.168.0.31 --dport 5831 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5831 -j DNAT --to 192.168.0.31:5831

        iptables -I FORWARD -p tcp -d 192.168.0.32 --dport 5832 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5832 -j DNAT --to 192.168.0.32:5832

        iptables -I FORWARD -p tcp -d 192.168.0.33 --dport 5833 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5833 -j DNAT --to 192.168.0.33:5833

        iptables -I FORWARD -p tcp -d 192.168.0.34 --dport 5834 -j ACCEPT
        iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5834 -j DNAT --to 192.168.0.34:5834


    Jak napisalem wcześniej:

    W swojej dystrybucji doinstalowałem firewalla listonosz ( http://www.listonosz.com.pl/ ). Czy to coś zmienia w sposobie konfiguracji przekierowania portów?

    0
  • #6 17 Gru 2007 14:00
    corse
    Poziom 14  

    Witam, a ja sie dołącze do tematu żeby nie zakładać nowego . Potrzebuje przekierować ip z zew na wew w sieci. Router jest na NND.

    0
  • #7 05 Sty 2008 16:39
    MES Mariusz
    Poziom 36  

    Kurcze, nie działa mi to przekierowanie dalej, i ruszyć nie mogę z miejsca.

    Nie daje się wbić od strony "WAN-u" na 192.168.1.100:5811 ... 192.168.1.100:5834 mimo, że z dowolnego komputera w LANie z wbiciem się pod dowolne adresy 192.168.0.11:5811 ... 192.168.0.34:5834 nie ma problemu. NND nie przepuszcza (nie przekierowuje) portów mimo postępowania zgodnie z FAQ na stronie dystrybucji NND.

    Nie wiem, co jest nie tak i nie potrafię ruszyć dalej. Proszę o pomoc.

    0
  • #8 13 Sty 2008 20:58
    MES Mariusz
    Poziom 36  

    Ruszyłem z miejsca :-)

    Okazuje się, że dostęp blokował firewall listonosz: http://listonosz.com.pl/

    Do odblokowania portów ze strony WANu, należy użyć:

    nndconf -> firewall -> porty (odblokowywanie zamykanie portów) i wpisać porty do odblokowania, oddzielone przecinkiem, w moim przypadku 5811,5812,5813,5814,5815,5816,5817,5818,5819,5820,5821,5822,5823

    Niestety, można odblokować tylko 15 potrów :(

    Następnie należy wygenerować firewall (generacja). Restart NND nie zaszkodzi, więc reboot.

    Po tym kroku coś się ruszyło: od strony WAN-u mogę sobie wejść na wewnętrzny 192.168.0.11:5811 (w WAN-ie za pomocą nazwa.dyndns.org:5811)

    Ale w dalszym ciągu nie można wbić na pozostałe komputery. Wklepanie adresu nazwa.dyndns.org powoduje wyświetlenie komunikatu:

    Cytat:
    ERROR
    The requested URL could not be retrieved

    While trying to retrieve the URL: http://nazwa.dyndns.org:5812/

    The following error was encountered:

    * Connection to 83.27.xx.xx Failed

    The system returned:

    (111) Connection refused

    The remote host or network may be down. Please try the request again.

    Your cache administrator is webmaster.
    Generated Sun, 13 Jan 2008 20:05:27 GMT by p15202001.pureserver.info (squid/2.5.STABLE12)


    Czyli przekierowuje mnie prawidłowo na komputer 192.168.0.11:5811 natomiast na komputery 192.168.0.12 ... 192.168.0.23 w dalszym ciągu nie potrafię się dostać.

    0
  • Pomocny post
    #9 17 Sty 2008 21:18
    czerwo
    Poziom 11  

    Nie tędy droga ;-)
    Wracamy do poczatku.
    Jezeli masz moj firewall to robimy to tak:
    Odplasz nnd_conf pozniej firewall i jest tam cos takiego jak:
    redirect -> Przekierowania
    zaznaczamy spacja i enter
    dodaj
    0/0
    both (dla swietego spokoju jezeli nie wiesz co za prtokokol)
    podajemy zakres portow/port ktory chcemy przekierowac np. 5811
    podajemy ip komputera docelowego 192.168.1.100
    port docelowy (wczesniej podalismy port od strony INETU teraz podajemy na jaki port ma on trafic w docelowym adresie czyli na 192.168.1.100 w naszym przypadku) jezeli damy 0 to bedzie tak jak port "zrodlowy"
    koniec
    i generujemy

    Powino dzialac, dla swietego spokoju proponuje najpierw odpalic sobie np. serwer www na tamtej maszynie zeby miec 100% pewnosci ze przekeirowanie dziala. (pamietac trzeba ze musi on ruszyc na porcie 5811). Nie zapomnijcie otworzyc firewall na xp :)
    Mysle ze o to chodzilo jesli nie to prosze o ambitniejsze wyjasnienie problemu :)

    0
  • #10 17 Sty 2008 22:01
    MES Mariusz
    Poziom 36  

    Ok. Spróbuję przy najbliższej okazji, bo widzę, że pracownia w tej chwili wyłączona (zdalnie wbić nie mogę na NND).

    Jakby coś nie grało jeszcze to się odezwę natychmiast :-)

    0
  • #11 19 Sty 2008 13:47
    MES Mariusz
    Poziom 36  

    czerwo napisał:
    both (dla swietego spokoju jezeli nie wiesz co za prtokokol)
    podajemy zakres portow/port ktory chcemy przekierowac np. 5811
    podajemy ip komputera docelowego 192.168.1.100

    Chwila, dlaczego tak? Przecież 192.168.1.100 to maszyna na którym postawiony jest NND! Komputer docelowy dla portu 5811 to ma być 192.168.0.11

    --- edit ---

    Ale ustawiłem to przekierowanie dla jednego z komputerów (docelowy wpisałem nie 192.168.1.100 tylko 192.168.0.22) i rzeczywiście port 5822 prawidłowo jest przekierowywany na maszynę 192.168.0.22, gdzie na porcie 5822 pracuje RealVNC.

    RealVNC zgłasza się bez problemu (wcześniej nie chciał) ale po zaakceptowaniu łączenia, po chwili pojawia się komunikat:

    [NND] Przekierowanie portów NND nie działa

    co z poziomu sieci lokalnej się nie przytrafia, a zawrze powtarza się przy próbie połączenia z internetu.

    0
  • #12 19 Sty 2008 16:15
    czerwo
    Poziom 11  

    Z tego co sie orietuje to trzeba przekierowac dwa porty.

    edit:
    Accept connections on port
    PortNumber=(port number)

    If this option is ticked and the port number is non zero then VNC Server accepts incoming connection requests from clients on a particular TCP port. The standard VNC Display numbers, 0-99, correspond to TCP ports 5900-5999. VNC Server will accept connections on port number 5900 by default, which equates to VNC display number 0 (zero). The port number for VNC Server to use can be set to any other available port number, even ones outside the 5900-5999 range.

    0
  • #13 19 Sty 2008 17:08
    MES Mariusz
    Poziom 36  

    czerwo napisał:
    Z tego co sie orietuje to trzeba przekierowac dwa porty.

    edit:
    Accept connections on port
    PortNumber=(port number)

    If this option is ticked and the port number is non zero then VNC Server accepts incoming connection requests from clients on a particular TCP port. The standard VNC Display numbers, 0-99, correspond to TCP ports 5900-5999. VNC Server will accept connections on port number 5900 by default, which equates to VNC display number 0 (zero). The port number for VNC Server to use can be set to any other available port number, even ones outside the 5900-5999 range.


    Nie trzeba przekierowywać 2 portów - wiem z doświadczenia, bo przecież na sprzętowych routerach też musiałem przekierować porty (i zawsze przekierowuję jeden port). Owszem RealVNC umożliwia komunikaję na dwa sposoby:

    a). Z wykorzystaniem aplikacji VNCViewer (domyślnie wykorzystuje port 5900)

    b). Z wykorzystaniem Java (domyślnie wykorzystuje port 5800)

    Są to alternatywne drogi tworzenia połączenia. Wygodniejsze jest korzystanie z Java - umożliwia dostęp do zdalnego pulpitu bezpośrednio z dowolnej przeglądarki WWW z obsługą Java.

    I działa to rewelacyjnie (obecnie mam tak zrobione na kilku sieciach domowych, żeby skomplikować jeszcze z dynamicznym DNS i usługami typu dyndns.org) i sprawuje się to rewelacyjnie.

    Dlatego jestem bardzo zdziwiony co się dzieje, że NND komunikację przepuszcza (zgłasza się aplikacja Java po drugiej stronie) a mimo to ostatecznie połączenia nawiązać nie może (obrazek powyżej).

    --- edit ---

    Nie miałem racji - wymagane jest przekierowanie obu portów. Odruchowo zawsze ustawiałem oba przekierowania (nie zastanawiając się nad tym, a tym razem tego nie zrobiłem). Już wszystko działa tak, jak należy.

    Dziękuję i pozdrawiam :-)
    Mariusz

    0
  • #14 03 Maj 2009 15:56
    artur4r7
    Poziom 13  

    MES Mariusz napisał:
    W FAQ dystrybucji NND można odnaleźć:

    Cytat:
    50. Jak przekierować port na komputer w LANie?
    Znajdź w pliku /etc/iptables/firewall te linie:

    Code:
    # pingi pozwalamy
    
    $i -A INPUT -p icmp --icmp-type echo-request -j ACCEPT -m limit --limit 1/sec

    I pod nimi dopisz:

    Code:
    iptables -I FORWARD -p tcp -d 192.168.1.10 --dport 1234 -j ACCEPT
    
    iptables -t nat -A PREROUTING –i $EXTIF -p tcp --dport 5678 -j DNAT --to 192.168.1.10:1234


    192.168.1.10 to IP na które port ma być przekierowany
    1234 to port otwarty na tej maszynie
    5678 to port na którym nasłuchuje serwer (może być taki sam, jak port na komputerze z LANu, ale nie musi).
    Jeden port można przekierować tylko na jedno IP. Jeśli przekierowanie nadal nie działa, to sprawdź firewalla na komputerze w LANie, przeczytaj to: (pytanie o zmianę ftp i ssh) i pamiętaj, ze przekierowania nie sprawdzisz z komputera w LANie. Poproś o to kogoś spoza Twojej sieci.


    <ciach>


    Przepraszam, że odgrzewam temat, ale jest on na pierwszej pozycji w Google, więc może się komuś przydać, bo w takiej postaci jak jest, nie pomógł mi zbytnio ;)

    Stanąłem przed takim samym problemem jak autor tematu, mianowicie serwer NND z WAN łączy się przez eth0 (do modemu RJ45) natomiast z siecią lokalną przez eth1. W modemie przekierowałem odpowiedni port (TCP i UDP 5900 choć na samym TCP też działało) na adres rutera z NND.

    W NND, tak jak opisane w FAQ, wystarczyło dodać dwie linijki do /etc/iptables/firewall I tutaj uwaga na znak "-" (niby-minus) zamieszczony w FAQ NND, po skopiowaniu zamienia się on w kropkę (u mnie tak było), przy restarcie firewalla pojawia się wtedy ostrzeżenie
    Code:

    Bad argument `.i'
    Try `iptables -h' or 'iptables --help' for more information.

    i oczywiście przekierowanie nie działa.

    Po zamianie niby-minusa na zwykły minus działa poprawnie.

    Tak więc te dwie linijki w zupełności wystarczyły, bym mógł dostać się z zewnątrz za pomocą VNC Viewer (nie wiem, czy udp jest też wymagane, ale u mnie działa z tymi poniżej i nie ma problemu):
    Code:
    iptables -I FORWARD -p tcp -d 192.168.2.38 --dport 5900 -j ACCEPT
    
    iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5900 -j DNAT --to 192.168.2.38:5900

    (tutaj już poprawiłem "minusik" przy -i na zwykły minus, adres IP to adres komputera w sieci lokalnej)

    Dopisałem jeszcze kolejne komputery i nie ma problemu z łączeniem się na jakikolwiek z zewnątrz (oczywiście należy pamiętać o wpisie odpowiednich portów w modemie i zmianie domyślnych w samym programie)

    pozdrawiam

    0