mediaserver bereiken van buitenaf

Heb je problemen met het instellen van je netwerk, bedraad of draadloos, dan kan je hier altijd terecht!
Plaats reactie
StarWing
Premium Member
Premium Member
Berichten: 723
Lid geworden op: 28 jan 2006, 18:21
Uitgedeelde bedankjes: 23 keer
Bedankt: 65 keer

Ik probeer voor mezelf en het gezin een Jellyfin op te zetten, incl ssl cert en bereikbaar van buitenaf. Maar ik zie iets over het hoofd.

De jellyfin is geinstalleerd op een ubuntu dedicated 20.04, welke draait op een esxi machine. Deze ubuntu heeft 2 netwerkkaarten, 1 naar mijn interne netwerk, welke oa aan onze storage kan, 1 netwerkkaart verbonden dmv vlans op de grote buitenwereld.

De jellyfin instance in perfect bereikbaar van binnenuit op zijn locale lan.
Deze is ook bereikbaar van buitenaf op een fqdn (jellyfin.onzedomeinnaam.be) en heeft een werkend SSL certificaat van Let's Encrypt. De aanvraag hiervan is ook gelukt (portforward...)

Aangezien deze instance op een van zijn netwerkkaarten direct aan het internet hangt, en een publiek IP verkrijgt van TN, dient er geen portforwarding te gebeuren volgens mij (hence, ik het dit niet gedaan en het aanvragen van een cert via certbot is gelukt, moest dit niet correct zijn, dan zou het niet werken)

Voorts heb ik de ufw aangezet en enkel poort 80, 443 toegelaten van any-any en poort 22 (ssh) vanop het interne netwerk. Er draait ook een fail2ban op, maar deze is pas later geinstalleerd.

Wat is nu de vraag..
De jellyfin is enkel bereikbaar vanop ons netwerk op zijn externe ip. Het verkeer blijft hiervoor op onze modem hangen (loopback achtig iets). De jellyfin is niet bereikbaar via een andere, niet van onze modem komende verbinding, lees via 4G of via het telenet netwerk op mijn werk.

Als ik een portscan doe (random ding op internet) dan zie ik dat de poorten allemaal gesloten zijn, wat niet kan, want op extern ip bereikbaar op onze modem. Het aan/uitzetten van de ufw maakt geen verschil (sudo ufw disable/enable) Resultaten en portscan geven hetzelfde resultaat.

Ik heb op dezelfde manier een nextcloud opgezet, zelfde princiepe, maar dan met een preconfigured OVF van IT Hanssen. Dit werkt perfect en is van overal bereikbaar.

Persoonlijk zit ik te denken aan een routeringsprobleem bij TN, maar dan zou mijn nextcloud ook niet werken me dunkt.

Ik zit een beetje met de handen in het haar en kan de oplossing niet vinden, iemand de gouden tip ? Het renewen van het externe IP adres helpt niet, dit had ik reeds geprobeerd.

Trace vanop mijn pc naar het externe ip van de jellyfin.

Code: Selecteer alles

tracert jellyfin.onsdomein.be

Tracing route to jellyfin.onsdomein.be [xx.xx.xx.98]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  _gateway [192.168.10.254]
  2    <1 ms    <1 ms    <1 ms  xx.xx.xx.98.access.telenet.be [xx.xx.xx.98]
Trace vanop een 4G telenet verbinding

Code: Selecteer alles

tracert jellyfin.onsdomein.be

Tracing route to jellyfin.onsdomein.be [xx.xx.xx.98]
over a maximum of 30 hops:

  1     3 ms     1 ms     3 ms  192.168.43.1
  2    42 ms    26 ms    34 ms  10.13.226.38
  3    37 ms    32 ms    32 ms  10.13.226.28
  4    35 ms    25 ms    45 ms  10.13.226.29
  5     *        *        *     Request timed out.
  6     *        *        *     Request timed out.
  7     *        *        *     Request timed out.
  8    32 ms    42 ms    47 ms  dD5E0CAEC.access.telenet.be [213.224.202.236]
  9    46 ms    57 ms    60 ms  xx-xx-xx-98.access.telenet.be [xx-xx-xx.98]
ufw status

Code: Selecteer alles

jellyfin@mediaman:~$ sudo ufw status
[sudo] password for jellyfin:
Status: active

To                         Action      From
--                         ------      ----
443/tcp                    ALLOW       Anywhere
22/tcp                     ALLOW       192.168.10.0/24
80/tcp                     ALLOW       Anywhere
8096                       ALLOW       127.0.0.1
8096                       ALLOW       192.168.10.127
8096                       ALLOW       192.168.10.0/24
443/tcp (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
nmap vanaf lokale ubuntu:

Code: Selecteer alles

jellyfin@mediaman:~$ nmap -v jellyfin.onsdomein.be
Starting Nmap 7.80 ( https://nmap.org ) at 2021-08-06 18:27 CEST
Initiating Ping Scan at 18:27
Scanning jellyfin.onsdomein.be (xx.xx.xx.98) [2 ports]
Completed Ping Scan at 18:27, 0.00s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 18:27
Completed Parallel DNS resolution of 1 host. at 18:27, 0.00s elapsed
Initiating Connect Scan at 18:27
Scanning jellyfin.onsdomein.be (xx.xx.xx.98) [1000 ports]
Discovered open port 80/tcp on xx.xx.xx.98
Discovered open port 111/tcp on xx.xx.xx.98
Discovered open port 25/tcp on xx.xx.xx.98
Discovered open port 22/tcp on xx.xx.xx.98
Discovered open port 443/tcp on xx.xx.xx.98
Discovered open port 2049/tcp on xx.xx.xx.98
Completed Connect Scan at 18:27, 0.03s elapsed (1000 total ports)
Nmap scan report for onsdomein.lugein.be (xx.xx.xx.98)
Host is up (0.00011s latency).
rDNS record for xx.xx.xx.98: xx-xx-xx-98.access.telenet.be
Not shown: 994 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http
111/tcp  open  rpcbind
443/tcp  open  https
2049/tcp open  nfs

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds
Maar, bovenstaande strookt volgens mij niet met mijn ufw regels. Per default (volgens mij) blokkeert ufw alles, buiten de poorten die je zelf openzet. De poorten die open staan volgens de nmap scan, kloppen totaal niet met de ufw regels :s ?
yaris
Premium Member
Premium Member
Berichten: 472
Lid geworden op: 14 mei 2004, 00:16
Uitgedeelde bedankjes: 6 keer
Bedankt: 26 keer

Ik vermoed dat je toch portforwarding gaat moeten instellen op je telenet router voor je publiek ip. Als je scan van extern aangeeft dat de poorten gesloten zijn lijkt het me wel duidelijk.
Dat je intern wel aan je jellyfin kan is idd zo'n loop vermoed ik.

Je nmap scan moet je bekijken als intern verkeer. En daar is het logisch dat die poorten openstaan. Anders kan je ook niet via ssh aan je server.
Je moet , via jou thuisnetwerk, het externe ip van telenet als "intern" bekijken.

Wil je het allemaal wat overzichtelijker kan ik je aanraden om een modem only aan te vragen en zelf een router te installeren. Zelf gebruik ik een mikrotik. Niet heel eenvoudig maar je kan er echt alles mee.

Zorg voor een user en sterk wachtwoord voor jellyfin. Je zou verbaasd zijn hoeveel plex, jellyfin, emby installaties dit niet hebben :-).
Kijk op termijn ook is naar docker. Ik draai hier alles in containers. Jellyfin, gitlab, sonarr, radarr, ftp server, rutorrent etc.. .
StarWing
Premium Member
Premium Member
Berichten: 723
Lid geworden op: 28 jan 2006, 18:21
Uitgedeelde bedankjes: 23 keer
Bedankt: 65 keer

Vergeten te melden, ik heb een modem, geen router. Poorten instellen gaat dus niet.
Gebruikersavatar
mailracer
Elite Poster
Elite Poster
Berichten: 3870
Lid geworden op: 23 feb 2010, 21:03
Uitgedeelde bedankjes: 224 keer
Bedankt: 318 keer

Koop een router met vpn functies en je bent direct geholpen om eender wat te bereiken op je netwerk van buiten je lan.
Eerlijk gezegd snap ik niet dat je geen router hebt, maar wel kennis van Linux en dergelijke, wat staat er dan van netwerk apparatuur ?
StarWing
Premium Member
Premium Member
Berichten: 723
Lid geworden op: 28 jan 2006, 18:21
Uitgedeelde bedankjes: 23 keer
Bedankt: 65 keer

Niet vermeld wegens niet van toepassing in deze situatie.
Op dezelfde esx draait ook nog een pfsense voor het interne netwerk.

De reden dat de jellyfin "buiten" staat is om niet steeds te moeten switchen tussen het interne ip en het externe ip als de zoon thuis/op school is.

//edit, ter info:
netwerk.png
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
charlez
Pro Member
Pro Member
Berichten: 225
Lid geworden op: 13 apr 2017, 08:02
Uitgedeelde bedankjes: 4 keer
Bedankt: 13 keer

Heb jij een publiek fixed ip? Hoe ga je het veranderen van ip opvangen?
Als je een netstat doet, luistert je jellyfin op beide nics?
StarWing
Premium Member
Premium Member
Berichten: 723
Lid geworden op: 28 jan 2006, 18:21
Uitgedeelde bedankjes: 23 keer
Bedankt: 65 keer

charlez schreef:Heb jij een publiek fixed ip? Hoe ga je het veranderen van ip opvangen?
later, via ddns, eerst de rest werkend krijgen
charlez schreef:Als je een netstat doet, luistert je jellyfin op beide nics?
Ik heb, volgens de guide die ik gevolgd heb, een nginx opgezet als reverse proxy:

Code: Selecteer alles

jellyfin@mediaman:~$ sudo netstat -tulpn | grep :80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      948/nginx: master p
tcp6       0      0 :::80                   :::*                    LISTEN      948/nginx: master p
tcp6       0      0 :::8096                 :::*                    LISTEN      838/jellyfin
jellyfin@mediaman:~$ sudo netstat -tulpn | grep :443
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      948/nginx: master p
tcp6       0      0 :::443                  :::*                    LISTEN      948/nginx: master p
jellyfin@mediaman:~$

Code: Selecteer alles

jellyfin@mediaman:~$ sudo ps aux | grep nginx
root         948  0.0  0.0  66404  1716 ?        Ss   05:00   0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data     951  0.0  0.2  66644  5440 ?        S    05:00   0:00 nginx: worker process
jellyfin   13530  0.0  0.0   6432   672 pts/0    S+   09:49   0:00 grep --color=auto nginx
charlez
Pro Member
Pro Member
Berichten: 225
Lid geworden op: 13 apr 2017, 08:02
Uitgedeelde bedankjes: 4 keer
Bedankt: 13 keer

Echt ‘secure’ is je setup ook niet echt, een systeem direct aan internet hangen met een 2de nic die gewoon op je lan zit.
Kijk eens naar netwerksetup van nextcloud vm.
StarWing
Premium Member
Premium Member
Berichten: 723
Lid geworden op: 28 jan 2006, 18:21
Uitgedeelde bedankjes: 23 keer
Bedankt: 65 keer

Raar... Als ik de interface die naar mijn lan gaat uitschakel, werkt het wel gewoon. Dus toch ergens een lokaal probleem ?
jellyfin-nginx.txt
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
yaris
Premium Member
Premium Member
Berichten: 472
Lid geworden op: 14 mei 2004, 00:16
Uitgedeelde bedankjes: 6 keer
Bedankt: 26 keer

StarWing schreef:Raar... Als ik de interface die naar mijn lan gaat uitschakel, werkt het wel gewoon. Dus toch ergens een lokaal probleem ?

jellyfin-nginx.txt
Misschien issue intern routeren tussen je beide netwerkkaarten op je ubuntu server ?

Met een router als deze heb je switch, router, AP , firewall in 1.
https://tweakers.net/pricewatch/1263483 ... nd-in.html
Dan kan je makkelijk werken met interne dns en externe dns en ga je minder shit hebben in de toekomst.
StarWing
Premium Member
Premium Member
Berichten: 723
Lid geworden op: 28 jan 2006, 18:21
Uitgedeelde bedankjes: 23 keer
Bedankt: 65 keer

^^ ik heb een router (pfsense), deze ubuntu instance staat daarvoor, wat net de bedoeling is.
Gebruikersavatar
mailracer
Elite Poster
Elite Poster
Berichten: 3870
Lid geworden op: 23 feb 2010, 21:03
Uitgedeelde bedankjes: 224 keer
Bedankt: 318 keer

StarWing schreef:Raar... Als ik de interface die naar mijn lan gaat uitschakel, werkt het wel gewoon. Dus toch ergens een lokaal probleem ?

jellyfin-nginx.txt
idd. Je routering draait in de soep. Waarom niet via VPN (pfsense) ? Ik heb een vermoeden dat je ook een groot veiligheidslek creëert hiermee.
Gebruikersavatar
Sasuke
Elite Poster
Elite Poster
Berichten: 4854
Lid geworden op: 13 aug 2003, 20:25
Locatie: Vlaanderen
Uitgedeelde bedankjes: 153 keer
Bedankt: 332 keer
Contacteer:

Op je 2de, interne, nic geen Gateway zetten he. Maar als je een reverse proxy gebruikt heb je toch geen 2 nics nodig.

Gebruik de reverse proxy op je pfSense met SSL offloading en je kan perfect dezelfde hostname buiten/binnen gebruiken EN veilig achter de firewall werken. Je pfsense kan dan ineens de ddns updates doen ook, alles wat nodig is dus. Heb hier thuis ook een hoop zaken achter de HAProxy zitten van mijn Opnsense few op ESX.
Who the fxxk is General Failure and why is he reading my hard disk ?
Afbeelding
StarWing
Premium Member
Premium Member
Berichten: 723
Lid geworden op: 28 jan 2006, 18:21
Uitgedeelde bedankjes: 23 keer
Bedankt: 65 keer

ok, ik zit al een ganse namiddag te vechten met pfsense :)
Ik heb een clean install gemaakt van pfsense/jelly, en ik heb 2 certs van letsencrypt: home.mijndomein.be en *.mijndomein.be, werkend vanuit pFsense.

Ik heb totaal geen ervaring met haproxy en reverse proxy's, dus ik zit wat guides te volgen via goegel..

jelly luistert enkel op op de lan, en is niet meer verbonden met de WAN, wat ook aangehaald werd hier.

Ik heb het zowaar werkend dat ik de jelly kan bereiken op home.mijndomein.be, wat an sich goed is, maar ... Ik heb ook nog een SSH server draaien welke ik moet kunnen bereiken vanop locatie, en daar loop ik momenteel vast. Als ik een SSH verbinding open naar de ssh server krijg ik een remote side closed connection.

Wat ik wil:

verbinden naar: (via cname record op de dns instellingen van mijn registrar, ddns....)
home.mijndomein.be ==> forward naar ipvansshserver:22 Van op mijn werk maak ik een SSH verbinding en tunnel daar een RDP over naar een virtuele W10 op mijn esxi, dit werkt perfect als ik geen gebruik maar van pfsense/haproxy ==> voorheen via een nat regel.

verbinden naar (via cname), dit werkt (hoera....)
jellyfin.mijndomein.be ==> forward naar ipvanjelly:8096 (via cname record)

Het grote probleem is dat vanop mijn werk/vakantielokatie enkel poort 80 en 443 open staan, dus hierdoor ook de originele config.. De SSH moet dus bereikbaar zijn op poortje 443. HA proxy moet dus een mapping 443 ==> 22 doen. Voorheen deed ik dat met nat rules (hence, de ganse reden dat ik de jelly op een extern ip wou zetten in de eerste plaats...)

Iemand nog het laatste zetje ? SSL cert voor de SSH is in deze minder van toepassing. Ik gebruik op de SSH certificaat authenticatie én een geoblock op de pfsense die alleen NL, BE, CH en FR toelaat.
Gebruikersavatar
Sasuke
Elite Poster
Elite Poster
Berichten: 4854
Lid geworden op: 13 aug 2003, 20:25
Locatie: Vlaanderen
Uitgedeelde bedankjes: 153 keer
Bedankt: 332 keer
Contacteer:

Reverse proxy voor SSH gaat niet werken hè. Dan ga je een portforward moeten doen maar dat kan niet als je maar 1 op hebt. Dus ik zou dan de haproxy laten vallen, je ssh portforwarden over 443 en dan via daar je connectie naar jellyfish ook tunnelen. Alternatief is je ssh over poort 80 forwarded en jellyfish https only houden?
Who the fxxk is General Failure and why is he reading my hard disk ?
Afbeelding
Plaats reactie

Terug naar “Netwerken en Security”