1 (edytowany przez QmQ 2017-07-26 14:34:21)

Temat: [IPTV] Netia Player przez VPN

Witam,

Przeczytałem wątki:
https://eko.one.pl/forum/viewtopic.php?id=6297
i
http://eko.one.pl/forum/viewtopic.php?id=3400
jednak tam chodzi o coś trochę innego niż osiągnąć chciałbym ja.

Netia Player ('NP') można używać tylko z sieci Netii (co zrozumiałe). Niedługo czeka mnie przeprowadzka w miejsce, gdzie Netia nie sięga. Pomimo wielu wad i wkurwiających rozwiązań jestem całkiem zadowolony z tego jak to działa. Jako iż mam dopiero co przedłużoną umowę na Internet+TV (na "promocyjnych" warunkach), a wyprowadzka jest tylko czasowa nie zamierzam rezygnować z pakietu. Mieszkanie zostaje na ten czas puste i w związku z tym pojawił się w mej głowie niecny plan: zabrać ze sobą urządzenie Netia Player, a w domu skonfigurować COŚ (VPN?), żebym mógł wpiąć NP w nowej lokalizacji, połączyć się z domem i "udawać", że NP stoi w domu. Tzn. chciałbym cały ruch od danego urządzenia (od NP) przekierować przez ten "VPN".

Macie jakieś pomysły jak takie coś ustawić? W domu mam 1043ND oraz dwie maszyny pokroju Intel NUC (ze zwykłym Linuxem). Chciałbym jedną z nich zostawić na stałe wpiętą w router od Netii żeby robiła ten "VPN". A w innej sieci będzie 1043ND z wpiętym NP i tutaj trzeba by tak ustawić, żeby to jedno urządzenie (albo konkretny port) mogło łączyć się TYLKO z "VPN".

Piszę "VPN" bo to jedyna rzecz, która mi się kojarzy z tego typu rozwiązaniami, ale może to być coś innego. Nie wiem też jak NP się komunikuje z serwerami Netii, ale wychodzi na to, że po UDP, więc rozwiązanie musi to wspierać. Te dwa wątki z góry są dosyć obszerne, ale po przeczytaniu doszedłem do wniosku, że realizują bardzo specyficzne zadania, podczas gdy ja chcę zrobić to maksymalnie prosto. Chodzi o przekierowanie całego ruchu od/do jednego urządzenia przez "VPN" i tyle. Tak, że jak Netia cośtam pozmienia w konfiguracji, vlanach itp to i tak zadziała tak, jakby wszystko było spięte lokalnie. I tak będę za to płacić, więc fajnie byłoby korzystać smile

Ideas?

EDIT/UPDATE:
Znalazłem takie coś:
https://www.homingsystems.com/product/duo
i dokładnie o to chodzi, tylko bez dodatkowych urządzeń i abonamentu.

Pozdrawiam,
QmQ

2 (edytowany przez tosiek 2017-07-26 21:00:34)

Odp: [IPTV] Netia Player przez VPN

Jeden pomysł to OpenVPN w trybie tap. Wtedy jesteś w stanie udawać w pewnym stopniu jakbyś był wpięty fizycznie. Na kliencie robisz bridge któryś porów na switchu i powino działać. Masz zewnętrzny, publiczny adres od netii?

Na tym jednym "porcie telewizyjnym" jest oddzielny vlan, dhcp? Tutaj jest opis jak przepchnąć vlany przez tunel openvpn na określone fizyczne porty:
https://forum.openwrt.org/viewtopic.php?id=33678

ethernet bridging:
https://openvpn.net/index.php/open-sour … dging.html

3

Odp: [IPTV] Netia Player przez VPN

OpenVPN mam wgrane i skonfigurowane (TUN).
Poczytałem o trochę i faktycznie, TAP wydaje się wymagany, bo działa w drugiej warstwie.
Jeszcze ogarniam te linki od Ciebie (dzięki!)

Netia daje publiczne IP, "prawie" stałe (przez ostatnie 3 lata były 2/3 zmiany, można z tym żyć)

Po "stronie" routera jeszcze nic nie ma, bo aktualnie go używam (spięty z routerem Netii). Mam w domu trzy NP, każdy wpięty inaczej, wszystkie dostają IP po DHCP (od 1043ND) i wszystko działa. Nie robiłem żadnych specjalnych ruchów typu vlan czy coś.

Pozdrawiam,
QmQ

4

Odp: [IPTV] Netia Player przez VPN

Poczytałem i wydaje mi się, że tak będzie OK:

DOM (Netia):

{Internet}---[Technicolor(modem/router od Netii)]---[NUC(Linux)]

NUC ma:
-serwer OpenVPN w trybie TAP i bridge (eth0+tap0)
-serwer DHCP dla całej sieci, żeby można było "przepołowić" adresy (Technicolor nie zapamiętuje konfiguracji DHCP...)

Technicolor ma:
-wyłączone DHCP (to zapamiętuje)
-przekierowanie UDP na NUCa, żeby OpenVPN działał
-WiFi

Oczywiście poza VPNem, będzie więcej podłączonych urządzeń (np. kamera)

ZDALNY:

{Internet}---[1043ND]---[NP]

1043ND ma:
-serwer DHCP skonfigurowany "komplementarnie" (druga połowa zakresu) do tego z domu
-klienta OpenVPN łączącego się do domu - również TAP w bridge (eth0+tap0)
-WiFi

Oczywiście i tutaj będzie więcej klientów

I teraz widzę dwa wyjścia i nie wiem które lepsze:
1. Zostawić dwie "całe" połączone sieci (efektywnie mam jeden duży LAN, wszystkie urządzenia widzą się nawzajem, a tylko dla NP wymusić "wyjście" przez VPN tzn. ustawić mu gateway na Technicolor)
2. Sprawić, żeby tylko NP gadał przez VPN, a reszta nie (efektywnie są dwa LANy, a tylko jedno urządzenie w tym zdalnym "wygląda" jakby było podłączone do tego domowego)

Dużo osób mówi, że TAP jest wolniejszy i więcej wymaga zarówno od łącza (więcej danych+większe nagłówki) jak i sprzętu (więcej ramkowania+szyfrowanie). Więc może opcja "2" jest lepsza, bo pewnie jakoś można cały ten ruch przyciąć tylko do tego jednego, zainteresowanego urządzenia (NP). Przy okazji warto zauważyć, że to praktycznie tylko ściąga (upload to chyba tylko przy logowaniu i zmianie kanałów).
Z kolei opcja "1" jest de facto fajniejsza, bo mam wszystko dostępne tak jakbym był w domu. Nie muszę się bawić w przekierowywanie np. kamerki itp. Ale za to bridge ma dużo więcej roboty.

1043ND da radę, gdyby zrobić #2? Dziś wieczorem sprawdzę, ile faktycznie NP wymaga łącza (ale na pewno najmarniej kilka Mbps)

Pozdrawiam,
QmQ

5

Odp: [IPTV] Netia Player przez VPN

Opcja 2 i to zdecydowanie. Łączenie dwóch podsieci TAPem to zły pomysł. Zawsze możesz postawić dwie instancje serwera openvpn: TAP + VLAN dla Netia Player, TUN dla reszty hostów. Pytanie jaki upload masz od Netii, bo to może okazać się wąskim gardłem.

TP-Link TL-WDR3600 v1.5 -  OpenWrt Chaos Calmer 15.05.1 with Luci +Microsoft LifeCam VX-3000
RaspberryPi 2 - OMV Stone Burner 2.0.15 +Creative SB Play +Medion OR24V +DVB-T Media-Tech MT4163  +MP00202AC +3xDS18B20 +HIH-4000-002 +MPXHZ6115A +Samsung SPF-85H +D-Link DUB-H7

6

Odp: [IPTV] Netia Player przez VPN

No właśnie się z tym męczę...

Netia jest 100/10, a więc 10Mbps. Od dłuższego czasu próbuje zmierzyć ile pojedynczy NP zużywa i...nie wiem jak. Myślałem, że te wykresy są popsute, ale teraz poszedłem prostszą drogą:

root@OpenWrt:~# ifconfig | grep bytes
          RX bytes:116926072 (111.5 MiB)  TX bytes:50841088 (48.4 MiB)
          RX bytes:98128037 (93.5 MiB)  TX bytes:772119081 (736.3 MiB)
          RX bytes:4152768927 (3.8 GiB)  TX bytes:55796844 (53.2 MiB)
          RX bytes:0 (0.0 B)  TX bytes:705939366 (673.2 MiB)
          RX bytes:41009 (40.0 KiB)  TX bytes:41009 (40.0 KiB)
root@OpenWrt:~# ifconfig | grep bytes
          RX bytes:117060952 (111.6 MiB)  TX bytes:51243240 (48.8 MiB)
          RX bytes:98592818 (94.0 MiB)  TX bytes:772572181 (736.7 MiB)
          RX bytes:4153194342 (3.8 GiB)  TX bytes:56200200 (53.5 MiB)
          RX bytes:0 (0.0 B)  TX bytes:705984510 (673.2 MiB)
          RX bytes:41009 (40.0 KiB)  TX bytes:41009 (40.0 KiB)

I nadal nie rozumiem. Między tymi "pomiarami" było ponad 10 minut, NP wpięty bezpośrednio w port #4 w 1043ND, cały czas leci kanał w HD. Gdzie te dane? Coś powinno się solidnie zmienić przecież... neutral

Pozdrawiam,
QmQ

7

Odp: [IPTV] Netia Player przez VPN

OK, nie wiem czemu nie widać nic w statystykach z ifconfig (Cezary?), ale pomierzyłem z swconfig:

HD: 15KB/s upload oraz 850KB/s download (6.7Mbps)
SD: 10KB/s upload oraz 450KB/s download (3.5Mbps)

Tak więc przy łączu 100/10 [Mbps] powinno się raczej zmieścić. No chyba, że ten narzut jest jakiś bezsensownie ogromny, w co wątpię.

Pomierzone - zmieści się. Pora to ustawić. Jest szansa, że zadziała w trybie TUN? Będę próbował to sprawdzić o ile uda mi się wszystko dobrze skonfigurować.

Pozdrawiam,
QmQ

8

Odp: [IPTV] Netia Player przez VPN

Informacyjnie: NP działa też zza NATu tzn. nie musi być wpięte bezpośrednio w Technicolor (router Netii). Chciałem to sprawdzić nim zacznę się bawić w OpenVPN.

Pozdrawiam,
QmQ

9 (edytowany przez QmQ 2017-07-29 17:40:23)

Odp: [IPTV] Netia Player przez VPN

No dobra. Czegoś brakuje. Sytuacja jest następująca:

W sieci "macierzystej" jest komputer Intel NUC z serwerem OpenVPN. Skonfigurowany jest tak, że w trybie TUN wymusza cały ruch połączonych klientów przez VPN. Wygenerowany jest pojedynczy plik (client.ovpn), który zawiera wszystko - adres, konfigurację, certyfikaty. Ten plik wrzucamy na klienta i działa.
I faktycznie: pod Windows działa, cały ruch przez VPN, elegancko. Z telefonu (Android) to samo - wszystko OK.
Natomiast jak z konsoli routera (LEDE) zrobię:

openvpn client.ovpn

to też działa, ale nie do końca. Owszem, z poziomu konsoli mam dostęp do sieci macierzystej (widzę komputery, routery itp), ale już z poziomu podłączonych do routera klientów nie. Jakby brakowało "połączenia" pomiędzy LANem a VPNem.

Próbowałem dodać tun0 do bridga br-lan (z GUI), ale to jakby nic nie zmieniło. Od czasu "podniesienia" połączenia VPN klienci routera tracą połączenie z Internetem. Po zatrzymaniu openvpn momentalnie odzyskują.

Podejrzewam, że to coś z routingiem. Tablice routingu przed i po nawiązaniu połączenia z VPNem:

BEZ VPN:
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.43.1    0.0.0.0         UG    0      0        0 wlan0
192.168.2.0     *               255.255.255.0   U     0      0        0 br-lan
192.168.43.0    *               255.255.255.0   U     0      0        0 wlan0
192.168.43.1    *               255.255.255.255 UH    0      0        0 wlan0

Z VPN:
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.8.0.1        128.0.0.0       UG    0      0        0 tun0
default         192.168.43.1    0.0.0.0         UG    0      0        0 wlan0
10.8.0.0        *               255.255.255.0   U     0      0        0 tun0
NETIA_PUBLIC    192.168.43.1    255.255.255.255 UGH   0      0        0 wlan0
128.0.0.0       10.8.0.1        128.0.0.0       UG    0      0        0 tun0
192.168.2.0     *               255.255.255.0   U     0      0        0 br-lan
192.168.43.0    *               255.255.255.0   U     0      0        0 wlan0
192.168.43.1    *               255.255.255.255 UH    0      0        0 wlan0

Wiem, że dziwnie wygląda to 192.168.43.* ale "symuluję" sieć zewnętrzną za pomocą telefonu (tethering 4G), a ten chyba sam w sobie robi NATa w takim zakresie. Z perspektywy tego routera to WAN. Sam router robi NATa 192.168.2.0/24

Pozdrawiam,
QmQ

10

Odp: [IPTV] Netia Player przez VPN

OK, działa, i to w trybie TUN! big_smile
(czy to znaczy, że NP nie robi nic specjalnego, żadnych vlanów itp? Bo tak to rozumiem.)

Tablica routingu jednak była OK, tylko nie wiedziałem o co chodzi z tymi dziwnymi trasami do bramki. Okazuje się, że to trick stosowany przez OpenVPN, żeby wymusić użycie ich interfejsu bez zmieniania istniejących wpisów. Tzn. nie ruszają tego co jest tylko dodają swoje wpisy, które są ważniejsze, bo są bardziej szczegółowe niż domyślny. Do poczytania TUTAJ. [TLDR]Ogólnie oba te wpisy "w sumie" przekierowują CAŁY ruch (każdy 'po połowie' zakresu), a że oba kierują do tego samego adresu to efektywnie to jakby jeden wpis. Fakt że jest 'po pół' powoduje, że są ważniejsze od tego domyślnego i w ten sposób nie trzeba go modyfikować, a priorytet i tak mają dwa 'po pół'.[/TLDR] To ten tajemniczy def1, który widać często w pytaniach "Jak przekierować cały ruch przez VPN?"


Co było źle? Niestety nie wiem. Podejrzewam, że albo firewall blokował ruch LAN <-> VPN albo w ogóle go nie było.


Ustawione tak jak TUTAJ opisane. Jakby się adres zmienił albo coś to wrzucam treść poniżej:

# ("streisand" to nazwa własna jego serwera, do zmiany wedle uznania)

# a new OpenVPN instance:
uci set openvpn.streisand=openvpn
uci set openvpn.streisand.enabled='1'
uci set openvpn.streisand.config='/etc/openvpn/streisand.conf'

# a new network interface for tun:
uci set network.streisandvpn=interface
uci set network.streisandvpn.proto='none' #dhcp #none
uci set network.streisandvpn.ifname='tun0'

# a new firewall zone (for VPN):
uci add firewall zone
uci set firewall.@zone[-1].name='vpn'
uci set firewall.@zone[-1].input='REJECT'
uci set firewall.@zone[-1].output='ACCEPT'
uci set firewall.@zone[-1].forward='REJECT'
uci set firewall.@zone[-1].masq='1'
uci set firewall.@zone[-1].mtu_fix='1'
uci add_list firewall.@zone[-1].network='streisandvpn'

# enable forwarding from LAN to VPN:
uci add firewall forwarding
uci set firewall.@forwarding[-1].src='lan'
uci set firewall.@forwarding[-1].dest='vpn'

# Finally, you should commit UCI changes:
uci commit

Tylko nie wiem czemu autor dał REJECT w input/forward - a tym bardziej, czemu mimo tego działa. Może ktoś mądrzejszy się wypowie?

Pozdrawiam,
QmQ

11

Odp: [IPTV] Netia Player przez VPN

U mnie NP działa bez problemy poprzez VPN PPTP. Bez żadnego kombinowania z VLAN-ami.
Testowałem na neostradzie oraz LTE Play.

Zyxel EX5601-T1