LINUX.ORG.RU

Сообщения GreyDjin

 

Создание аккаунтов сценарием Ansible

Привет!

https://github.com/greydjin/publicansible

Вот таким сценарием пользуюсь для создания списка аккаунтов с публичными ключами, на своим машинах. Стало подбешивать что для того чтобы создать группу юзеров с правами support на Некоторых хостах - нужно каждый хост прописывать, не получается сделать так чтобы сценарий понимал когда я указываю группу из файла инвенторя, кто-нибудь знает как поправить?

- name: create users
  user:
    name: '{{ item.key }}'
    state: present
    shell: /bin/bash
    groups: "{{ item.value['all'] | default('') or item.value[inventory_hostname] | default('') }}"
  with_dict: "{{ avon_users.permissions }}"
  when:
- item.value['all'] is defined or item.value[inventory_hostname] is defined

Переменная inventory_hostname успешно ищется и возвращает правильный результат, а переменная groups или groups_name не работает.

 ,

GreyDjin ()

помогите понять SNAT, DNAT

Здравствуйте.

Роутер с 2 провайдерами и 1 интерфейс в локальную сеть.

# uname -a
Linux alpine-eng 4.4.27-0-grsec #1-Alpine SMP Tue Oct 25 08:14:42 GMT 2016 i686 Linux
eth0 -> 87.237.35.52
eth1 -> ppp0 --> 214.222.204.212
eth2 -> 192.168.3.1

Правила для таблиц

( читать дальше... )

правила в iptables

( читать дальше... )

Весь трафик идет в основного провайдера (таблица 101, адрес 87.237.35.52), если он падает - успешно переключается на второго (таблица 102). Это работает. Теперь, я хочу добавить проброс порта через резервного провайдера на машину в локальной сети 192.168.3.25

$IPTABLES -t nat -A PREROUTING -p TCP -i $INET_IFACE_2 -s $Dwork -d $INET_IP_2 --dport 2221 -j DNAT --to-destination 192.168.3.25:22

Пытаюсь подключиться, (ssh user@214.222.204.212 -p2221) трафик до 192.168.3.25 доходит, улетает обратно в роутер и там я смотрю

#tcpdump -i eth0 port 2221
12:30:33.415601 IP 214.222.204.212.2221 > 215.212.87.83.58468: Flags [S.], seq 911496099, ack 1279645560, win 28960, options [mss 1460,sackOK,TS val 2912775030 ecr 375318023,nop,wscale 7], length 0
Но ведь входящий трафик поступил на ppp0 и уйти обратно должен через ppp0, но уйти обратно он пытается с eth0. Как заставить трафик уходить с того же интерфейса откуда он пришел? В данном случае с ppp0

 

GreyDjin ()

Расширить функциональность почтовой системы

Здравствуйте.

Есть почтовый сервер с которым я плохо умею работать и мне необходимо расширить функциональность почтовой системы. Текущая ситуация: exim ищет записи о пользователях, о переадресации, домены, алиасы, автоответы в ldap и доставляет в локальный dovecot, dovecot проверяет авторизацию пользователей в ldap. В LDAP есть информация о почтовых серверах, сейчас туда заведен 1 почтовый сервер и при создании пользователя - указывается на каком почтовом сервере нужно хранить ящик этого пользователя. Нужно сделать: добавить в LDAP еще один почтовый сервер чтобы в профиле пользователя можно было выбрать этот новый сервер и exim доставлял письма уже не в локальный dovecot, а новый. Таким образом решится вопрос: 1) заканчивающегося места, 2) появится чуть больше отказоустойчивости. Если это будет успешно решено, обсудим следующий проект по организации 2 серверов Exim (добавить на новый сервер dovecot еще и сервер Exim)

Доступ к конфигурации серверов есть у меня и прямой доступ исполнителям предоставлять не хочется, я могу предоставить все файлы конфигураций через git, например. И оттуда же забирать ваши изменения. Или вы можете подключаться к моему компьютеру для удаленной работы в консоле. Я ожидаю что вы будете объяснять какие изменения вносите, для чего эти изменения нужны. Я системный администратор и готов платить деньги чтобы научится делать описанную почтовую систему - это и есть моя цель = научится.

Тот кто читает это сообщение, можете написать сколько стоит такая работа) Моя почта куда можно написать находится на (мой ник)@gmail.com

 , ,

GreyDjin ()

Срабатывание тригера CPU idle Zabbix

Здравствуйте!

Отслеживаю в Zabbix время простоя CPU условием

({Template OS Linux:system.cpu.util[,idle].avg(180)}<10 and {TRIGGER.VALUE}=0) or ({TRIGGER.VALUE}=1 and {Template OS Linux:system.cpu.util[,idle].avg(600)}>50)

Смысл: если в течении 3 минут простой процессора меньше 10% - тригер срабатывает и встает в 1.

Если проблема с процессором существует и тригер уже стоит в 1, то встать в 0 он может только при условии простоя более 50% за последние 10 минут.

И мне на почту постоянно приходит письмо что

Trigger: CPU Idle time very small on name.com
Trigger status: OK
Trigger severity: High
Trigger URL: 

Item values:

1. CPU idle time (name.com:system.cpu.util[,idle]): 0 %
2. CPU idle time (name.com:system.cpu.util[,idle]): 0 %
3. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*

Original event ID: 74521
Тригер встает в «нет проблемы» если загруженность процессора 100%. Где у меня ошибка?

 , ,

GreyDjin ()

Сконвертировать почтовый ящик.

Здравствуйте!

Есть почта, dovecot хранит письма в формате mdbox, мне нужно получить копию ящика в формате Maildir.

Читаю example http://manpages.ubuntu.com/manpages/trusty/man1/dsync.1.html пытаюсь повторить, но не выходит.

Ящики лежат в /usr/local/mail/domainname/$usernamе

Я для теста скопировал свой ящик в /home/username/mdbox И находясь в этой папке делаю

# dsync mirror maildir:~/Maildir
dsync(root): Error: Mail locations must use the same virtual mailbox hierarchy separator (specify separator for the default namespace)

 ,

GreyDjin ()

Права доступа в ansible

Здравствуйте.

Начал разбираться с ansible и возник вопрос о том как начать делать правильно, под каким пользователем подключаться, как разграничивать управление playbook между несколькими людьми. Пока что рассматриваю ansbible только как управление конфигами и поднятие новых машин для задач системного администратора, роутеры, dns, dhcp, vpn, создание новых пользователей, удаление старых.

Вот есть компания в которой 2 админа и начальник. Никакой системы управления конфигурацией раньше не было, а парк машин вырос прилично. На некоторых машинах есть root, на большинстве нет, только user'ы этих трех людей с авторизацией где-то по ключу, где-то по паролю, где-то и то и то.

Вопрос: Если держать локальную версию ansible у каждого на компе и каждый будет сам запускать playbook, когда нужно изменить машину или создать новую, и подключение происходит под личным ssh аккаунтом. Этот аккаунт уже существует, не надо делать отдельного пользователя для ansible. Но нужно прописывать прямо в конфиге пароль для sudo, чтобы задачи установки могли проходить. Это нормально - прописывать sudo пароль в hosts ansible?

А если прописывать пароль в hosts - это уже становятся личными, ты не можешь поделиться им с другими участниками. Хотя плейбуки можно продолжить синхронизировать через git, например.

Менее важный вопрос: как убеждать в том что именно твой playbook лучший, а другой человек пишет не правильно) Многие ли из вас делают как написано здесь http://docs.ansible.com/ansible/playbooks_best_practices.html или у каждого свой неповторимый рецепт? Используете ли playbook из ansible-galaxy или пишите свое?

 , ,

GreyDjin ()

Архитектура почты

Доброго времени суток, камрады.

Есть почтовый сервер: exim, dovecot, clamav, spamassasin. Пользователи на внешней машине LDAP.

Дата-центр, за последний год, два раза имел проблемы с интернетом по 15-30 минут, да и сервер работает уже 4й год, хочется подстраховаться и сделать так чтобы почта работала на 2 физических серверах в разных дата-центрах.

И я так и не смог нагуглить пример который бы мне понравился, поэтому пошел сюда. Что делают для отказоустойчивости почты?

Я нашел такие примеры: 1) Ставится mail proxy, на него ведет mx запись, он раздает почту двум mail серверам с MDA и MTA. Теоретически эти два сервера могут находиться в разных дата-центрах, и в случае отказа одного из них, proxy направит трафик на другой, как smtp трафик, так и imap трафик, так делают. Остается единая точка отказа - mail proxy. Можно ли сделать 2 mail proxy, на них 2 mx записи с разным приоритетом, и оба proxy будут слать на 2 mail сервера? Опять же, mx записи сработают для smtp, а как быть сотрудникам которые подключаются с почтовых клиентов по доменному имени к proxy? Использовать dns failover, типа как у dnsmadeeasy?

2) Делается кластер, внутри кластера диск DRBD или другой файловой системы которая будет реплицировать данные. В каждой ноде кластера mail сервер в разных дата-центрах, на них идет 2 mx записи. Когда один основной mail сервер сдыхает - включается резервный, информация там таже самая что и на основном сервере, smtp по приоритету mx записи попадает куда нужно, для сотрудников опять нужно переключение через dns failover?

3) Ставится два почтовых сервера, как у меня, exim, dovecot, clamav, spamassasin. Пользователи на внешней машине LDAP. Все как во 2 варианте, но для репликации использовать внутренние возможности приложения, dovecot-sync и dns-failover для imap сотрудников.

Может как-то комбинировать? Может я не вижу чего-то простого и явного? Особо буду благодарен на ссылки где в комплексе описывается создание «Mail Failover Service».

 , , ,

GreyDjin ()

RSS подписка на новые темы