Questo articolo ti mostrerà come eseguire un server Teamspeak 3 su Debian Wheezy. Prima di poter iniziare con esso, dovresti fare un po 'di preparazione sul tuo VPS.
Se disponi già di un firewall, assicurati che il traffico al server Teamspeak sia consentito aggiungendo le seguenti regole:
iptables -A INPUT -p udp --dport 9987 -j ACCEPT
iptables -A INPUT -p udp --sport 9987 -j ACCEPT
iptables -A INPUT -p tcp --dport 30033 -j ACCEPT
iptables -A INPUT -p tcp --sport 30033 -j ACCEPT
iptables -A INPUT -p tcp --dport 10011 -j ACCEPT
iptables -A INPUT -p tcp --sport 10011 -j ACCEPT
Altrimenti, ecco un elenco di base di regole che consente il traffico SSH e ICMP (così come il traffico per Teamspeak ovviamente) e rilascia tutto il resto, IPv4 e IPv6:
iptables -A INPUT -i lo -j ACCEPT # Since a lot of interprocess-communication goes over the loopback-interface you should allow it to avoid very, very weird and difficult problems
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # Accept packets that respond to outgoing requests
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p udp --dport 9987 -j ACCEPT
iptables -A INPUT -p tcp --dport 30033 -j ACCEPT
iptables -A INPUT -p tcp --dport 10011 -j ACCEPT
iptables -P INPUT DROP # DROP everything else
ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
ip6tables -A INPUT -p icmpv6 -j ACCEPT
ip6tables -A INPUT -p tcp --dport 22 -j ACCEPT
ip6tables -A INPUT -p udp --dport 9987 -j ACCEPT
ip6tables -A INPUT -p tcp --dport 30033 -j ACCEPT
ip6tables -A INPUT -p tcp --dport 10011 -j ACCEPT
ip6tables -P INPUT DROP
Dopo aver avviato il server, accedi come root. Mentre il lavoro permanente come root è generalmente disapprovato dalla comunità di Internet, ha anche serie implicazioni per la sicurezza del tuo server. Secondo Internet Storm Center, il 90% di tutti gli attacchi di forza bruta su SSH prende di mira l'account di root. Ci sono centinaia se non migliaia di scansioni automatizzate là fuori che provano a entrare in server con password amministrative deboli - quindi è sicuramente una buona idea usare un utente separato in combinazione con sudo.
Innanzitutto, aggiungi un altro utente e assegnagli una password complessa:
useradd -m -s /bin/bash yourusername
passwd yourusername
Quindi, modifica /etc/sudoersper permetterti di usarlo:
yourusername ALL=(ALL:ALL) ALL
Quindi, disconnettersi e riconnettersi alla macchina con il nuovo utente. È quindi possibile disabilitare l'accesso root in /etc/ssh/sshd_config:
PermitRootLogin no
AllowUsers yourusername
Per una sicurezza ancora maggiore, puoi prendere in considerazione l'implementazione dell'autenticazione senza password utilizzando le chiavi SSH. Per ulteriori informazioni sull'autenticazione senza password, vedere questo tutorial . Congratulazioni, ti sei salvato da oltre il 90% degli aggressori là fuori. Ora, sull'installazione del server Teamspeak.
È una cattiva pratica eseguire un servizio come root, quindi creare un utente esclusivamente per Teamspeak:
sudo useradd -m -s /bin/bash teamspeak
Successivamente, accedi a quell'account utente e passa alla home directory:
sudo su teamspeak
cd
Scarica Teamspeak. A seconda della tua architettura, avrai bisogno della versione x64 :
wget http://dl.4players.de/ts/releases/3.0.11.1/teamspeak3-server_linux-amd64-3.0.11.1.tar.gz
O la versione x86 :
wget http://dl.4players.de/ts/releases/3.0.11.1/teamspeak3-server_linux-x86-3.0.11.1.tar.gz
Decomprimi l'archivio scaricato:
tar -xzvf *.tar.gz && rm *.tar.gz
Ora, hai una cartella chiamata teamspeak3-server_linux-amd64 con alcuni script al suo interno. Torna al tuo normale utente:
exit
Imposta uno script per avviare automaticamente il tuo server dopo un riavvio. Questo script inoltre interrompe o riavvia facilmente il servizio Teamspeak. Incolla quanto segue in /etc/init.d/teamspeak :
#!/bin/sh
### BEGIN INIT INFO
# Provides: teamspeak
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Teamspeak 3 Server
### END INIT INFO
USER="teamspeak"
DIR="/home/teamspeak/teamspeak3-server_linux-amd64"
###### Teamspeak 3 server start/stop script ######
case "$1" in
start)
su $USER -c "$DIR/ts3server_startscript.sh start"
;;
stop)
su $USER -c "$DIR/ts3server_startscript.sh stop"
;;
restart)
su $USER -c "$DIR/ts3server_startscript.sh restart"
;;
status)
su $USER -c "$DIR/ts3server_startscript.sh status"
;;
*)
echo "Usage: " >&2
exit 1
;;
esac
exit 0
Rendi eseguibile quel file:
sudo chmod 700 /etc/init.d/teamspeak
Ora avvia Teamspeak all'avvio:
sudo update-rc.d teamspeak defaults
Non resta che avviare il servizio:
sudo service teamspeak start
Buona chiacchierata!