Маю два сервери 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 |



Немає коментарів:
Дописати коментар