這篇文章將告訴你如何運行Debian下喘息一個Teamspeak 3服務器。之前,你可以用它啟動,你應該做一些準備在你的VPS。
如果你已經有了一個防火牆到位,確保交通的Teamspeak服務器允許通過添加以下規則:
1 2 3 4 5 6 7 |
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 |
否則,這裡是一個規則的基本列表,允許SSH和ICMP流量(以及流量,當然Teamspeak),並丟棄一切,IPv4和IPv6:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
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 |
旋轉你的服務器之後,以root身份登錄。而永久工作作為根是由互聯網界普遍令人難以接受的,它也有您的服務器的安全造成嚴重影響。根據互聯網風暴中心 90%的SSH所有暴力攻擊的目標是把根賬戶。有數百甚至數千的自動掃描在那裡試圖打入服務器與弱管理密碼-所以這絕對是使用一個單獨的用戶結合使用sudo是個好主意。
首先,添加其他用戶,並給它一個強密碼:
1 2 3 |
useradd -m -s /bin/bash yourusername passwd yourusername |
接下來,編輯的/ etc / sudoers中
讓自己使用它:
1 2 |
yourusername ALL=(ALL:ALL) ALL |
然後,註銷並使用新的用戶重新登錄到本機。然後,您可以禁用root登錄中的/ etc / SSH / sshd_config中
:
1 2 3 |
PermitRootLogin no AllowUsers yourusername |
為了更安全,你可以考慮使用SSH-鍵實現無密碼認證。有關密碼驗證少的更多信息,請參見本教程。恭喜你,你從攻擊者的90%保存自己在那裡。現在,到安裝Teamspeak服務器。
這是不好的做法,只為Teamspeak運行服務為根,因此創建一個用戶:
1 2 |
sudo useradd -m -s /bin/bash teamspeak |
之後,登錄到該用戶帳戶,並切換到主目錄:
1 2 3 |
sudo su teamspeak cd |
下載Teamspeak。根據你的架構,你需要無論是64位版本:
1 2 |
wget http://dl.4players.de/ts/releases/3.0.11.1/teamspeak3-server_linux-amd64-3.0.11.1.tar.gz |
或在x86的版本:
1 2 |
wget http://dl.4players.de/ts/releases/3.0.11.1/teamspeak3-server_linux-x86-3.0.11.1.tar.gz |
解壓下載的壓縮文件:
1 2 |
tar -xzvf *.tar.gz && rm *.tar.gz |
現在,你有一個文件夾命名為teamspeak3-server_linux-AMD64與它的一些腳本。切換回普通用戶:
1 2 |
exit |
安裝腳本來重新啟動後自動啟動服務器。這個腳本也很容易停止或重新啟動Teamspeak服務。粘貼以下為/etc/init.d/teamspeak:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#!/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 "$/ts3server_startscript.sh start" ;; stop) su $USER -c "$/ts3server_startscript.sh stop" ;; restart) su $USER -c "$/ts3server_startscript.sh restart" ;; status) su $USER -c "$/ts3server_startscript.sh status" ;; *) echo "Usage: " >&2 exit 1 ;; esac exit 0 |
作出這樣的文件,可執行文件:
1 2 |
sudo chmod 700 /etc/init.d/teamspeak |
現在,讓Teamspeak開始啟動:
1 2 |
sudo update-rc.d teamspeak defaults |
所有剩下的就是啟動服務:
1 2 |
sudo service teamspeak start |
開心聊天!
Leave a Reply