Гид по технологиям

Установка TeamSpeak 3 на CentOS 8

• 5 min read • DevOps • Обновлено 18 Nov 2025
Установка TeamSpeak 3 на CentOS 8
Установка TeamSpeak 3 на CentOS 8

Сервер TeamSpeak: значок и интерфейс сервера для голосового чата

В этой инструкции шаг за шагом показано, как установить и запустить TeamSpeak 3 на сервере CentOS 8: подготовка системы, создание пользователя, загрузка и распаковка пакета, создание systemd‑сервиса, открытие портов в firewalld и получение привилегированного ключа (privileged key). Если вы не хотите отключать SELinux, в разделе безопасности — альтернатива.

Введение

TeamSpeak — кроссплатформенное серверное приложение для голосового общения (VoIP) в реальном времени. Оно экономно использует трафик и способно обслуживать большое число подключений. Часто применяется в играх, образовании и для общения с друзьями. Программа бесплатна: вы скачиваете сервер, запускаете его на своей машине и подключаетесь клиентом.

Кому подходит эта инструкция: системным администраторам и владельцам VPS с CentOS 8, которые хотят развернуть собственный TeamSpeak‑сервер.

Important: инструкция предполагает доступ root или эквивалент sudo.

Что понадобится

  • Сервер с установленным CentOS 8.
  • Пароль root или доступ через sudo.
  • Подключение к интернету для скачивания пакета.

Шаг 1 — Подготовка системы

По умолчанию в CentOS 8 включён SELinux. В исходной инструкции предлагается его отключить, чтобы избежать проблем с правами и запуском демона. Отключение ослабляет безопасность — альтернативы ниже.

Отредактируйте файл конфигурации SELinux:

nano /etc/selinux/config

Измените значение:

SELINUX=disabled

Сохраните и перезагрузите систему для применения изменений.

Далее установим необходимые пакеты:

dnf install nano wget perl tar net-tools bzip2

После установки зависимостей можно переходить к установке TeamSpeak.

Шаг 2 — Установка TeamSpeak

Создаём отдельного пользователя для сервера TeamSpeak и указываем домашний каталог в /opt/teamspeak:

adduser teamspeak -d /opt/teamspeak

Скачиваем последний пакет (пример в оригинале):

wget http://dl.4players.de/ts/releases/3.8.0/teamspeak3-server_linux_amd64-3.8.0.tar.bz2

Распаковываем архив:

tar xvf teamspeak3-server_linux_amd64-3.8.0.tar.bz2

Перемещаем содержимое в /opt/teamspeak:

mv teamspeak3-server_linux_amd64/* /opt/teamspeak/

Принимаем лицензию, создав пустой файл в каталоге сервера:

touch /opt/teamspeak/.ts3server_license_accepted

Меняем владельца каталога на пользователя teamspeak:

chown -R teamspeak: /opt/teamspeak

Шаг 3 — Создание systemd‑сервиса

Создаём unit‑файл systemd для удобного управления службой:

nano /lib/systemd/system/teamspeak.service

Вставьте следующие строки:

[Unit]
Description=Team Speak 3 Server
After=network.target
[Service]
WorkingDirectory=/opt/teamspeak/
User=teamspeak
Group=teamspeak
Type=forking
ExecStart=/opt/teamspeak/ts3server_startscript.sh start inifile=ts3server.ini
ExecStop=/opt/teamspeak/ts3server_startscript.sh stop
PIDFile=/opt/teamspeak/ts3server.pid
RestartSec=15
Restart=always
[Install]
WantedBy=multi-user.target

Сохраняем файл и перезагружаем конфигурацию systemd:

systemctl --system daemon-reload

Запускаем и включаем автозапуск после перезагрузки:

systemctl start teamspeak
systemctl enable teamspeak

Проверяем статус службы:

systemctl status teamspeak

Пример ожидаемого вывода (как в оригинале):

? teamspeak.service - Team Speak 3 Server
   Loaded: loaded (/usr/lib/systemd/system/teamspeak.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-10-27 12:51:44 EDT; 5s ago
  Process: 1298 ExecStart=/opt/teamspeak/ts3server_startscript.sh start inifile=ts3server.ini (code=exited, status=0/SUCCESS)
 Main PID: 1305 (ts3server)
    Tasks: 12 (limit: 5060)
   Memory: 25.3M
   CGroup: /system.slice/teamspeak.service
           ??1305 ./ts3server inifile=ts3server.ini daemon=1 pid_file=ts3server.pid

Oct 27 12:51:44 centos8 systemd[1]: Starting Team Speak 3 Server...
Oct 27 12:51:44 centos8 ts3server_startscript.sh[1298]: Starting the TeamSpeak 3 server
Oct 27 12:51:44 centos8 ts3server_startscript.sh[1298]: TeamSpeak 3 server started, for details please view the log file
Oct 27 12:51:44 centos8 systemd[1]: Started Team Speak 3 Server.

Шаг 4 — Получение привилегированного ключа (ServerAdmin token)

После первого запуска TeamSpeak создаёт токен администратора в логах. Посмотреть логи можно так:

cat /opt/teamspeak/logs/*

В логе вы увидите строку с token, например:

2019-10-27 17:06:00.375818|WARNING |VirtualServer |1  |ServerAdmin privilege key created, please use the line below
2019-10-27 17:06:00.375857|WARNING |VirtualServer |1  |token=2y8a9yBz5aRlyDUwaBfgw8lq4FtQVT47pyAeU4Ja

Скопируйте значение token и используйте его при первом подключении через TeamSpeak Client, чтобы получить права ServerAdmin.

Настройка фаервола

TeamSpeak по умолчанию слушает порты:

  • 9987/udp — голосовой трафик
  • 10011/tcp — Query (администрирование через telnet/скрипты)
  • 30033/tcp — файловый перенос

Откройте их в firewalld:

firewall-cmd --zone=public --add-port=9987/udp --permanent
firewall-cmd --zone=public --add-port=10011/tcp --permanent
firewall-cmd --zone=public --add-port=30033/tcp --permanent
firewall-cmd --reload

Проверьте открытые порты:

firewall-cmd --list-ports

Альтернатива отключению SELinux (рекомендуется при сохранении безопасности)

Отключать SELinux — простое, но не самое безопасное решение. Если вы хотите сохранить включённый SELinux, можно:

  • Перевести SELinux в режим permissive, чтобы сгенерировать AVC‑слёвы и затем создать корректную политику.
setenforce 0
# запустить сервер, собрать AVC, сгенерировать политику, затем setenforce 1
  • Или создать локальную SELinux‑политику, разрешающую запуск TeamSpeak в /opt/teamspeak.

Эти шаги требуют опыта работы с audit2allow и selinux-policy-devel.

Безопасность и жесткая настройка

  • Не храните privileged token в публичных логах — удалите логи или сохраните токен в безопасном хранилище.
  • Ограничьте доступ к Query (10011) только с доверенных IP (через firewalld/iptables или TCP wrappers).
  • Регулярно обновляйте систему и следите за обновлениями TeamSpeak.
  • Используйте бэкапы конфигурации /opt/teamspeak/ и базы данных пользователей.

Критерии приёмки

  • Служба teamspeak активна: systemctl status teamspeak -> Active: active (running).
  • Порты 9987/udp, 10011/tcp, 30033/tcp открыты в firewalld.
  • В логах найден privileged token, либо вы успешно подключились и получили права ServerAdmin.
  • Права и владение /opt/teamspeak настроены на пользователя teamspeak.

Отладка — когда что-то не работает

  1. Служба не стартует:
    • Просмотрите журналы systemd: journalctl -u teamspeak
    • Убедитесь, что права на /opt/teamspeak принадлежат teamspeak: chown -R teamspeak: /opt/teamspeak
  2. Порт не доступен извне:
    • Проверить локально netstat -tulpen | grep ts3server или ss -ulnp
    • Убедиться, что firewalld открывает порт (firewall-cmd –list-ports)
  3. Токен не найден:
    • Убедитесь, что вы смотрите правильный файл в /opt/teamspeak/logs/
    • Проверьте, что сервер запускался хотя бы один раз после установки
  4. SELinux блокирует:
    • Временно включите permissive и проверьте AVC в /var/log/audit/audit.log

Чек‑лист при развёртывании (оператор)

  • Создан пользователь teamspeak
  • Пакет скачан и распакован в /opt/teamspeak
  • Файл .ts3server_license_accepted создан
  • Владелец каталога — teamspeak
  • systemd unit создан и daemon‑reload выполнен
  • Служба запущена и включена на старте
  • Порты в firewalld открыты
  • Получен и сохранён privileged token

Короткая методология безопасности

  1. Минимизируйте поверхность атаки: откройте только необходимые порты.
  2. Разделяйте права: запускать от специализированного пользователя teamspeak.
  3. Логи и токены: хранить в защищённом месте, не публиковать.
  4. Обновления: применять системные и пакетные обновления регулярно.

1‑строчная глоссарий

  • privileged key (token) — одноразовый ключ, дающий права ServerAdmin при первом подключении.
  • Query — интерфейс администрирования сервера TeamSpeak по TCP (порт 10011).

Заключение

Вы успешно установили TeamSpeak 3 на CentOS 8, настроили systemd‑сервис и фаервол, получили привилегированный ключ. Если вы цените безопасность, вместо полного отключения SELinux настройте локальную политику или используйте режим permissive для отладки.

Список действий после установки: скачать TeamSpeak Client, подключиться к серверу по IP:порт и активировать привилегию через полученный token.

Summary:

  • TeamSpeak готов к использованию на вашем сервере.
  • Проверьте безопасность и доступность портов.
  • Храните токен в безопасном месте и ограничьте доступ к Query.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро