UniFi — Как настроить конфигурацию USG в соответствии с своими предпочтениями, используя файл config.gateway.json

Краткое содержание

Файл config.gateway.json используется  для дополнительной настройки USG. Этот файл позволяет сделать специализированные настройки постоянными.

Как настроить конфигурацию USG в соответствии с своими предпочтениями, используя файл config.gateway.json

При выполнении специализированной настройки файла config.gateway.json лучше всего задать в нем те специализированные настройки, которые невозможно задать в пользовательском интерфейсе (UI) контроллера. К этому требуется подходить с осторожностью, так как если формат будет неверным, может возникнуть цикл перезагрузки USG.

Некоторые пользователи могут обнаружить, что выйти из него можно, выполнив выгрузку (дамп) полной конфигурации, однако это может привести к дальнейшим проблемам. Цикл перезагрузки может возникнуть, если Вы измените настройки в пользовательском интерфейсе UI контроллера. 

По умолчанию такого файла нет, пользователь должен создать его; после этого файл можно использовать. Файл config.gateway.json находится в папке  [UniFi base]/data/sites/the_site , которая хранится в контроллере.

https://127.0.0.1:8443/manage/s/ceb1m27d/dashboard

На каждой площадке Вы обнаружите уникальную случайную строку, которая назначена этой площадке.  В случае, описанном выше, случайная строка  ceb1m27d является именем папки, которая должна находиться в [UniFi base]/data/sites/ (В облачном ключе используется /srv/unifi/data/sites).  Поэтому, в моем случае, я создал вложенную папку ceb1m27d , а затем поместил в нее файл  config.gateway.json .

До настройки чего-либо в соответствии со своими предпочтениями, Вы должны проверить существующий файл config.boot и убедиться в том, что Вы не используйте существующий номер правила (если применимо). Вы можете сделать это несколькими способами. Обычно я, используя SSH, подключаюсь к моему USG и ввожу команду:

cat /config/config.boot

Как видно из моего примера, я создаю правило DNAT для DNS (это только пример и, возможно, далеко не лучший). Я выполняю конфигурирование, используя форматирование EdgeOS:

configure
set service nat rule 1 type destination
set service nat rule 1 inbound-interface eth0
set service nat rule 1 protocol tcp_udp
set service nat rule 1 source port 53
set service nat rule 1 inside-address address 10.0.0.1
set service nat rule 1 inside-address port 53
commit;save;exit

После этого я экспортирую конфигурацию. Это делается командой:

mca-ctrl -t dump-cfg

Заметьте, я не утруждаю себя экспортом в файл. Если Вам это нужно, то сделайте это с помощью команды:

mca-ctrl -t dump-cfg > config.txt

Итак, я отыскал соответствующий раздел моей выходной конфигурации:

                «nat»: {
                        «rule»: {
                               «1»: {
                                       «destination»: {
                                               «port»: «53»
                                       },
                                       «inbound-interface»: «eth0»,
                                       «inside-address»: {
                                               «address»: «10.0.0.1»,
                                               «port»: «53»
                                       },
                                       «protocol»: «tcp_udp»,
                                       «type»: «destination»
                               },

Это мое специализированное правило, однако оно не полностью соответствует формату. Если Вы просмотрите выходную конфигурацию с самого начала, то заметите, что у нее есть некоторый формат. Если мне требуется ТОЛЬКО это правило в config.gateway.json, мой файл будет примерно таким, как показано ниже.

{
       «service»: {
                «nat»: {
                        «rule»: {
                               «1»: {
                                       «destination»: {
                                               «port»: «53»
                                       },
                                       «inbound-interface»: «eth0»,
                                       «inside-address»: {
                                               «address»: «10.0.0.1»,
                                               «port»: «53»
                                       },
                                       «protocol»: «tcp_udp»,
                                       «type»: «destination»
                               }
                       }
                 }
       }
}

Если Вам требуется добавить несколько секций, например, сервис, а затем VPN, то за закрывающей скобкой должна следовать запятая, за которой должна начинаться новая секция. Например, сервис и VPN должны быть двумя отдельными секциями.

Это очень помогает при проверке кода программы. Имеются многочисленные бесплатные варианты, которые можно найти по ключевым словам  json validator, — воспользуйтесь для этого своей любимой поисковой системой. 

Надеюсь, у Вас появилось некоторое представление о том, как создать файл config.gateway.json . Важно отметить, что специализированный файл  json заменяет или «объединяет» секции конфигурации. Не забывайте о том, что он содержит ВСЕ разделы, а не только те новые разделы, которые добавили Вы. 

Другие статьи по этой теме

  • Как установить соединение, используя SSH   

Все авторские права и другие права интеллектуальной собственности на данные материалы являются собственностью Компании «Рутстор» (ROOTSTORE). При использовании данного материала ссылка на сайт rootstore.ru обязательна.

Авторизация
*
*
Регистрация
*
*
*
*
Генерация пароля
Заказать звонок



Купить в 1 клик