Схема рабочая, но я бы предложил отказаться от OpenVPN в пользу GRE over IPSec. CARP и OSPF отлично уживаются вместе, дополняя друг друга. Особого смысла вводить дополнительные арии для филиалов в вашем случае не вижу. Если хотите балансировку нагрузки между каналами, то проще всего, наверное, заменить OSPF на BGP и реализовать схему, при которой, пока живы оба канала, трафик в офис идёт по первому, а из офиса - по второму. Это хороший вариант, при условии, что каналы везде у вас приблизительно одинаковой ширины т.к. в этом случае вы получите фактически удвоение ширины канала + резервирование (при падении одного из каналов весь трафик пойдёт по оставшемуся).
Ещё могу порекомендовать отказаться от pfSense в пользу MikroTik RouterOS. Сам долго и активно пользовался pfSense, но в нашей сети его недостатки оказались существенными и пришлось искать замену, которой стала MikroTik RouterOS. Довольны полностью.
У pfSense есть несколько серьёзных недостатков:
- запустить на нём OSPF + BGP одновременно не получится, либо одно, либо другое;
- периодически (редко) намертво подвисает OSPF;
- до сих пор не устранён баг, приводящий к переполнению места на системном разделе после установки некоторых пакетов - критично, при сохранении любых изменений в Web-интерфейсе при переполненном корневом разделе слетает конфигурация начисто;
- настройка IPSec-а на pfSense не самое приятное занятие;
- реализация интерфейса для настройки DHCP сервера оставляет желать лучшего - конкретно добавление резервирования IP адреса...
Но у pfSense есть и существенные плюсы перед MikroTik RouterOS:
- замечательный файрвол, который предельно прост, логичен и настроен из коробки;
- XMLRPC Sync;
- бесплатность;
- возможность расширения функционала сверх стандартных функций для шлюза - к примеру из него можно сделать ещё и антиспам SMTP прокси;
- рабочий Proxy ARP для PPTP/L2TP (сомнительный плюс).
Ещё у Вас и в офисе и в филиалах есть дополнительная точка отказа - коммутаторы. По хорошему их тоже стоит резервировать, как минимум в офисе.