# Роль install-stcp Данная роль предназначена для автоматической установки STCP-сервера. ## Параметры Все параметры имеют значения по-умолчанию (указаны в скобках). Поддерживаемые значения перечислены в {таких скобках} | Параметр | Описание | | -------- | -------- | | server_port | Начальный порт, на котором работает STCP-server (5006) | links_number | Количество линков агрегации (8) | link_start_ip_addr | Начальный адрес линков (192.168.56.2) | link_ip_mask | Маска линков (255.255.255.252) | ext_iface | Внешний интерфейс (eth0) | stcp_level | Сетевой уровень, на котором работает сервер {(l3), l2} | l2_bridge_name | Имя сетевого моста для уровня L2 (br_l2) | l2_bridge_ipaddr | IP-адрес сетевого моста (10.100.0.1) | l2_bridge_ipmask | IP-маска сетевого моста (255.255.255.0) | l2_iface | Интерфейс, который включается в сетевой мост помимо stcp-tap (eth1) | stcp_mode | Режим работы STCP-сервера {tun, tap, (tuntap)} | stcp_runas | Имя пользователя, от которого запускается сервер | run_stcp | Стартовать ли сервер после деплоя {(yes), no} | use_auth | Использование аутентификации {yes, (no)} | use_client_logging | Использование логирования подключений {(yes), no} | tap_iface_ip_addr | IP-адрес TAP-интерфейса (10.10.1.1) | tap_iface_ip_mask | IP-маска TAP-интерфейса (255.255.255.0) | tun_iface_ip_addr | IP-адрес TUN-интерфейса (10.11.1.1) | tun_iface_ip_mask | IP-маска TUN-интерфейса (255.255.255.0) В директории 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-сервера в режиме TUNTAP c указаными параметрами. ``` - name: Install fully worked (I hope) STCP server hosts: 127.0.0.1 connection: local become: yes roles: - role: install-stcp server_port: 5006 link_start_ip_addr: 192.168.56.34 ext_iface: eth0 use_auth: no use_client_logging: yes stcp_mode: tuntap tun_iface_ip_addr: 10.11.1.1 tun_iface_ip_mask: 255.255.255.0 tap_iface_ip_addr: 10.10.1.1 tap_iface_ip_mask: 255.255.255.0 ``` ## Зависимости ``` python | netaddr ```