1 (edytowany przez pawkon 2016-01-15 21:44:06)

Temat: Kamera IP RTSP Locomote Video Player Socket Policy Server

Witam,

Posiadam kamerę IP która wysyła sygnał RTSP. W obecnej chwili w Chrome nie ma żadnej prawidłowo działającej wtyczki aby taki stream wyświetlić na stronie www. Więc zaczynają się kombinacje. Wynalazłem że można tego dokonać poprzez Locomote VP który jest niczym innym jak playerem we flashu. Niestety od flasha chyba 8 (mogę się mylić co do wersji) wymagane jest że aby ustanowić połączenie do streamu z playera potrzebne jest otrzymanie na porcie 843 odpowiedniej odpowiedzi XML : <cross-domain-policy><allow-access-from domain="*" to-ports="*" /></cross-domain-policy>. Z tym nie ma problemu ponieważ posiadam perla który działa na stosownym porcie i odpowiada tym właśnie XMLem. Ale problem jest tym że odpowiada na routerze a nie na kamerze. Do kamery nie mam dostępu a player odpytuje o tego XMLa adres ip docelowy czyli kamery. Więc pomyślałem że użyję NAT i będę wskazywał playerowi adres routera, on odpyta router na porcie 843, otrzyma stosownego XMLa i nawiąże połączenie na porcie 554 do routera a ten przekieruje/stuneluje to połączenie do kamery IP.  Próbowałem coś takiego : iptables -t nat -I PREROUTING -i br-lan -p tcp --dport 554 -j DNAT --to 192.168.1.213:554 ale to niestety nie działa. Proszę o pomoc w przygotowaniu odpowiedniego wpisu IP tables. Chyba że ktoś ma lepszy pomysł i da się to wykonać inaczej? Aha ... kamera nie ma innego streamu jak tylko ten.

2

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

A "zwykłe" przekierowanie portu 554 też nie działa?

3

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

A co rozumiesz przez zwykłe ?? Bo może zabrnąłem już za daleko i nie widzę najprostszych rozwiązań. Zwykłe przekierowanie to mogę zrobić pomiędzy WAN a LAN a ja chce zrobić w LAN bez udziału WANu. Jak się połącze VPNem też chce mieć do tego dostęp więc napisz proszę co dokłądnie masz na myśli?

4 (edytowany przez emil 2016-01-16 11:52:00)

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

Chyba za mocno kombinujesz, jeśli chcesz oglądać z zewnątrz sieci to musisz przekierować port 554. Instrukcja:
https://wiki.openwrt.org/doc/howto/port.forwarding

A strumień rtsp możesz oglądać np. w vlc czy to na androidzie czy kompie.

5

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

Ale nie o to chodzi. Nie zamierzam otwierać portu na świat tylko dlatego że mogę. Od tego mam VPN. Mój problem jest taki że z komputera w lanie chce wywołać router na porcie 554 a on ma mi podać stream z ip kamery w tym samym lanie i na porcie 554. Nie mieszajmy w to WANu i otwierania portu oraz przekierowania między WAN a LAN. Nie chcę otwierać streamu na VLC tylko na stronie www. I to właśnie potrzebuję osiągnąć.

6

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

Chyba wiem o co Ci chodzi.
Cytat z wiki:

### Configuration
We don't want to give up the condition of not exposing the 192.168.10.119 on the router
wan side. Therefore we try to use routing rules, filtering rules and hostA configuration.

#### Network configuration on the router
We should add a route "to the host" therefore in /etc/config/network we add
config 'route' 'route_to_inside'
        option 'interface' 'lan'
        option 'target' '192.168.10.119'
        option 'netmask' '255.255.255.255'
        option 'gateway' '0.0.0.0'
       
This means: if a packet wants to reach the _exact_ destination (note the netmask) 192.168.10.119
then use the lan interface to send the packet towards no gateway. When the gateway is 0.0.0.0 means everything
or nothing. That is, there is no specific system to ask, just dispatch the packet on that interface.

This is ok because the packet dispatched on the lan interface will reach directly the hostA.
We can even use <option 'gateway' '192.168.1.223'> if we want, it should work the same.

7 (edytowany przez snifer 2016-01-16 23:20:00)

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

W takim razie przekieruj port 554 na ruterze tyle że jako strefę źródłową wybierz lan, np tak

config redirect
        option enabled '1'
        option target 'DNAT'
        option dest 'lan'
        option proto 'tcp udp'
        option src_dport '554'
        option dest_ip '192.168.1.213'
        option dest_port '554'
        option name 'rtsp-kamera'
        option src 'lan'
        option reflection '0'

U mnie takie coś działa, akurat nie dla kamery ale co za różnica.
Jeśli chodzi o samo rtsp to powinno się przekierować tcp i udp oraz może (ale nie musi) być konieczne dodatkowo przekierowanie innych portów np 5000-5010 lub innego zakresu, zależnie od konfiguracji kamery.

Archer C7 v.2 + LEDE by Cezary http://beta.speedtest.net/pl/result/6621599402

8 (edytowany przez pawkon 2016-01-17 17:45:30)

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

@snifer - to już wygląda całkiem nieźle i w tym kierunku właśnie szedłem tylko problem jest taki że to nie działa niestety. Po dodaniu do firewalla z poziomu konsoli na www pojawił się ładnie wpis przy port forwardzie. Ponieważ nie miałem pewności co do portów rtsp tak jak napisałeś to zmieniłem sobie żeby kierował mnie na 80 gdzie na kamerze jest normalne www do konfiguracji. No i niestety lipa, nie działa. Mieli mieli dość długo i daje timeouta hmm

Może masz coś jeszcze ustawione gdzieś dodatkowo że Tobie to działa?

9

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

Musisz wejść na kamerę przez www i popatrzeć w ustawienia strumienia jakich portów jeszcze używa, oprócz 554. Różnie to jest robione w różnych kamerkach. Czasem wystarczy samo UDP i TCP na 554 a czasem trzeba rzeźbić.
Pewnym rozwiązaniem może też być serwer strumieniowania, np bardzo dobrze działa crtmpserver ale nie wiem czy da radę na openwrt, stawiałem go na linuchach.
Zobacz też w dokumentacji kamerki, czasem producent podaje co tam trzeba przekierować.

Archer C7 v.2 + LEDE by Cezary http://beta.speedtest.net/pl/result/6621599402

10

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

Generalnie sprawdziłem nmapem otwarte porty i z tym sobie poradzę. Ale nadal nie działa mi to przekierowanie. Wygląda to tak jak by znajdował kierunek do kamery ale powrotne pakiety nie wracają bo nie wiedzą gdzie.  Nie masz tam przypadkiem jakiegoś dodatkowego ustawienia w firewallu? Próbowałem przekierować w ten sposób na serwer www na innym kompie i też nie działa. Więc na bank czegoś tu jeszcze brakuje.

11 (edytowany przez snifer 2016-01-17 20:32:21)

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

Przetestowałem i działa mi to na kilku urządzeniach/usługach/portach, nic nie kombinowałem dodatkowo.
Na pewno ustawiłeś strefę źródłową na LAN? Przy zakładaniu przez www nie da się wybrać od razu lan, dopiero po utworzeniu można zmienić strefę na LAN.
Co do nmapa to może nie zadziałać bo rtsp jest sterowane przez port 554 a potem jest otwierany normalny port, najlepiej podejrzeć przez www, po normalnym ip kamery nie masz do niej dostępu?
Spróbuj jeszcze zmienić

 option reflection '1'
Archer C7 v.2 + LEDE by Cezary http://beta.speedtest.net/pl/result/6621599402

12

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

mam dokładnie tak:

Firewall

i nie działa ... reflection też zrobiłem.

Dodałem też dodatkowy wpis na port 80 na inny serwer gdzie jest wystawiony site ... i też nie działa

13

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

Przejedz ta kamera nmapem.  Ja musze dodatkowo 4 porty przekierowac zeby z moich kamer bylo cos widac z wan.

14

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

Tyle że na razie to nawet 80 port nie chce działać.

15

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

pawkon napisał/a:

mam dokładnie tak:

Firewall

i nie działa ... reflection też zrobiłem.

Dodałem też dodatkowy wpis na port 80 na inny serwer gdzie jest wystawiony site ... i też nie działa

U  mnie dokładnie takie coś działa, może jakoś to przypadkiem blokujesz inną regułką.

Archer C7 v.2 + LEDE by Cezary http://beta.speedtest.net/pl/result/6621599402

16

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

Sprawdziłem i nie widzę niczego co by mogło blokować. Sprawdziłem też statystyki i widać że prerouting zadziałał ale czy nie powinno być jakieś reguły  na postrouting w takim wypadku? Bo za długo mieli po wpisaniu adresu i dostaje timeouta a nie powinien. Gdyby nic nie działało to by powiedział not found.

firrewall2

17 (edytowany przez mar_w 2016-01-18 23:39:32)

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

Ja też sprawdziłem regułkę którą podał @snifer i u mnie też działa. Tyle że ja mam wpisy na postrouting:
http://files.tinypic.pl/i/00746/1321fte5ypxz_t.jpg
http://files.tinypic.pl/i/00746/wnsd5szv0wi8_t.jpg
Wpisałem tylko takie coś w  /etc/config/firewall i w statystykach post/pre-routing pojawiło się samo co widać na zdjęciach wyżej

config redirect
    option enabled '1'
    option name 'kamera'
    option src 'lan'
    option proto 'tcpudp'
    option src_dport '8000'
    option dest_ip '192.168.10.11'
    option dest_port '80'
    option target 'DNAT'
    option dest 'lan'

Powered by LuCI (git-15.352.62701-b7fe44a) / OpenWrt Chaos Calmer 15.05

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

18

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

Czyli dobrze dedukowałem że mi brakuje postroutingu ... niestety nie dodaje się automatycznie nie wiem czemu. Czy macie może w takim razie tą samą regułę na postrouting czyli jak domniemam SNAT ?

19 (edytowany przez mar_w 2016-01-19 21:46:22)

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

dla mojego konfigu z posta #17 mam takie coś w iptables:

root@OpenWrt:~# iptables -L -v -n -t nat
...
Chain zone_lan_postrouting (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 postrouting_lan_rule  all  --  *      *       0.0.0.0/0            0.0.0.0/0            /* user chain for postrouting */
    0     0 SNAT       tcp  --  *      *       192.168.10.0/24      192.168.10.11        tcp dpt:80 /* www (reflection) */ to:192.168.10.100
    0     0 SNAT       udp  --  *      *       192.168.10.0/24      192.168.10.11        udp dpt:80 /* www (reflection) */ to:192.168.10.100
...

Router ma adres 192.168.10.100 i robi przekierowanie z portu 8000 w LAN na hosta 192.168.10.11

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

20

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

zrobiłem tak :

iptables -t nat -A prerouting_rule -p tcp --dst 192.168.1.154 --dport 8000 -j DNAT --to-destination 192.168.1.213:80

iptables -A forwarding_rule -p tcp --dst 192.168.1.213 --dport 80 -j ACCEPT

iptables -t nat -A postrouting_rule -p tcp --src 192.168.1.0/24 --dst 192.168.1.213 --dport 80 -j SNAT --to 192.168.1.154

iptables -t nat -A prerouting_lan_rule -p tcp --dst 192.168.1.154 --dport 8000  -j DNAT --to-destination 192.168.1.213:80

Ale nie zadziałało więc pewnie gdzieś strzeliłem błąd. Przy powyższej próbie kompletnie nic się nie dodało do statystyk firewalla. Więc spróbowałem tak:

config redirect
    option name 'kamera'
    option src 'lan'
    option proto 'tcpudp'
    option src_dport '8000'
    option dest_ip '192.168.1.213'
    option dest_port '80'
    option target 'DNAT'
    option dest 'lan'

config redirect
    option name 'kamera_back'
    option src 'lan'
    option proto 'tcpudp'
    option src_ip '192.168.1.213'
    option src_dip '192.168.1.154'
    option dest_port '8000'
    option target 'SNAT'
    option dest 'lan'

więc mój plik firewalla wygląda tak :

config defaults
        option syn_flood '1'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'REJECT'

config zone
        option name 'lan'
        option network 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'REJECT'

config zone
        option name 'wan'
        option network 'wan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'REJECT'

config redirect
    option name 'kamera'
    option src 'lan'
    option proto 'tcpudp'
    option src_dport '8000'
    option dest_ip '192.168.1.213'
    option dest_port '80'
    option target 'DNAT'
    option dest 'lan'

config redirect
    option name 'kamera_back'
    option src 'lan'
    option proto 'tcpudp'
    option src_ip '192.168.1.213'
    option src_dip '192.168.1.154'
    option dest_port '8000'
    option target 'SNAT'
    option dest 'lan'

W tym drugim przypadku pojawiły się wpisy w w firewall statistics

http://pawkon.comuv.com/firewall3.jpg

ale nadal nie działa ... ktoś widzi błąd? jakieś pomysły ? Próbowałem nawet na innym urządzeniu i jest to samo hmm

21 (edytowany przez snifer 2016-01-20 21:27:56)

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

config zone
        option name 'lan'
        option network 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'REJECT'

Spróbuj zmienić option forward na 'ACCEPT' w zone 'lan'

Samo to

config redirect
    option name 'kamera'
    option src 'lan'
    option proto 'tcpudp'
    option src_dport '8000'
    option dest_ip '192.168.1.213'
    option dest_port '80'
    option target 'DNAT'
    option dest 'lan'

powinno wystarczyć, SNAT już nie potrzebny, u mnie tak działało jak testowałem.

Archer C7 v.2 + LEDE by Cezary http://beta.speedtest.net/pl/result/6621599402

22

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

Wiem że powinno ale niestety nie wystarczyło. Zmieniłem to co pisałeś i w statystykach wygląda to tak że rosną statystyki dla zone_lan_prerouting oraz zone_lan_forward czyli option forward działa prawidłowo ... ale niestety nie działa ... strona www mi się nie wyświetla sad nie wiem co jest grane. Może podpowiedzcie jak to zdebugować ?Gdzie leży problem. To musi być coś banalnego skoro u Was to działa a u mnie nie.

23

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

Może przeinstaluj system. Jak sam zauważyłeś zarówno @snifer jak i ja, mamy odpowiednie wpisy z "automatu". Skoro u Ciebie tego nie ma to, wgraj od nowa soft z eko.one.pl
Nie dopuszczam takiej myśli, że to przekierowanie działa tylko na WR1043 big_smile

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

24

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

testowałem na 2 różnych urządzeniach z różnymi wersjami openwrt. Ale spoko zainstaluje najnowszą wersję na jeszcze jednym routerku jaki posiadam i sprawdze tam. Dam znać jak poszło.

25

Odp: Kamera IP RTSP Locomote Video Player Socket Policy Server

Więc sprawa wygląda tak że zainstalowałem od nowa na zupełnie innym routerze najnowszą wersję openwrt czyli CC i raz działa a raz nie działa. Jeśli wychodzę z kabla z jednej adresacji do wifi z inną adresacją to działa. Jeśli się natomiast podłącze do wifi i wywołam adres nowego routera to wtedy się nic nie dzieje. Co najwyraźniej oznacza że taki forward można zrobić tylko pomiędzy różnymi zakresami adresów IP. Było by troche słabo bo to by oznaczało że musiałbym stworzyć jakiś osobny interfejs na jednym porcie switcha routera i postawić na nim inną adresację i dopiero wtedy to zadziała. Mam nadzieję że się mylę bo nie mam zielonego pojęcia jak to zrobić. Jak to wygląda u was ?