[Guide] Kör Mumble-server i din router eller NAS (eller brödrost)

Permalänk
Medlem

[Guide] Kör Mumble-server i din router eller NAS (eller brödrost)

Tänk följande scenario: Ett gäng kompisar som tycker om att spela dataspel och gärna LAN-ar då och då när tillfälle bjuds men annars har en/flera kvällar i veckan då man träffas över nätet och då hänger i Teamspeak/Ventrilo/Mumble och samtalar. Ofta kör någon i gänget snackservern ifråga antingen på sin egen speldator eller på någon server i en garderob hemma. Om den körs på speldatorn uppstår problem med att denna oftast inte är igång om personen ifråga inte kan vara där. Om den körs på en server så funkar det ju fint men dessa drar i regel förhållandevis mycket ström samt tar upp plats.

Jag kan tänka mig att ovanstående scenario är relativt vanligt, särskilt bland besökare på detta forum...

Tänk dig då att du istället kan köra snackservern på din router eller NAS. Detta har uppenbara fördelar; den är alltid igång, drar lite ström och den har gott om outnyttjad kapacitet. Detta är möjligt med mjukvaran uMurmur, som är en alternativ, minimal implementation av Murmur, som serverdelen till Mumble kallas.

Jag går igenom huvuddragen för att fixa detta här. Vissa steg kräver en del kunskap om Linux och nätverkande som jag inte kommer gå igenom i detalj.

Jag måste förstås lägga in en disclaimer om att jag ej tar på mig något ansvar om du lyckas tegelstena din router genom att följa denna guide.

1. Ordna hårdvara

Ta reda på om din router kan husera ett alternativt router OS. Det finns ett antal att välja bland. DD-WRT är populärt, men jag har själv aldrig provat detta. Ett annat alternativ är en Tomato-variant. Själv kör jag en TP-Link TL-1043ND med OpenWRT Backfire 10.03.1 på vilket fungerar bra för mig.

Tomato och OpenWRT har färdiga paket för installation av uMurmur. DD-WRT behöver en del extra arbete för att installera paket från OpenWRT.

Om du har en Synology-NAS behöver du inte installera något alternativt OS. Det finns det färdiga paket att installera via http://www.synocommunity.com/

Andra tänkbara alternativ att köra på är t.ex. Raspberry Pi som ju kan köra Arch Linux vilket har färdiga paket. Jag har även sett att någon portat till Xtreamer Sidewinder (mediaspelare).

I stort sett allt som kan köra någon variant av Linux eller *BSD kan användas, och det finns ju numera mycket att välja på.

Värt att notera i sammanhanget är vilka bibliotek som krävs:
PolarSSL eller OpenSSL
libconfig
libprotobuf_c

Länkar:
Tomato by Shibby: http://tomato.groov.pl/
DD-WRT: http://www.dd-wrt.com
OpenWRT: https://openwrt.org/
Arch Linux: http://aur.archlinux.org/packages.php?ID=38983

2. Installera

Installation skiljer sig väldigt mycket åt beroende på vilket OS som det görs under. Jag går igenom huvuddragen för hur en installation görs på kommandoraden under OpenWRT:

# opkg update # opkg install umurmur-polarssl

Färdigt!

Om du kör OpenWRT version Backfire 10.03.1 så får du då ned en något äldre version av uMurmur (0.2.8). För att få senaste kan man ladda ned paket manuellt från ‘trunk’-repositoryt:

http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/

Byt ut ‘ar71xx’ mot din relevanta arkitektur. Det krävs då även att biblioteken som används laddas ned från samma ställe: libpolarssl/openssl, libconfig samt libprotobuf_c.

Efter dessa är nedladdade, kopiera med t.ex. WinSCP till routerns /tmp/ bibliotek och installera sedan varje paket för sig:

# opkg install libpolarssl_1.1.3-1_ar71xx.ipk # opkg install libconfig_1.4.8-2_ar71xx.ipk # opkg install libprotobuf-c_0.15-1_ar71xx.ipk # opkg install umurmur-polarssl_0.2.10-1_ar71xx.ipk

Du kan förstås även ta ned dessa direkt från routern med wget:

Om du i stället kör DD-WRT måste ‘optware’ aktiveras på ett för mig okänt sätt. DD-WRT har en wiki som det bör finns instruktioner i. Därefter kan paket från OpenWRT användas. Då behöver man ta ner paketen manuellt, förslagsvis från det s.k. ‘trunk’-repositoryt (se ovan) för att få senaste version. Mer info om detta här: http://code.google.com/p/umurmur/wiki/DDWRT

För installation under andra OS får jag hänvisa till deras resp. informationskanaler.

3. Konfigurera

Konfigurationen görs på hederligt manér via en textfil. Jag länkar till wikin som bör täcka allt: http://code.google.com/p/umurmur/wiki/Configuring02x

4. Test

Starta servern:

# /etc/init.d/umurmur start

Kolla loggen. Under OpenWRT görs det med:

# logread

Något liknande detta bör visas:

Aug 14 22:28:06 router daemon.info uMurmurd[18918]: INFO: PID-file: /var/run/umurmurd2.pid Aug 14 22:28:06 router daemon.info uMurmurd[18918]: INFO: PolarSSL library version 1.0.0 initialized Aug 14 22:28:06 router daemon.info uMurmurd[18918]: INFO: Setting default channel 'COH' Aug 14 22:28:06 router daemon.info uMurmurd[18918]: INFO: Adding channel 'COH' parent 'Root' Aug 14 22:28:06 router daemon.info uMurmurd[18918]: INFO: Adding channel 'Allies' parent 'COH' Aug 14 22:28:06 router daemon.info uMurmurd[18918]: INFO: Adding channel 'Axis' parent 'COH' Aug 14 22:28:06 router daemon.info uMurmurd[18918]: INFO: No channel links found in configuration file. Aug 14 22:28:06 router daemon.info uMurmurd[18918]: INFO: Setting SCHED_RR prio 1 Aug 14 22:28:06 router daemon.info uMurmurd[18918]: INFO: Bind to *:64738 Aug 14 22:28:06 router daemon.info uMurmurd[18918]: INFO: uMurmur version 0.2.10 ('Bats in the Belfry') protocol version 1.2.3 Aug 14 22:28:06 router daemon.info uMurmurd[18918]: INFO: Visit http://code.google.com/p/umurmur/

5. Öppna brandvägg

För att dina vänner skall komma åt servern måste brandväggen förstås öppnas på rätt port. Mumble-protokollet körs som standard på port 64738, både UDP och TCP. Om du kör uMurmur på routern skall alltså dessa portar öppnas för inkommande trafik. På kommandoraden under OpenWRT lägger man då till följande till filen /etc/config/firewall:

config 'rule' option 'src' 'wan' option 'dest_port' '64738' option 'target' 'ACCEPT'

Och ladda därefter om brandväggskonfigurationen:

# /etc/init.d/firewall reload

Om du istället kör på något bakom routern måste port 64738 vidarebefordras (forwardas) till vederbörandes IP-adress.

6. Aktivera

För att servern skall starta vid uppstart bör följande göras under OpenWRT:

/etc/init.d/umurmur enable

Det var allt. Hoppas det fungerar. Frågor om annat än själva guiden kan med fördel tas på mail-listan. http://groups.google.com/group/umurmur-general

Ha det kul!

Permalänk
Medlem

Snygg guide!
Vet du om det finns något liknande för Ventrilo eller TS?

Permalänk
Medlem
Skrivet av HerrNilsson30:

Snygg guide!
Vet du om det finns något liknande för Ventrilo eller TS?

Vad jag vet finns inte det. Ventrilo och TS är 'closed source', alltså är det om inte omöjligt så i alla fall väldigt omständigt att implementera en alternativ serverdel.

Permalänk
Medlem
Skrivet av fatbob:

Vad jag vet finns inte det. Ventrilo och TS är 'closed source', alltså är det om inte omöjligt så i alla fall väldigt omständigt att implementera en alternativ serverdel.

Misstänkte det, tack för svar iaf.

Permalänk
Medlem

Riktigt bra guide!

Permalänk
Medlem

Hmm...

Har en Netgear WNR3500L, som ska stödja tomato och all de där. Är fruktansvärt trött på Skype så funderar på att dra upp en server. Problemet är att jag bara har 8/1 och får ut runt 6/0,6. Kommer detta funka bra? Spelar på samma lina.

Har tyvärr ingen möjlighet att få snabbare...

Visa signatur

Intel Core i7 7700K | Asus Strix 1080TI | MSI Z270 Gaming Pro Carbon | Corsair Vengeance 16GB 3000Mhz | EVGA G2 650W | WD 640GB Caviar Black | Samsung M.2 1TB SSD + Samsung SATA 500GB SSD

Permalänk
Medlem
Skrivet av Fyren:

Hmm...

Har en Netgear WNR3500L, som ska stödja tomato och all de där. Är fruktansvärt trött på Skype så funderar på att dra upp en server. Problemet är att jag bara har 8/1 och får ut runt 6/0,6. Kommer detta funka bra? Spelar på samma lina.

Har tyvärr ingen möjlighet att få snabbare...

Det kommer funka ok. Beror förstås på hur många du tänkt ska ansluta samtidigt, men sådär 8 pers med ok ljudkvalite funkar. Det går att ställa in maxbandbredd per användare i inställningarna.

Skickades från m.sweclockers.com

Permalänk
Medlem
Skrivet av fatbob:

Det kommer funka ok. Beror förstås på hur många du tänkt ska ansluta samtidigt, men sådär 8 pers med ok ljudkvalite funkar. Det går att ställa in maxbandbredd per användare i inställningarna.

Skickades från m.sweclockers.com

Skönt att höra. Blir max 4-5 + mig.

Tack för svaret! Like från mig!

Visa signatur

Intel Core i7 7700K | Asus Strix 1080TI | MSI Z270 Gaming Pro Carbon | Corsair Vengeance 16GB 3000Mhz | EVGA G2 650W | WD 640GB Caviar Black | Samsung M.2 1TB SSD + Samsung SATA 500GB SSD

Permalänk
Medlem

Tog en titt på http://www.synocommunity.com/ och installerade umurmur på min Synology 212+
Jag har försökt och hitta en guide till hur man konfigurerar umurmur men det finns ingenting på deras sida.

Jag hittade följande länk: http://code.google.com/p/umurmur/wiki/Configuring02x som innehåller en del bra info.
Men jag lyckas inte klura ut vart konfig filen ligger.

Någon som har installerat detta på sin Synology?

Edit: Never mind jag lyckades klura ut det

Visa signatur

I5-9600k | Asus ROG Strix Z390-F Gaming | Corsair Vengeance LPX 2x8GB 3200Mhz | Asus ROG Strix RTX2080 OC | Samsung 970 EVO M.2 NVMe 500GB | Corsair RM650i | Windows 10

Permalänk
Medlem
Skrivet av LiTo:

Tog en titt på http://www.synocommunity.com/ och installerade umurmur på min Synology 212+
Jag har försökt och hitta en guide till hur man konfigurerar umurmur men det finns ingenting på deras sida.

Jag hittade följande länk: http://code.google.com/p/umurmur/wiki/Configuring02x som innehåller en del bra info.
Men jag lyckas inte klura ut vart konfig filen ligger.

Någon som har installerat detta på sin Synology?

Edit: Never mind jag lyckades klura ut det

Hur löste du det?

Visa signatur

/////Beeos (!)

Permalänk
Medlem

Den ligger i /usr/local/umurmur/var/

Visa signatur

I5-9600k | Asus ROG Strix Z390-F Gaming | Corsair Vengeance LPX 2x8GB 3200Mhz | Asus ROG Strix RTX2080 OC | Samsung 970 EVO M.2 NVMe 500GB | Corsair RM650i | Windows 10

Permalänk
Medlem

Jag kör umurmur på en DS 212j och har forwardat porten enligt guiden. Det fungerar på LAN men ej över nätet. Är det något annat man måste ställa in?

Permalänk
Medlem
Skrivet av vajjan:

Jag kör umurmur på en DS 212j och har forwardat porten enligt guiden. Det fungerar på LAN men ej över nätet. Är det något annat man måste ställa in?

Vad har du för router?
Vad försöker du ansluta till externt? IP adress eller DDNS?
Har du kontrollerat att inställningarna verkligen sparas i routern?

/LiTo

Visa signatur

I5-9600k | Asus ROG Strix Z390-F Gaming | Corsair Vengeance LPX 2x8GB 3200Mhz | Asus ROG Strix RTX2080 OC | Samsung 970 EVO M.2 NVMe 500GB | Corsair RM650i | Windows 10

Permalänk
Medlem
Skrivet av LiTo:

Vad har du för router?
Vad försöker du ansluta till externt? IP adress eller DDNS?
Har du kontrollerat att inställningarna verkligen sparas i routern?

/LiTo

Jag har tomato med netgear 3500.
Försöker öppna porten som är angiven för umurmur.
Det har jag gjort via port forwarding och sparat.

Permalänk
Medlem

Jag har en Belkin F7D3302 v1 med Tomato Toastman och sneglar på detta. men jag hittar ingen information om vart och hur man fixar detta. Någon som kan komma med tips? har förövrigt "bara" en Mini-firmware installerad nu då jag inte hittat en "stor" som är anpassad efter min router.