ansible/roles/install-stcp/README.md

87 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Роль 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
```