вторник, 11 августа 2009 г.

Резервирование канала

Скрипт для выяснения работоспособности канала и переключения на запасной в случае неработоспособности основного
#!/bin/sh
GW1=1.1.1.1
GW2=2.2.2.2
/sbin/ping -q -c 1 $GW1 > /dev/null 2>&1
if [ $? != 0 ]; then
/sbin/ping -q -c 1 $GW2 > /dev/null 2>&1
if [ $? = 0 ]; then
if [ ! -f /tmp/gw.changed ]; then
/sbin/route change default $GW2 \
&& touch /tmp/gw.changed
fi
fi
else
if [ -f /tmp/gw.changed ]; then
/sbin/route change default $GW1 \
&& rm /tmp/gw.changed
fi
fi
То есть мы просто «пингуем» шлюз на стороне основного провайдера, и если он оказывается недоступен, то:
-проверяем работоспособность резервного канала;
-перенастраиваем маршрут по умолчанию на шлюз резервного канала;
-оставляем «метку» /tmp/gw.changed, сигнализирующую о смене шлюза.

При следующем выполнении (например, скрипт можно запускать по cron раз в минуту), если GW1 в норме и есть «метка», то возвращаем основной шлюз на место. Если оба шлюза недоступны, текущее состояние не меняем.

пятница, 7 августа 2009 г.

Соответствие имени интерфейса и SNMP MIB

Необходимо было найти соответствие имени интерфейса в Cisco с его значением в SNMP
Решилось вводом такой команды:
sh snmp mib ifmib ifindex

вторник, 4 августа 2009 г.

Postfix с двумя каналами

Дано: 2 провайдера, почтовый сервер с двумя сетевыми картами, настроенными каждая на своего провайдера.
Задача: обеспечить автоматическое использование 2-го провайдера для SMTP(отправки) в случае если не удаётся отправить почту через первого провайдера.

Решение 1:
inet_interfaces = 1.2.3.4, 5.6.7.8
smtp_bind_address = 0.0.0.0
В этом случае выбор пути пакетов делает ОС.

Решение 2:
Устанавливаем два экземпляра Postfix.

Первый экземпляр для отправки через первого провайдера.
inet_interfaces = 1.2.3.4 - автоматически получится smtp_bind_address = 1.2.3.4
smtp_fallback_relay = [4.5.6.7]:1025 (указывает на второй экземпляр Postfix)

Второй экземпляр для отправки через второго провайдера.
inet_interfaces = 4.5.6.7 - автоматически получится smtp_bind_address = 4.5.6.7
В файле master.cf указываем что слушаем порт 1025

Первый экземпляр Postfix при невозможности отправить почту передаст ее второму экземпляру.

По мотивам posfix.ru