Назад | Перейти на главную страницу

keepalived virtual_ipaddress и маска сети

У меня есть следующий файл keepalived.conf:

vrrp_script chk_nginx {
  script "curl http://localhost/vrrp_healthcheck/"
  interval 2 # every 2 seconds
  weight 2 # add 2 points if OK
}

vrrp_instance VI_1 {
  interface ens160 # interface to monitor
  virtual_router_id 50
  priority 100
  virtual_ipaddress {
    192.168.120.25 label ens160:10
  }
  track_script {
    chk_nginx
  }
  notify /usr/local/bin/notify.sh
}

На главном узле в выводе ifconfig я вижу следующее:

ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.120.20  netmask 255.255.255.224  broadcast 192.168.120.31
        ether 00:50:56:a5:c5:3a  txqueuelen 1000  (Ethernet)
        RX packets 138308  bytes 130425415 (124.3 MiB)
        RX errors 0  dropped 73  overruns 0  frame 0
        TX packets 122917  bytes 50788591 (48.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens160:10: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.120.25  netmask 255.255.255.255  broadcast 0.0.0.0
        ether 00:50:56:a5:c5:3a  txqueuelen 1000  (Ethernet)

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1  (Local Loopback)
        RX packets 9730  bytes 812897 (793.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9730  bytes 812897 (793.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Что меня беспокоит, так это разные широковещательные и сетевые адреса в записи ens160: 10 (которая создается keepalived).

Разве они не должны совпадать с теми, что из обычного интерфейса?

На данный момент кажется, что моя настройка работает, но я хочу убедиться, что она настроена правильно.

Вы можете просто изменить блок виртуальных IP-адресов, чтобы он читался:

virtual_ipaddress {
  192.168.120.25/27 label ens160:10
}

Маска по умолчанию: /32 или 255.255.255.255.