Racjonalista - Strona głównaDo treści
Problem sieciowy - rejestratory

Ten wątek jest przedawniony

Działy Forum » O wszystkim i o niczym
NapisanoAutorTytuł
17-07-2013 17:37knx90 (664 punktów)Problem sieciowy - rejestratory
Mam taki oto orzech do zgryzienia i może znajdzie się ktoś kto mi podpowie jak rozwiązać ten problem.

Dwie sieci, w dwóch geograficznie oddalonych miejscach, nazwijmy je A i B. Dwóch różnych providerów, dwa różne stałe adresy IP.

W sieci A jest postawiony rejestrator do kamer IP. Rejestrator działa na portach TCP 37777 i UDP 37778 [jego pierwotne ustawienia]. Przekierowanie jest ustawione na porcie 8001 [firewall linuksowy]

W sieci B jest rejestrator działający na dokładnie tych samych portach. Przekierowanie na świat na porcie 7000 [router Linksysa].

Rzecz w tym, że próbując się zalogować na kamery do sieci B (wpisując adres IP z portem sieci B], z sieci A, dostaję przekierowanie... na kamery w sieci A.

Ustaliłem, że wyłączając na firewallu przekierowania w sieci A jeśli chodzi o rejestrator w sieci A, mogę połączyć się z rejestratorem sieci B. Ale zabawa polega na tym, że tracę zdalny dostęp do Kamer sieci A. Wyciągnąłem z tego wniosek, że trzeba zmienić porty TCP/UDP w sieci A. Tylko na jakie, skoro są to porty przydzielone domyślnie? Czy ktoś z was spotkał się z podobnym problemem?
Autor wątku ma uprawnienia do usuwania wypowiedzi, jeżeli łamią regulamin Forum lub znacznie odbiegają od tematu.

Jan Werbiński (11380 punktów)
(zablokowany)
>Rzecz w tym, że próbując się zalogować na kamery do sieci B (wpisując adres IP z portem sieci B], z
>sieci A, dostaję przekierowanie... na kamery w sieci A.

Wydaje Ci się. Wpisujesz zapewne IP z puli 10.x.x.x lub 192.168.x.x więc adres nieistniejący w Internecie, a jedynie sieciach LAN. Dowiedz się o publiczny IP sieci B. Możesz się go dowiedzieć będąc w sieci B i wchodząc na stronę www.moanmyip.com
knx90 (664 punktów)
>>Rzecz w tym, że próbując się zalogować na kamery do sieci B (wpisując adres IP z portem sieci B], z
>>sieci A, dostaję przekierowanie... na kamery w sieci A.
>Wydaje Ci się. Wpisujesz zapewne IP z puli 10.x.x.x lub 192.168.x.x więc adres nieistniejący w Internecie, a jedynie sieciach LAN. Dowiedz się o publiczny IP sieci B. Możesz się go dowiedzieć będąc w sieci B i wchodząc na stronę www.moanmyip.com

Ależ Janie, skądże znowu. Wpisuję zewnętrzny.
Jan Werbiński (11380 punktów)
(zablokowany)
>Ależ Janie, skądże znowu. Wpisuję zewnętrzny.

Podaj ten IP. Zobaczę na co wejdę. Nie musisz dać hasła.
Arystyp z Cyreny (6368 punktów)
Jeśli wpisujesz zewnętrzny (publiczny) adres IP, który prowadzi do tamtej sieci i przekierowuje Cię na kamery (adres lokalny) to masz coś nie tak ustawione na tym routerze w sieci A. Porty lokalne na które przekierowujesz nie powinny mieć tu nic do rzeczy bo ewidentnie coś jest z routingiem nie tak (tym bardziej jeśli po wyłączeniu ich wszystko jest okej).

Każdy firewall na linuksie to nic więcej jak ustawienie iptables.

Jak pokażesz co masz w iptables to będzie Ci prościej pomóc.

Zrób coś w rodzaju:

iptables -n -L -v -4 --line-numbers

tylko usuń rzeczy, którymi nie chcesz się dzielić ze światem

Model który przedstawiłeś jest okej, tylko kwestia jak te przekierowania naprawdę są ustawione.

"Mądrość jest dobrem, aczkolwiek jest pożądana nie sama dla siebie, ale z uwagi na konsekwencje"
knx90 (664 punktów)
Na firewallu mam:

Cytat:

KAMERY
iptables -I FORWARD --protocol tcp -d 192.168.2.254 --dport 37777 -j ACCEPT
iptables -t nat -I PREROUTING --protocol tcp -d 0/0 --dport 37777 -j DNAT --to 192.168.2.254:37777

iptables -I FORWARD --protocol udp -d 192.168.2.254 --dport 37778 -j ACCEPT
iptables -t nat -I PREROUTING --protocol udp -d 0/0 --dport 37778 -j DNAT --to 192.168.2.254:37778



Wyłączając to, czyli dezaktywując znakiem "#", mogę normalnie logować się do rejestratora B, ale tracę streaming video w LAN A, co jest równe brakiem obrazu także jakby ktoś chciał zewnątrz wejść (a jest taka potrzeba).
Arystyp z Cyreny (6368 punktów)
Bardzo dziwne.

Na mój zasób wiedzy to w każdej z par tych reguł pierwsza odpowiada po prostu za zaakceptowanie pakietu wysłanego do ip 192.168.2.254 i port 3777(7/8). Druga z kolei, o ile się nie mylę, zmienia cel wszystkich pakietów wysłanych pod dowolny adres na port 3777(7/8).

Zasadniczo spróbowałbym zmienić w tych drugich liniach -d 0/0 na -d 192.168.2.254 albo w ogóle spróbował podziałać bez tych drugich wpisów w takiej formie:

Cytat:

iptables -I FORWARD --protocol tcp -d 192.168.2.254 --dport 37777 -j ACCEPT

iptables -I FORWARD --protocol udp -d 192.168.2.254 --dport 37778 -j ACCEPT


Albo tak:

Cytat:

iptables -I FORWARD --protocol tcp -d 192.168.2.254 --dport 37777 -j ACCEPT
iptables -t nat -I PREROUTING --protocol tcp -d 192.168.2.254 --dport 37777 -j DNAT --to 192.168.2.254:37777

iptables -I FORWARD --protocol udp -d 192.168.2.254 --dport 37778 -j ACCEPT
iptables -t nat -I PREROUTING --protocol udp -d 192.168.2.254 --dport 37778 -j DNAT --to 192.168.2.254:37778


Ale wątpię czy w tym jest problem i czy to pomoże, ponieważ Ty swoje zapytania wysyłasz na ip:7000, więc to raczej nie ma związku. Wiesz może czy to się łączy jakimś standardowym protokołem (pewnie nie), czy po prostu masz jakiś program do tego od producenta?

Jakiego firewalla używasz do konfigurowania iptables?

"Mądrość jest dobrem, aczkolwiek jest pożądana nie sama dla siebie, ale z uwagi na konsekwencje"
knx90 (664 punktów)
Cytat:

iptables -I FORWARD --protocol tcp -d 192.168.2.254 --dport 37777 -j ACCEPT
iptables -t nat -I PREROUTING --protocol tcp -d 192.168.2.254 --dport 37777 -j DNAT --to 192.168.2.254:37777

iptables -I FORWARD --protocol udp -d 192.168.2.254 --dport 37778 -j ACCEPT
iptables -t nat -I PREROUTING --protocol udp -d 192.168.2.254 --dport 37778 -j DNAT --to 192.168.2.254:37778


To pomogło na tyle że działają kamery w LAN A i mogę łączyć się z kamerami w LANIE B. Natomiast nie mogę łączyć się do kamer A zewnątrz. Spróbowałem postawić kamery na port np 6000 ale to nic nie dało.

Wszystko i tak łączy się przez http, więc nie ma tu cudów. Używam firewalla w etc/init.d/firewall. Program nazywa się PSS.
Arystyp z Cyreny (6368 punktów)
Powinieneś mieć na routerze w iptables dodatkową regułę, która akceptowałaby pakiety przychodzące z zewnątrz (na dowolny port, który sobie wybierzesz) i przekierowywała je do urządzenia, czyli na Twój lokalny adres 192.168.2.254

Masz jakąś taką regułę?

Niestety teraz nie bardzo mam jak coś skrobnąć, jak nic nie wymyślisz do wieczora i znajdę chwilę to coś zaproponuję.

"Mądrość jest dobrem, aczkolwiek jest pożądana nie sama dla siebie, ale z uwagi na konsekwencje"
knx90 (664 punktów)
Cytat:
iptables -A INPUT --protocol tcp --destination-port 37777 -j ACCEPT
iptables -A INPUT --protocol udp --destination-port 37778 -j ACCEPT


Ale jak to przekierowanie zrobić, to nie mam pojęcia.
Jan Werbiński (11380 punktów)
(zablokowany)
>Ale jak to przekierowanie zrobić, to nie mam pojęcia.

Narysuj topologię sieci. W prawidłowo zrobionych sieciach nie jest możliwe przekierowanie z odwołania na publiczny IP na adres w LAN, w sieci z której wysyłasz żądanie.
knx90 (664 punktów)
>>Ale jak to przekierowanie zrobić, to nie mam pojęcia.
>Narysuj topologię sieci. W prawidłowo zrobionych sieciach nie jest możliwe przekierowanie z odwołania na publiczny IP na adres w LAN, w sieci z której wysyłasz żądanie.
>

Zrobiłbym to w Cisco Packet Tracer, ale będzie prościej wytłumaczyć bo nie jest to skomplikowane.

1. Sygnał idzie rj-45 ekranowanym z dachu do serwerowni i wpina się do konektora. Z konektora idzie sygnał zwykłą rj-45 do serwera linuksowego (debian 6.0) z adresem sieci 192.168.2.0/24. Reszta rozchodzi się na switche niezarządzalne, a stamtąd na urządzenia końcowe.

2. Interfejs loopback ma adres 10.5.5.2 i w firewallu jest udostępnianie internetu w lan za pomocą SNAT'a. Wszystkie urządzenia w sieci mają statycznie przydzielaną adresację.
Arystyp z Cyreny (6368 punktów)
> Cytat:
iptables -A INPUT --protocol tcp --destination-port 37777 -j ACCEPT
> iptables -A INPUT --protocol udp --destination-port 37778 -j ACCEPT

>Ale jak to przekierowanie zrobić, to nie mam pojęcia.

To przekierowanie akceptuje jedynie żądania przychodzące na porcie 37777, ale nie mówi routerowi co ma z nim zrobić (żądanie przyjdzie do routera i tam najprawdopodobniej się skończy).

Ja bym spróbował z czymś takim:

Cytat:

iptables -I FORWARD --protocol tcp -d publiczny_ip_routera --dport 8001 -j ACCEPT
iptables -t nat -I PREROUTING --protocol tcp -d publiczny_ip_routera --dport 8001 -j DNAT --to 192.168.2.254:37777


To powinno przekierować wszystkie żądania wysyłane z zewnątrz do routera na porcie 8001 po tcp do Twojego lokalnego serwera. Oczywiście mogę się mylić, jest sporo artykułów odnośnie iptables w internecie. W Twoim przypadku chodzi po prostu o to, żeby na routerze w sieci A ustawić przekierowanie pakietów dla publiczne_ip_sieci_A:8001 do 192.168.2.254:37777.

Może się jeszcze okazać konieczne wypuszczenie ruchu na zewnątrz dla pakietów wysyłanych z 192:168.2.254:37777 do dowolnego zewnętrznego ip i portu.

Osobiście jednak polecałbym inne rozwiązanie (jeśli oczywiście masz czas i Ci się chce ). Mianowicie stworzenie VPN. Wirtualne sieci prywatne są dużo lepszym (i przede wszystkim bezpieczniejszym rozwiązaniem), niż udostępnianie czegoś publicznie, ponieważ w ten sposób dużo prościej kontrolować dostęp (najbardziej popularne metody ograniczenia dostępu do VPN to loginy i hasła, certyfikaty oraz adresy MAC).

"Mądrość jest dobrem, aczkolwiek jest pożądana nie sama dla siebie, ale z uwagi na konsekwencje"
knx90 (664 punktów)
Mi już ręce opadają. Próbowałem na milion sposób ale nic dalej nie działa. Wklejam swój firewall w nadziei że to coś da.

Cytat:
#!/bin/sh

### BEGIN INIT INFO
# Provides: scriptname
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO

# wlaczenie w kernelu forwardowania
/bin/echo 1
>/proc/sys/net/ipv4/ip_forward
# Ochrona przed atakiem typu Smurf
/bin/echo 1
>/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Nie aktceptujemy pakietow "source route"
/bin/echo 0
>/proc/sys/net/ipv4/conf/all/accept_source_route
# Nie przyjmujemy pakietow ICMP rediect, ktore moga zmienic tablice routingu
/bin/echo 0
>/proc/sys/net/ipv4/conf/all/accept_redirects
# Wlaczamy ochrone przed blednymi komunikatami ICMP error
/bin/echo 1
>/proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# Wlaczenie mechanizmu wykrywania oczywistych falszerstw (pakiety znajdujace sie tylko tablicy routingu)
#######/bin/echo 1
>/proc/sys/net/ipv4/conf/all/rp_filter
/bin/echo 1
>/proc/sys/net/ipv4/tcp_timestamps
/bin/echo 1
>/proc/sys/net/ipv4/conf/all/log_martians
/bin/echo 10
>/proc/sys/net/ipv4/ipfrag_time
#/bin/echo 65536
>/proc/sys/net/ipv4/netfilter/ip_conntrack_max
/bin/echo 36024
>/proc/sys/net/ipv4/tcp_max_syn_backlog
# zwiekszenie rozmaru tablicy ARP
/bin/echo 1024
>/proc/sys/net/ipv4/neigh/default/gc_thresh1
/bin/echo 4096
>/proc/sys/net/ipv4/neigh/default/gc_thresh2
/bin/echo 8192
>/proc/sys/net/ipv4/neigh/default/gc_thresh3
/bin/echo 1
>/proc/sys/net/ipv4/tcp_rfc1337
/bin/echo 1
>/proc/sys/net/ipv4/ip_no_pmtu_disc
/bin/echo 1
>/proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
#/bin/echo 60
>/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close_wait
#/bin/echo 360
>/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
/bin/echo 30
>/proc/sys/net/ipv4/tcp_fin_timeout
/bin/echo 2400
>/proc/sys/net/ipv4/tcp_keepalive_time
/bin/echo 0
>/proc/sys/net/ipv4/tcp_window_scaling
/bin/echo 0
>/proc/sys/net/ipv4/tcp_sack
/bin/echo 20
>/proc/sys/net/ipv4/ipfrag_time
/bin/echo 1280
>/proc/sys/net/ipv4/tcp_max_syn_backlog
# Blokada przed atakami typu SYN FLOODING
/bin/echo 1
>/proc/sys/net/ipv4/tcp_syncookies
# Właczenie proxy arp - dzieki temu serwer nie zdycha po kilku
#/bin/echo 1
>/proc/sys/net/ipv4/conf/all/arp_filter
# Zwiekszenie rozmiarutablic routingu
/bin/echo "18192"
>/proc/sys/net/ipv4/route/max_size

################################
### czyszczenie starych regul
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F
iptables -t mangle -F
iptables -t mangle -X
### koniec czyszczenia starych regul
################################

###############################
###

################################
### ustawienie domyslnej polityki
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

iptables -A INPUT --protocol tcp --destination-port 22 -j ACCEPT
iptables -A INPUT --protocol tcp --destination-port 80 -j ACCEPT
iptables -A INPUT --protocol tcp --destination-port 100 -j ACCEPT
iptables -A INPUT --protocol tcp --destination-port 7000 -j ACCEPT

#########################
### kamery

iptables -A INPUT --protocol tcp --destination-port 37777 -j ACCEPT
iptables -A INPUT --protocol udp --destination-port 37778 -j ACCEPT

iptables -A INPUT --protocol udp --source-port 53 -j ACCEPT
iptables -A INPUT --protocol udp --destination-port 53 -j ACCEPT

iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH ACK -j DROP
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j DROP
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN,URG,PSH -j DROP
### koniec ustawieĹ" domyĹ›lnej polityki
################################

################################
###### POŁÄ"CZENIA NAWIÄ"ZANE

##############
## utrzymywanie polaczen nawiazanych
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A INPUT -p icmp -j ACCEPT
#iptables -A OUTPUT -p icmp -j ACCEPT

## koniec podtrzymywania polaczen
##############

###### KONIEC POŁÄ"CZEŃ NAWIÄ"ZANYCH
################################

################################
###### PRZEKIEROWANIA PORTOW

# Sys
iptables -I FORWARD --protocol tcp -d 192.168.2.252 --dport 1234 -j ACCEPT
iptables -t nat -I PREROUTING --protocol tcp -d 0/0 --dport 8080 -j DNAT --to 192.168.2.252:1234

# KAMERY WWW
iptables -I FORWARD --protocol tcp -d 192.168.2.254 --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING --protocol tcp -d 0/0 --dport 11111 -j DNAT --to 192.168.2.254:80

# KAMERY PSS
iptables -I INPUT --protocol tcp -d 192.168.2.254 --dport 37777 -j ACCEPT
iptables -t nat -I PREROUTING --protocol tcp -d 0/0 --dport 37777 -j DNAT --to 192.168.2.254:37777
iptables -I INPUT --protocol udp -d 192.168.2.254 --dport 37778 -j ACCEPT
iptables -t nat -I PREROUTING --protocol udp -d 0/0 --dport 37778 -j DNAT --to 192.168.2.254:37778

###### KONIEC PRZEKIEROWANIA PORTOW
################################

################################
###### udostepniaie internetu w sieci lokalnej

iptables -t nat -A POSTROUTING -s 0/0 -d 0.0.0.0/0 -j SNAT --to 10.5.5.2

###### koniec udostepniania internetu w sieci lokalnej
################################

###############################
###### forwardowanie vpn
# iptables -A FORWARD -i tun+ -j ACCEPT
###### koniec forwardowania vpn
################################
schlawiner (400 punktów)
>Jak pokażesz co masz w iptables to będzie Ci prościej pomóc.
Mój laptop zapadł na lewą przyciśnicę myszy (nie mylić z lewą eserką). Mysz nie chce obsługiwać linków. Obejście problemu przez użycie prawego przycisku + otwórz bywa nieskuteczne, pojawia się stale inny link. Dolegliwość dotyczy układu nerwowego, a nie hardware - gmyr czyli mysz palcowa również nie działa ok. Etiologia będzie chyba wirusowa, bo zaobserwowałem to na innym kompie. Dr. liliac może wypowiedzieć się w powyższej tj. diagnostycznej materii, ale niech się lepiej wstrzyma ze swoją końską terapią.
Gdy zszedłem na niższy tj. awaryjny poziom, schorzenie ustąpiło prawie samorzutnie, bez modłów do bł. Wojtyły. Recydyw wykurowałem przez przywrócenie systemu, ale jak długo tak można?
Arystyp z Cyreny (6368 punktów)
Jeśli objawy są wirusowe używaj zabezpieczenia albo zmień partnera zabaw na jakiegoś z gatunku pingwinowatych. Jeśli nie kręci Cię taka międzygatunkowa zabawa, możesz też włączyć do diety jabłka.

"Mądrość jest dobrem, aczkolwiek jest pożądana nie sama dla siebie, ale z uwagi na konsekwencje"

Wróć do listy wątków działu O wszystkim i o niczym
Aby pisać w tym wątku, musisz się zalogować

  

Zaloguj przez OpenID..
Jeżeli nie jesteś zarejestrowany/a - załóż konto..

Szukaj na Forum  Przewodnik  Regulamin i instrukcja obsługi Forum  Kolegium Moderatorów

 


[ Regulamin publikacji ] [ Bannery ] [ Mapa portalu ] [ Reklama ] [ Sklep ] [ Zarejestruj się ] [ Kontakt ]
Racjonalista © Copyright 2000-2018 (e-mail: redakcja | administrator)
Fundacja Wolnej Myśli, konto bankowe 101140 2017 0000 4002 1048 6365