# Роль install-stcp Данная роль предназначена для автоматической установки STCP-сервера. ## Параметры | Параметр | Описание | | -------- | -------- | | server_port | Начальный порт, на котором работает STCP-server | links_number | Количество линков агрегации | start_ip_addr | Начальный адрес линков | 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 start_ip_addr: 192.168.56.34 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 ```