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 17:19] val  | 
                
                    протокол_vrrp [2021/10/21 13:00] (current) val  | 
            ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Протокол VRRP ====== | ====== Протокол VRRP ====== | ||
| + | |||
| + | * [[Сервис Keepalived]] | ||
| ===== FreeBSD ===== | ===== FreeBSD ===== | ||
| Line 5: | Line 7: | ||
| ВНИМАНИЕ! Не совместим с ядром с поддержкой CARP | ВНИМАНИЕ! Не совместим с ядром с поддержкой CARP | ||
| - | Преимущество перед CARP: | + | Преимущество перед FreeBSD CARP: | 
| * Явно указывается какому интерфейсу назначается адрес, адрес может быть из другой подсети чем основной на интерфейсе. | * Явно указывается какому интерфейсу назначается адрес, адрес может быть из другой подсети чем основной на интерфейсе. | ||
| * Поддерживаются скрипты работающие при смене состояний master/backup | * Поддерживаются скрипты работающие при смене состояний master/backup | ||
| + | * Регулируется период ожидания готовности соседнего узла (carriertimeout) | ||
| + | |||
| + | Проблемы: | ||
| + | * Зависают интерфейсы после холодного рестарта master сервера, лечится down/up для интерфейса | ||
| <code> | <code> | ||
| [gateN:~] # pkg_add -r freevrrpd | [gateN:~] # pkg_add -r freevrrpd | ||
| - | |||
| - | [gateN:~] # touch /usr/local/bin/master_script.sh | ||
| - | [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 | ||
| </code><code> | </code><code> | ||
| [gate1:~] # cat /usr/local/etc/freevrrpd.conf | [gate1:~] # cat /usr/local/etc/freevrrpd.conf | ||
| Line 23: | Line 23: | ||
| [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.X.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> | </code><code> | ||
| Line 36: | Line 36: | ||
| [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.X.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> | </code><code> | ||
| Line 52: | Line 52: | ||
| </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> | ||