MYCSS

2021-05-24

Нотатка для себе. CARP monitoring script pfsense.

Маю два сервери pfsense (2.5.1-RELEASE ) у різних віртуальних машинах з налаштованими Proxy сервер - Squid, та Virtual IP type CARP.

Virtual IP type CARP.

Задача мати на напоготові резервний Proxy сервер у випадку коли ведуться роботи на одному з гіпервізорів. 

Для цього існує пункт налаштування "Squid General Settings/


pfSense Proxy Server - CARP Status VIP

Тому для швидкого вирішення проблеми було застосований скрипт на базі автора "maxxoverclocker"

#!/bin/csh
set path = ($path /bin /sbin /usr/bin /usr/local/bin)
set carp_check_interface='hn1'
set startminute=`date +"%M"`

@ bootseconds=`date +%s` - `sysctl kern.boottime | awk '{print $5}' | sed 's/,//g'`

#echo $bootseconds

if ( $bootseconds >= 60 ) then
    set carp_status=`/sbin/ifconfig $carp_check_interface | grep 'carp:' | awk '{print $2}'`
      if ( "$carp_status" =~ 'MASTER' ) then
        echo "CARP status is 'MASTER'"
        if ( ! -e "/var/run/squid/squid.pid" ) then
          echo "SQUID start"
           /usr/sbin/service squid.sh restart
        endif
      else if ( "$carp_status" =~ 'BACKUP' ) then
        echo "CARP status is 'BACKUP'"
        if ( -e /var/run/squid/squid.pid ) then
           echo "SQUID shutdown"
           /usr/local/sbin/squid -k shutdown
        endif
      endif
    endif
endif


Змінна carp_check_interface має назву інтерфейсу, потрібно змінити на реальний.

Скрипт збережено до файлу /root/carp-scan.sh.

І він запускається кожної хвилини через додаток cron.

Cron task

 


Немає коментарів:

Коли забув ти рідну мову, біднієш духом ти щодня...
When you forgot your native language you would become a poor at spirit every day ...

Д.Білоус / D.Bilous
Рабів до раю не пускають. Будь вільним!

ipv6 ready