|
|
||
|---|---|---|
| .. | ||
| defaults | ||
| files | ||
| tasks | ||
| templates | ||
| vars | ||
| README.md | ||
README.md
Роль 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