ansible/roles/install-stcp
kashapovd 25e6989e11 updated README for install-stcp role 2021-09-30 16:36:52 +07:00
..
defaults switch to correct way of templating server.ini 2021-09-30 16:24:28 +07:00
files added current playbooks and roles 2021-09-28 22:30:29 +07:00
tasks switch to correct way of templating server.ini 2021-09-30 16:24:28 +07:00
templates switch to correct way of templating server.ini 2021-09-30 16:24:28 +07:00
vars switch to correct way of templating server.ini 2021-09-30 16:24:28 +07:00
README.md updated README for install-stcp role 2021-09-30 16:36:52 +07:00

README.md

Роль install-stcp

Данная роль предназначена для автоматической установки STCP-сервера.

Параметры

Параметр Описание
server_port Начальный порт, на котором работает STCP-server
links_number Количество линков агрегации
link_start_ip_addr Начальный адрес линков
link_ip_mask Маска линков
internal_links_name Шаблон имени линка
ext_iface Внешний интерфейс
stcp_mode Режим работы STCP-сервера {tun, tap}
stcp_runas Имя пользователя, от которого запускается сервер
use_auth Использование аутентификации {yes, no}
use_client_logging Использование логирования подключений {yes, no}
en_tap_iface Включение TAP-интерфейса {yes, no}
tap_iface_name Имя TAP-интерфейса
tap_iface_ip_addr IP-адрес TAP-интерфейса
tap_iface_ip_mask IP-маска TAP-интерфейса
en_tun_iface Включение TUN-интерфейса {yes, no}
tun_iface_name Имя TUN-интерфейса
tun_iface_ip_addr IP-адрес TUN-интерфейса
tun_iface_ip_mask IP-маска TUN-интерфейса

В директории defaults/ содержится ряд дополнительных параметров. В основном это пути расположения исполняемого файла STCP-сервера, скриптов запуска и т.п., а также настройки сервера по умолчанию, их можно переопределить:

# defaults file for install-stcp
stcp_base_dir: /opt/stcp
stcp_binary_path: '{{stcp_base_dir}}/multi_srv_raw'
stcp_instance_name: '{{ server_port }}_{{ server_port + links_number-1 }}'
stcp_instance_dir: '{{ stcp_base_dir }}/{{ stcp_instance_name }}'
loop_script_path: '{{stcp_base_dir}}/loop'
init_scripts_dir: /etc/init.d
clients_log_file_path: '{{ stcp_instance_dir }}/logc'
users_file_path: '{{ stcp_instance_dir }}/users.ini'

# default stcp conf settings
stcp_mtu_size: 1500
en_peer_to_peer: 1
en_print_info: 1
stcp_http_srv_addr: 127.0.0.1
stcp_http_srv_port: 1888
max_sessions_threshold: 8
min_sessions_threshold: 4
flush_sort_delay_max: 600000
flush_sort_delay_min: 200000
flush_sort_add_time: 100000
split_tcp_sessions: 2

Применение

Пример ansible playbook, использующего эту роль приведён ниже. В данном случае создаётся два инстанса STCP-сервера в режиме TUN c указаными параметрами.

- name: Install fully worked (I hope) STCP server
  hosts: test 
  become: yes

  roles:
    - role: install-stcp
      server_port: 5006
      links_number: 8
      link_start_ip_addr: 192.168.56.34
      link_ip_mask: 255.255.255.252
      internal_links_name: stcp-5006-
      ext_iface: eth0
      stcp_mode: tun
      stcp_runas: root
      use_auth: no
      use_client_logging: yes
      #stcp_tuntaps
      en_tap_iface: no
      tap_iface_name: 'tap_{{ stcp_instance_name }}'
      tap_iface_ip_addr: 10.10.1.1
      tap_iface_ip_mask: 255.255.255.0

      en_tun_iface: yes
      tun_iface_name: 'tun_{{ stcp_instance_name }}'
      tun_iface_ip_addr: 10.11.1.1
      tun_iface_ip_mask: 255.255.255.0

    - role: install-stcp
      server_port: 4998
      links_number: 8
      start_ip_addr: 192.168.56.2
      internal_links_name: stcp-4998-
      ext_iface: eth0
      stcp_mode: tun
      stcp_runas: root
      use_auth: no
      use_client_logging: yes
      #stcp_tuntaps
      en_tap_iface: no
      tap_iface_name: 'tap_{{ stcp_instance_name }}'
      tap_iface_ip_addr: 10.10.0.1
      tap_iface_ip_mask: 255.255.255.0

      en_tun_iface: yes
      tun_iface_name: 'tun_{{ stcp_instance_name }}'
      tun_iface_ip_addr: 10.11.0.1
      tun_iface_ip_mask: 255.255.255.0