This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| 
                    протокол_vrrp [2010/02/16 15:46] val  | 
                
                    протокол_vrrp [2021/10/21 13:00] (current) val  | 
            ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Протокол VRRP ====== | ====== Протокол VRRP ====== | ||
| + | |||
| + | * [[Сервис Keepalived]] | ||
| ===== FreeBSD ===== | ===== FreeBSD ===== | ||
| - | <code> | + | ВНИМАНИЕ! Не совместим с ядром с поддержкой CARP | 
| - | [gateN:~] # pkg_add -r freevrrpd | + | |
| - | [gateN:~] # touch /usr/local/bin/master_script.sh | + | Преимущество перед FreeBSD CARP: | 
| - | [gateN:~] # chmod +x /usr/local/bin/master_script.sh | + | |
| - | [gateN:~] # touch /usr/local/bin/backup_script.sh | + | * Явно указывается какому интерфейсу назначается адрес, адрес может быть из другой подсети чем основной на интерфейсе. | 
| - | [gateN:~] # chmod +x /usr/local/bin/backup_script.sh | + | * Поддерживаются скрипты работающие при смене состояний master/backup | 
| + | * Регулируется период ожидания готовности соседнего узла (carriertimeout) | ||
| + | Проблемы: | ||
| + | * Зависают интерфейсы после холодного рестарта master сервера, лечится down/up для интерфейса | ||
| + | |||
| + | <code> | ||
| + | [gateN:~] # pkg_add -r freevrrpd | ||
| + | </code><code> | ||
| [gate1:~] # cat /usr/local/etc/freevrrpd.conf | [gate1:~] # cat /usr/local/etc/freevrrpd.conf | ||
| + | </code><code> | ||
| [VRID] | [VRID] | ||
| serverid = 1 | serverid = 1 | ||
| - | interface = le0 | + | interface = em0 | 
| useVMAC = yes | useVMAC = yes | ||
| carriertimeout = 10 | carriertimeout = 10 | ||
| priority = 100 | priority = 100 | ||
| - | addr = 192.168.13.254/32 | + | addr = 192.168.X.254/32 | 
| - | masterscript = /usr/local/bin/master_script.sh | + | # masterscript = /usr/local/bin/master_script.sh | 
| - | backupscript = /usr/local/bin/backup_script.sh | + | # backupscript = /usr/local/bin/backup_script.sh | 
| password = testpass321 | password = testpass321 | ||
| + | </code><code> | ||
| [gate2:~] # cat /usr/local/etc/freevrrpd.conf | [gate2:~] # cat /usr/local/etc/freevrrpd.conf | ||
| + | </code><code> | ||
| [VRID] | [VRID] | ||
| serverid = 1 | serverid = 1 | ||
| - | interface = le0 | + | interface = em0 | 
| useVMAC = yes | useVMAC = yes | ||
| carriertimeout = 10 | carriertimeout = 10 | ||
| priority = 50 | priority = 50 | ||
| - | addr = 192.168.13.254/32 | + | addr = 192.168.X.254/32 | 
| - | masterscript = /usr/local/bin/master_script.sh | + | # masterscript = /usr/local/bin/master_script.sh | 
| - | backupscript = /usr/local/bin/backup_script.sh | + | # backupscript = /usr/local/bin/backup_script.sh | 
| password = testpass321 | password = testpass321 | ||
| + | </code><code> | ||
| [gateN:~] # mv /usr/local/etc/rc.d/freevrrpd.sh.sample /usr/local/etc/rc.d/freevrrpd.sh | [gateN:~] # mv /usr/local/etc/rc.d/freevrrpd.sh.sample /usr/local/etc/rc.d/freevrrpd.sh | ||
| [gateN:~] # /usr/local/etc/rc.d/freevrrpd.sh start | [gateN:~] # /usr/local/etc/rc.d/freevrrpd.sh start | ||
| + | |||
| + | [gateN:~] # tail -f /var/log/messages | ||
| </code> | </code> | ||
| + | ===== Ubuntu ===== | ||
| + | |||
| + | Не удалось избавиться от глюка - залипает интерфейс на свежем мастере. | ||
| + | |||
| + | При глюке помогает: | ||
| + | <code> | ||
| + | root@gateN:~# ifconfig eth0 up | ||
| + | </code> | ||
| + | и даже | ||
| + | <code> | ||
| + | root@gateN:~# tcpdump -ni eth0 | ||
| + | </code> | ||
| + | формально установка и использование выглядят так: | ||
| + | <code> | ||
| + | root@gateN:~# apt-get install vrrpd | ||
| + | |||
| + | root@gate1:~# vrrpd -D -i eth0 -v 50 -p 100 -a ah/0x1234 192.168.X.254 | ||
| + | |||
| + | root@gate2:~# vrrpd -D -i eth0 -v 50 -p 50 -a ah/0x1234 192.168.X.254 | ||
| + | |||
| + | root@gateN:~# tail -f /var/log/syslog | ||
| + | |||
| + | root@gateN:~# ip addr show dev eth0 | ||
| + | </code> | ||