Synology-Forum.nl

Packages => Officiƫle Packages => Docker / Container Manager => Topic gestart door: wjt op 02 juli 2019, 00:31:26

Titel: nzbget/vpn docker
Bericht door: wjt op 02 juli 2019, 00:31:26
Hoi,

Ik draai sinds kort de Nzbget/vpn image van jshridha (https://github.com/jshridha/docker-nzbgetvpn).
Om de VPN uberhaupt werkend te krijgen heb ik een bootscript ingesteld die de virtuele netwerkadapter tun0 toevoegd.
Nu kan ik de container starten, echter werkt dit alleen met hoge machtiging aangevinkt. ( root access? )

Als ik dat uitzet krijg ik de error: Cannot ioctl TUNSETIFF tun: Operation not permitted (errno=1)
Ik gok dat de container niet voldoende rechten heeft om de VPN te starten?

1) Wat zijn de risico's om een docker container te draaien met root access? ( ten opzichte van een package die onder DSM zelf draait )
2) Hoe kan ik de container evt zonder root access draaien maar wel de juiste rechten instellen voor het VPN gedeelte zodat de error weg blijft?


Titel: Re: nzbget/vpn docker
Bericht door: wjt op 06 juli 2019, 23:25:56
Ik ben er inmiddels achter dat je als je een tun/tap van het host systeem wilt gebruiken je daar altijd root / sudo voor nodig hebt binnen Synology / linux. Weet iemand misschien hoe je een script maakt zodat alleen de container root access krijgt voor het vpn gedeelte? Lijkt mij een stuk veiliger dan de hele container op het hele host systeem root access te geven.

klik (https://www.infradead.org/openconnect/nonroot.html), hier staat beschreven hoe je in linux een bepaalde user root access geeft voor een specifieke tun adapter binnen linux. Ik mis wat ervaring kwa terminal/scripten binnen DSM, dus ik hoop dat iemand kan meedenken hoe ik dit voor elkaar kan krijgen?

Het huidige boot script om de tun0 adapter toe te voegen ziet er als volgt uit:

-----------------------
#!/bin/sh

# Create the necessary file structure for /dev/net/tun
if ( [ ! -c /dev/net/tun ] ); then
  if ( [ ! -d /dev/net ] ); then
    mkdir -m 755 /dev/net
  fi
  mknod /dev/net/tun c 10 200
fi

# Load the tun module if not already loaded
if ( !(lsmod | grep -q "^tun\s") ); then
  insmod /lib/modules/tun.ko
fi

# Load iptables mangle is not already loaded
if ( !(lsmod |grep -q "^iptable_mangle\s") ); then
  insmod /lib/modules/iptable_mangle.ko
fi
------------------------------

Hoe zou ik het script kunnen aanpassen zodat het bereikt wat in de link beschreven wordt? ( bepaalde admin user root access geven voor alleen tun0 )

Alvast bedankt  :thumbup: