UniFi - config.gateway.json로 USG 환경설정 커스터마이제이션하기 ============================================================================= download at 2017-09-09T02:13:08Z `origin `_ Overview .. raw:: html
-------------- .. raw:: html
이 문서는 *config.gateway.json* 파일을 생성하고 어떻게 사용하는지 서술합니다. 해당 파일은 USG의 고급 환경 설정에 사용합니다. 해당 파일은 프로비전을 수행해도 커스터마이징 한 내용을 바뀌지 않도록 합니다. config.gateway.json로 USG 환경설정 커스터마이제이션하기 .. raw:: html
-------------- .. raw:: html
config.gateway.json 파일로 수정을 할 떄에는 컨트롤러 UI로 실행할 수 없는 커스터마이제이션을 수행할 수 있도록 합니다. USG 부팅시에 포매팅 에러가 발생하면 루프가 발생하기 떄문에 많은 노력이 필요합니다. 일부 사용자는 환경설정 파일 내용 전부를 덤프하여 위 이슈를 우회할 수도 있지만, 다른 이슈를 발생할 수도 있습니다. 컨트롤러 UI로 설정 값을 변경할 때에도 bootloop 을 발생할 수도 있습니다. 기본 값으로 해당 파일은 존재하지 않습니다. 이 옵션을 사용하기 위해서는 파일을 생성해야 합니다. *config.gateway.json* 파일은 컨트롤러의 **/data/sites/the\_site** 에 위치하여 있습니다. |info_i_25x25.png| .. Note:: 위치는 OS 마다 다릅니다. `이 문서 `__ 를 참조하십시오. https://127.0.0.1:8443/manage/s/\ **ceb1m27d**/dashboard 모든 사이트마다 고유의 랜덤 스트링이 사이트에 할당됩니다. 위의 경우에서는 **ceb1m27d** 가 폴더 이름이며 **/data/sites/** 아래에 위치합니다. 그러므로 이 경우에서는 해당 랜덤 스트링 이름으로 폴더를 생성하고, 해당 디렉토링 아래에 **config.gateway.json** 파일을 생성합니다. 커스터마이징을 수정하기 이전에, 기존의 config.boot 파일이 존재하는지 체크하여 룰 넘버를 사용하고 있는지 확인합니다. 이 과정을 다양한 방법으로 수행할 수 있습니다. 이 문서에서는 SSH를 통해서 수행합니다. *cat /config/config.boot* 이 예제에서는 DNS에 DNAT룰을 생성합니다. 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* 위의 내용을 수행하면 config를 내보낼 수 있습니다 다음으로 수행합니다: *mca-ctrl -t dump-cfg* 파일로 내보내는 것은 관련 없습니다. 파일로 내보내고 싶다면 다음으로 수행합니다: *mca-ctrl -t dump-cfg > config.txt* config 파일은 다음과 같이 수정할 수 있습니다: :: "nat": { "rule": { "1": { "destination": { "port": "53" }, "inbound-interface": "eth0", "inside-address": { "address": "10.0.0.1", "port": "53" }, "protocol": "tcp_udp", "type": "destination" }, 이제 커스텀 룰을 생성했지만, 전체적으로는 올바른 포맷이 아닙니다. 올바른 포맷으로 다음과 같이 생성합니다: :: {        "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* 를 사용해서 json 포맷이 올바른지 확인해보는 것은 좋은 습관입니다. 이 방식은 config.gateway.json 파일을 생성하는 좋은 통찰을 얻을 수 있습니다. 다른 환경설정과 이러한 *json* 파일로 대체할 수 있습니다. 사용자 노트 & 팁 -------------- - 우분투에서 .json 파일의 인스톨 되는 경로는 : /usr/lib/unifi/data/sites/[site name/default]/ 입니다. - json의 유효성을 검사하는 가장 쉬운 방법은 파이썬을 사용하는 방법입니다: python -m json.tool config.gateway.json 관련 문서 ================ .. raw:: html
-------------- .. raw:: html
- `SSH로 커넥션을 생성하는 방법 `__   - `로컬 사용자로 원격 사용자 VPN 사용하기 `__ .. |info_i_25x25.png| image:: /hc/article_attachments/115009104448/info_i_25x25.png