При конфигурировании сервиса changeroutes нужно обязательно соблюдать следующие правила:
1) Все параметры должны быть представлены в конфигурационном файле.
2) Значения всех параметров должны быть указаны в двойных кавычках.
3) Нельзя использовать пробелы между параметром, знаком равно и значением параметра (только так: MAIN_INTERFACE="eth0" и никак иначе).
4) Строки с параметрами не должны содержать пробелов ни в начале, ни в конце.
5) Нельзя использовать комментарий на той же строке, где задан параметр.
Настройка сервиса changeroutes осуществляется через файл /etc/changeroutes/changeroutes.ini.
1. Определите маршруты, которые требуется резервировать, в данном случае задается маршрут по умолчанию:
RESERVE_ROUTES="0.0.0.0/0"
Если требуется резервировать произвольные маршруты, то укажите их через пробел (указание маски обязательно, даже для маршрутов к хостам):
RESERVE_ROUTES="192.168.100.0/24 1.1.1.1/32 8.8.8.8/32"
2. Определите IP адреса хостов по доступности которых будет определяться доступность канала и укажите их через пробел (важно: доступность хостов проверяется только через основной канал):
IP_HOSTS="1.1.1.1 8.8.8.8"
Для хостов, которые заданы в IP_HOSTS должен быть маршрут в RESERVE_ROUTES.
3. Укажите имена сетевых интерфейсов в linux нотации для основного и резервного каналов (чтобы посмотреть имена интерфейсов воспользуйтесь командой ip address show в Linux bash):
MAIN_INTERFACE="eth0"
BACKUP_INTERFACE="eth1"
4. Укажите адреса шлюзов по умолчанию для основного и резервного каналов если адреса на устройстве указаны статически:
MAIN_GATEWAY="172.16.15.1"
BACKUP_GATEWAY="172.16.16.1"
В случае, если устройство получает на каком-либо из интерфейсов адреса по DHCP, это следует указать в конфигурации:
MAIN_INTERFACE_DHCP="true"
BACKUP_INTERFACE_DHCP="true"
Для корректной работы changeroutes время аренды адреса (lease time), выданного по DHCP должно быть не меньше 1 часа.
Адреса шлюзов по умолчанию для таких интерфейсов указывать не нужно.
5. Запустите сервис changeroutes, а также добавьте его в автозазагрузку:
root@sterragate:~# systemctl start changeroutes.service
root@sterragate:~# systemctl enable changeroutes.service
Посмотреть лог работы сервиса можно в файле /var/log/cspvpngate.log:
root@sterragate:~# tail -n 1000 /var/log/cspvpngate.log | grep changeroutes
Jun 21 16:58:17 sterragate changeroutes: INFO: starting service ...
Jun 21 16:58:19 sterragate changeroutes: INFO: LSP was reloaded.
Jun 21 16:58:19 sterragate changeroutes: INFO: all NAT translations were deleted.
Jun 21 16:58:19 sterragate changeroutes: INFO: switched to main interface "eth1".
Jun 21 16:58:19 sterragate changeroutes: INFO: service was started (PID=30842).