87 lines
3.9 KiB
Markdown
87 lines
3.9 KiB
Markdown
# Роль 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
|
||
```
|