ansible/roles/install-stcp/README.md

104 lines
4.0 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
| 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
```