Продолжая мусолить тему виртуального шлюза, сегодня я попытаюсь поженить
  pfSense с Zerotier и посмотрю что из этого выйдет.
Сразу отвечу на вопрос
  "Зачем это нужно, ведь в pfSense есть VPN сервер?": Если кратко - то для
  использования машины с pfSense в качестве VPN сервера нужен белый IP, который
  стоит денег, а для обеспечения бесперебойности работы, белый IP нужен и на
  резервном канале. Не каждое небольшое предприятие готово это все оплачивать (а
  если готово, то пусть лучше платит мне), да и провайдеры не всегда готовы его
  предоставить. Не стоит забывать и о возне с ключами (генерация,
  компрометация).
Zerotier на данный момент позволяет бесплатно
  использовать 50 клиентов (раньше было 100), заведя несколько аккаунтов это
  количество можно увеличить кратно, но всем этим надо как-то удобно рулить. Это
  мы и попытаемся реализовать.
  Разрешаем установку FreeBSD пакетов, отредактировав первую строчку файла
  /usr/local/etc/pkg/repos/pfSense.conf (меняем no на yes)
FreeBSD: { enabled: yes }Устанавливаем Zerotier:
pkg install -y net/zerotier net/ngrep textproc/jqПравим файл /etc/defaults/rc.conf, добавив строку:
zerotier_enable=YESЗапускаем службу:
service zerotier start
  Для реализации автозапуска создаем файлы /etc/rc.local и
  /etc/rc.local.running.
  В файл /etc/rc.local добавляем строчку:
service zerotier startПерегружаем систему.
Присоединяемся к сети Zerotier
# zerotier-cli join 0cccb752f734e76c
200 join OKгде 0cccb752f734e76c - наш <network ID>
Во вкладке "Интерфейсы"/"Назначения" в списке "Доступные сетевые порты" наблюдаем появившийся новый интерфейс:
Теперь мы можем нажать кнопку добавить и далее, по идее, управлять им как обычным сетевым интерфейсом стандартными средствами pfSense. Перегружаем систему и оп:
|   | 
| Интерфейс, из конфигурации отсутствует | 
Выбираем интерфейс, служащий WAN и продолжаем загрузку
|   | 
| Жмем 1 | 
  Как видим, сам интерфейс мы установили, но в интерфейс управления интеграции
  не произошло.
Для дальнейших действий нам потребуется виртуальная машина
  с FreeBSD, соответствующей нашему pfSense версии.
Устанавливаем на
  FreeBSD pkg, git и gmake, подключившись по SSH
pkg install git gmake
  Соглашаемся на установку pkg и остальных пакетов
С помощью git клонируем
  коллекцию портов (примерно 2 Gb)
# git clone https://github.com/pfsense/FreeBSD-ports.gitПравим (создаем) файл /etc/make.conf, чтоб разрешить сборку для сторонних систем. добавив строчку
ALLOW_UNSUPPORTED_SYSTEM=YESКлонируем в каталог FreeBSD-ports/net/, коллекции портов, скачанной ранее, порт pfSense-pkg-zerotier
cd FreeBSD-ports/net/
git clone https://github.com/ChanceM/pfSense-pkg-zerotierСобираем пакет
cd pfSense-pkg-zerotier
make
make package
  Переносим собранный пакет, находящийся в каталоге
  FreeBSD-ports/net/pfSense-pkg-zerotier/work/pkg/ на машину с
  pfSense по ssh и производим его установку
pkg add pfSense-pkg-zerotier-0.00.1.txzПосле перезагрузки во вкладке Web интерфейса VPN, появился пункт Zerotier
|   | 
| Enable/Save | 
Во вкладке Networks появилась наша сеть, добавление новых сетей можно теперь делать прямо из интерфейса.
Есть возможность поднять свой контроллер, но я пока не буду ее рассматривать.
- Послесловие
- 
    Таким образом (используя zerotier-cli join <network ID>) мы можем
    добавить любое разумное количество Zerotier сетей, преодолевая ограничение в
    50 бесплатных клиентов и настраивая сеть любой сложности.
 Пакет, собранный мною в процессе написания заметки (pfSense 2.5.2, zerotier 1.6.5) можно скачать здесь


 
Подпись комментария:
ОтветитьУдалитьhi, did you make zerotier work on pfsense. I cant make it work, I think that I am not configurating the proper way the firewall rules. If you mak it work, which was your configuration??
In zerotier it appear that is connected but I cant connect to other equipments ....