обновить ipfw на 50 шлюзах

Все вопросы по установке, обновлению и эксплуатации FreeBSD: конфигурация и сопровождение.

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
agat
мл. сержант
Сообщения: 138
Зарегистрирован: 2009-10-27 1:21:55
Откуда: Солнечная система, планета Земля, Россия
Контактная информация:

обновить ipfw на 50 шлюзах

Непрочитанное сообщение agat » 2010-03-09 12:21:06

Встала задача, одновременно(или почти одновременно) обновить ipfw на чуть меньше чем на 50 гейтах.
сервера все одинаковые, топология сетей за ними тоже одинаковая.
Сети близницы в разных районах, площадь покрытия около 300 км :Search: поэтому случись что, убится можно.
хотел было написать скрипт обновления, и просто тупо закинуть в каждый из серверов на выполнение по крону 1раз 1го числа.
но что то меня это насторожило, вот решил спросить кто нить такое делал? и как такое решилось?

Переход нужен ночью в нули время на переход 1 час. ручками реально не успеть, а заранее низя,.
Есть подозрения, что обновлять ipfw нужно будет еще не раз, поэтому скрипт хорошо бы ставить на выполнение каждый месяц,
т.е. достаточно будет централизовано поменять 1 шаблон что бы все остальные его скачали и применили.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: обновить ipfw на 50 шлюзах

Непрочитанное сообщение princeps » 2010-03-09 13:07:23

для такого надо юзать cfengine или puppet
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35504
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: обновить ipfw на 50 шлюзах

Непрочитанное сообщение Alex Keda » 2010-03-09 13:38:39

у меня филиалы тычутся на нужный УРЛ, скачивают скрипт, запускают егона выполнение.
и так каждую ночь.
==========
ошибаться не советую, через некоторое время расслабляешься, и косяки страшные могут произойти - я вот fstab на всех сразу как-то попортил =)
Убей их всех! Бог потом рассортирует...

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: обновить ipfw на 50 шлюзах

Непрочитанное сообщение princeps » 2010-03-09 14:16:24

а всё потому, что надо не изобретать лисапед, а юзать cfengine или puppet :)
cfengine пробую сейчас внедрить у себя, статью напишу, наверное.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Аватара пользователя
gloom
лейтенант
Сообщения: 738
Зарегистрирован: 2008-03-13 16:29:12
Откуда: UA

Re: обновить ipfw на 50 шлюзах

Непрочитанное сообщение gloom » 2010-03-09 15:48:05

princeps писал(а):а всё потому, что надо не изобретать лисапед, а юзать cfengine или puppet :)
cfengine пробую сейчас внедрить у себя, статью напишу, наверное.
помоему имеет смысл если серверов сотни

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35504
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: обновить ipfw на 50 шлюзах

Непрочитанное сообщение Alex Keda » 2010-03-09 16:22:34

несогласен
имеет смысл юзать хотя бы самописное что-то когда их хотя бы десяток кодинаковых.
если конфиги одинаковые и часто меняются - начиная от единиц (на host-food вот три сервера - а конфии все одинаковые - даже rc.conf =) я на одном меняю, меняется на остальных - тупо скрипт надо не забыть запустить после смены чего либо)
Убей их всех! Бог потом рассортирует...

Аватара пользователя
agat
мл. сержант
Сообщения: 138
Зарегистрирован: 2009-10-27 1:21:55
Откуда: Солнечная система, планета Земля, Россия
Контактная информация:

Re: обновить ipfw на 50 шлюзах

Непрочитанное сообщение agat » 2010-03-09 19:45:39

cfengine, puppet - жесть еще та, и все это ради фаера ? гг... Какие то кукловоды со своим языком
идея с wget на нужный url радует, проверять чексумм можно по md5 и если не совпадает то ни чего не делать,
:)
__________________________
хм.... подозреваю что если знать что по чем и прально скормить скрипт можно много бед на серваке наделать, например незаконно завести юзера, и юзать ломанного дедика в свое удовольствие. поэтому проверка на мд5 нужна не только на -"А целиком ли скачан файло?"... нужно пихнуть какое нить секретное слово в файло, что мол типо свои.

maga-maga
рядовой
Сообщения: 43
Зарегистрирован: 2009-05-08 11:07:47

Re: обновить ipfw на 50 шлюзах

Непрочитанное сообщение maga-maga » 2010-03-09 22:04:30

puppet - действительно жесть, глючное УГ.
уж лучше что-то самописное по крону, хорошо протестировать, поставить default to accept и вперед
m.a.g

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35504
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: обновить ipfw на 50 шлюзах

Непрочитанное сообщение Alex Keda » 2010-03-10 0:13:47

2 агат
глупости какие-то
юзайте ssh по ключам тогда
Убей их всех! Бог потом рассортирует...

Аватара пользователя
agat
мл. сержант
Сообщения: 138
Зарегистрирован: 2009-10-27 1:21:55
Откуда: Солнечная система, планета Земля, Россия
Контактная информация:

Re: обновить ipfw на 50 шлюзах

Непрочитанное сообщение agat » 2010-03-10 1:18:38

в общем накропал что то.. ключи не стал использовать потому что на все надо будет ставить ключи, решил использовать url все таки,
вроде работает, если будут замечания то поправте,

Код: Выделить всё

#!/bin/sh
#
# http://host.ru/dir/
#
# cheksum file hash_md5.php
# <?php
# $file = 'rc.firewall';
# echo md5_file($file);
# ?> 
# 
# access file .htaccess file (only one ip)
# Order Deny,Allow
# Deny from all
# Allow from XXX.XXX.XXX
#
# rc.firewall file
# script rc.firewall
#
#

path="/usr/home/eso"
wget="/usr/local/bin/wget"
rm="/bin/rm"
md5="/sbin/md5"
gate="XXX.XXX.XXX.XXX"
channel="0"
sucs="host.ru"
file="rc.firewall"
sendmd5="hash_md5.php"
sleep=/bin/sleep
MYDATE=`/bin/date +%Y-%m-%d_%H:%M:%S`

#this only utm rfw
trap '' 1 2 3 15
utm_exec=safe_utm5_rfw
err_log=/netup/utm5/log/utm5_rfw.log
exec_dir=/netup/utm5/bin


#LETS BEGIN
    if [ "`ping -t 5 -c 1 ${gate} | grep "64 bytes"`" ]
        then channel=1
        else
            echo "|" ${MYDATE} "| alarm, channel down |" >> ${patch}/chanel_down.log
    fi

        if [ "`ping -t 5 -c 1 ${sucs} | grep "64 bytes"`" -a ${channel} != 0 ]
            then
                ${wget} -O ${path}/tmp.rc.f http://${sucs}/dir/${file}
                obtainedhash=`${md5} -q ${path}/tmp.rc.f`
                ${wget} -O ${path}/md5.tmp http://${sucs}/dir/${sendmd5}
                sendhash=`sed q $path/md5.tmp`
        fi
echo ${obtainedhash}
echo ${sendhash}

        if [ ${obtainedhash} = ${sendhash} ]
        then
        echo "hash ok"
        `/bin/sh ${path}/tmp.rc.f &`

#this only utm (restart utm rfw)
 ${sleep} 3
if [ -x $exec_dir/$utm_exec ];
    then
        $exec_dir/$utm_exec stop &
    else
        echo $exec_dir/$utm_exec no such file
        killall -9 utm5_rfw
fi
 ${sleep} 3
if [ -x $exec_dir/$utm_exec ];
    then
        $exec_dir/$utm_exec start &
    else
        echo $exec_dir/$utm_exec no such file
fi
#end only utm

#CLEAR
$rm $path/md5.tmp
$rm $path/tmp.rc.f
fi

используется utm_rfw для добавления правил поэтому после применения rc.firewall надо просто перегрузить rfw, не стал заморачиватся просто скопировал эту секцию со стартового скрипта.

ну в общем как то так. пока, потом мож еще че допишу.


ХМ.... мож лучше перенести в скрипты?