Обновить playbooks/scan_inventory.yml
This commit is contained in:
@@ -8,35 +8,30 @@
|
||||
# --- SEMAPHORE API ---
|
||||
semaphore_url: "http://192.168.0.198:9999"
|
||||
semaphore_project_id: 1
|
||||
#semaphore_key_id: 7
|
||||
semaphore_api_token: "9ojexqiwt1xkemig7j1bd1pe-frh7hkre4reryk2occ="
|
||||
inventory_name: "Smart Network Scan"
|
||||
|
||||
# --- ID КЛЮЧЕЙ ДЛЯ БУДУЩИХ ПОДКЛЮЧЕНИЙ ---
|
||||
# Даже если мы нашли устройство по SNMP, для управления им позже нужен ключ.
|
||||
# Если ключей нет, можно указать ID "пустого" ключа или любого существующего.
|
||||
key_windows: 7
|
||||
key_linux: 8
|
||||
key_mikrotik: 9
|
||||
key_printers: 7 # Можно тот же, принтерами обычно ansible не управляет
|
||||
key_printers: 7
|
||||
|
||||
# --- СЕТИ ---
|
||||
subnets: [
|
||||
"192.168.0.0/24"
|
||||
"192.168.0.0/23"
|
||||
"192.168.2.0/24"
|
||||
"192.168.3.0/24"
|
||||
"172.19.8.0/24"
|
||||
"172.19.9.0/24"
|
||||
"172.19.10.0/24"
|
||||
"172.19.24.0/24"
|
||||
"172.19.26.0/24"
|
||||
"172.19.40.0/24"
|
||||
"172.19.42.0/24"
|
||||
"172.19.56.0/24"
|
||||
"172.19.58.0/24"
|
||||
"172.19.90.0/24"
|
||||
]
|
||||
# --- СЕТИ (ИСПРАВЛЕНО: Правильный формат списка YAML) ---
|
||||
subnets:
|
||||
- "192.168.0.0/24"
|
||||
- "192.168.0.0/23"
|
||||
- "192.168.2.0/24"
|
||||
- "192.168.3.0/24"
|
||||
- "172.19.8.0/24"
|
||||
- "172.19.9.0/24"
|
||||
- "172.19.10.0/24"
|
||||
- "172.19.24.0/24"
|
||||
- "172.19.26.0/24"
|
||||
- "172.19.40.0/24"
|
||||
- "172.19.42.0/24"
|
||||
- "172.19.56.0/24"
|
||||
- "172.19.58.0/24"
|
||||
- "172.19.90.0/24"
|
||||
|
||||
# SNMP Community (пароль для чтения)
|
||||
snmp_community: "public"
|
||||
@@ -58,8 +53,6 @@
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
# ШАГ 2: Опрос через SNMP + Проверка портов
|
||||
# -sU -p 161: Сканируем UDP порт SNMP
|
||||
# --script snmp-sysdescr: Скрипт, который тянет описание ОС
|
||||
# ----------------------------------------------------------------
|
||||
- name: SNMP Discovery
|
||||
shell: |
|
||||
@@ -81,11 +74,10 @@
|
||||
out: "{{ item.stdout }}"
|
||||
ip: "{{ item.item }}"
|
||||
|
||||
# Пытаемся вытащить строку sysDescr из вывода Nmap
|
||||
# Пример: "SNMPv2-MIB::sysDescr.0: RouterOS rb750..."
|
||||
# Пытаемся вытащить строку sysDescr
|
||||
snmp_desc: "{{ out | regex_search('sysDescr\\.0: ([^\\n]+)', '\\1') | first | default('') }}"
|
||||
|
||||
# Определяем тип на основе SNMP ответа (или открытых портов, если SNMP молчит)
|
||||
# Определяем тип
|
||||
detected_type: >-
|
||||
{% if 'Windows' in snmp_desc or '445/tcp open' in out %}windows
|
||||
{% elif 'RouterOS' in snmp_desc or 'MikroTik' in snmp_desc or '8291/tcp open' in out %}mikrotik
|
||||
@@ -93,8 +85,6 @@
|
||||
{% elif 'JetDirect' in snmp_desc or 'LaserJet' in snmp_desc or 'Samsung' in snmp_desc or 'Kyocera' in snmp_desc or '9100/tcp open' in out %}printer
|
||||
{% else %}other{% endif %}
|
||||
|
||||
# Формируем имя: Либо берем из SNMP, либо генерируем host_IP
|
||||
# Часто в SNMP имя есть в sysName, но для упрощения оставим генерацию или возьмем первое слово из описания
|
||||
host_data:
|
||||
ip: "{{ ip }}"
|
||||
type: "{{ detected_type }}"
|
||||
@@ -185,7 +175,6 @@
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
# ШАГ 7: Отправка в Semaphore (Принтеры)
|
||||
# Принтеры полезно видеть, но ansible ими обычно не управляет
|
||||
# ----------------------------------------------------------------
|
||||
- block:
|
||||
- set_fact:
|
||||
|
||||
Reference in New Issue
Block a user