Краткое содержание
Файл 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 заменяет или "объединяет" секции конфигурации. Не забывайте о том, что он содержит ВСЕ разделы, а не только те новые разделы, которые добавили Вы.
Другие статьи по этой теме