FortiGate에서 아래와 같이 외부(all)에서 내부(all)로의 정책(ID 15)을 차단으로 설정했지만, VIP 정책(ID 14)은 차단되지 않고 허용된다.
FortiOS에서는VIP 객체와 Firewall Address 객체는 완전히 다른 객체로 판단하다. 즉Firewall Address 객체인 "all" 과 VIP 객체인 "VIP_eBT_FAZ" 객체는 서로 다른 별개의 영역으로 판단하게된다. 따라서"VIP_eBT_FAZ"접속하는 트래픽은 "all"에 매칭되지 않고, ID 15 정책에 의해 허용된다.
차단하려면VIP 객체에 대한 차단 정책을 생성해야 한다.
또는 ID 15 정책에 아래와 같은옵션을 추가하여, VIP 객체에 대해서도 매칭되도록 설정 할 수 있다.
본 가이드에서는 미크로틱(마이크로틱) 라우터 및 CRS 스위치 제품군에서 RouterOS와 부트로더의 버전을 이해하고, 업그레이드 또는 다운그레이드 하는 방법을 설명합니다.
RouterOS에는 WinBox 또는 FTP, SCP로 파일을 전송할 수 있으며, 여기서는 WinBox로 전송하는 방법만 다룹니다.
또한 RouterOS v7을 기준으로 설명하며, 기존 v6에서는 추가 및 번들 패키지 종류가 다를 수 있으나 이미 사장되어 가는 구식 커널 기반 OS이므로 해당 설명은 제외하였습니다.
RouterOS가 설치된 MikroTik 제품을 처음 접하신다면 사용자가 확인할 수 있는버전 정보가 여러가지 표시되어혼란스러울 수 있습니다.
예를 들면 아래와 같습니다.
당장 현시되는 버전 정보만 다섯 가지나 되는데, 의미를 모르는 사람이 보면 약간 기괴하게 느껴집니다.
왼쪽에 표시되는 버전은 7.16.2인데 오른쪽에 표시되는 현재 버전은 7.15.3입니다.
현재 설치된 버전은 7.16.2일까요? 아니면 7.15.3?
그런데 오른쪽의 업그레이드 버전은 7.16.2이니까 동일버전으로 업그레이드 해야된다는 걸까요?
지금 혼란스러우시다면, 이 가이드를 꼭 읽어보셔야 합니다!
그래서... 미크로틱 개발자들은 변태 성향이라 사용자를 괴롭히는 걸까요? 당연히 아닙니다.
이를 모르고 사용하시는 분들도 많지만, 각각의 버전 정보는 MikroTik 장비에서 중요한 의미를 가지므로 이해하면 큰 도움이 됩니다.
시스템 소프트웨어 구분
미크로틱 RouterOS 장비는 크게 두 가지 시스템 소프트웨어로 구동됩니다.
RouterOS
RouterBOARD 장치용Linux 기반 OS 및 라우팅 소프트웨어
RouterBOOT
RouterBOARD 장치용부트로더 및 펌웨어
부팅시 RouterOS 구동 및 장치의 Low-Level 설정 제어
RouterBOARD의 의미
소프트웨어 버전 확인하기
RouterOS 버전 확인하기
WinBox 우측 메뉴에서 System - Resource를 순서대로 누릅니다.
A. Version
현재 설치 및 구동 중인 RouterOS의 버전과 출시 정보가 표시됩니다.
B. Factory Software (중요)
해당 장치가지원하는 가장 오래된 버전을 표시합니다.
해당 장치는 반드시 해당 버전과 동일하거나 이후에 출시된RouterOS만 설치할 수 있습니다.
이는 해당 기종에 맞는 드라이버나 여러 리소스 지원이 추가된 버전의 RouterOS가 필요하기 때문이며, 동일 모델이라도 하드웨어 리비전에 따라서 개정 사항이 반영된 OS 및 부트로더가 필요하기 때문입니다.
인텔 8세대 이후의 컴퓨터에서 윈도우 XP나 7을 지원하지 않는 것처럼, 미크로틱 장비 또한 구동할 수 있는 구형 OS 버전에 한계가 있습니다.
설치된 패키지(Package) 종류와 버전 확인하기
1. WinBox 좌측 메뉴에서 System - Packages를 차례대로 누릅니다.
2. Package List 창이 표시되며, 여기서 RouterOS를 크게 두 가지 패키지로 구분할 수 있습니다.
A. routeros - Main Package / System Package (시스템 패키지)
RouterOS의필수 시스템 패키지입니다.
해당 장치의 CPU 아키텍처에 따라 구분되어 제공됩니다. (arm / arm64 / tile / mmips / mipsbe 등)
v7.12까지는 와이파이 제어 인터페이스가 wifiwave2라는 추가 패키지로 지원되었지만, v7.13부터는 시스템 패키지에 통합되어 WiFi 메뉴로 제공됩니다.
B. Extra Packages (추가 패키지)
RouterOS의기능 추가를 위한 선택형 패키지입니다.
Extra Package는 각 기능에 특화되어 개별 패키지로 제공되며, 사용자 필요나 용도에 따라 별도 설치할 수 있습니다.
예를 들어 Container 패키지를 설치하면 RouterOS에서 리눅스 컨테이너 기능이 지원되고, User Manager 패키지를 설치하면 RouterOS에 중앙 집중식 인증 서버(RADIUS)를 구축할 수 있으며, Zerotier 패키지를 설치하면 제로티어 엔드포인트 기능이 추가됩니다.
여기서 주의해야 할 부분은, 언제나각 시스템 패키지 버전에 맞는 추가 패키지가 제공 및 배포된다는 것입니다.
예를 들어 7.15 버전의 시스템 패키지와 및 추가 패키지가 설치된 라우터를 7.15.2로 업그레이드 하려면 반드시해당 버전의 시스템 패키지와 추가 패키지 파일을 모두라우터에 업로드 해야 합니다.
또한다른 버전의 추가 패키지만 설치하는 것도 불가능하므로 반드시 설치된 시스템 패키지와 동일한 버전의 추가 패키지를 다운로드하여 설치해야 합니다.
그렇지 않다면 설치 또는 업그레이드 절차가 거부되고, 기존의 패키지가 그대로 유지됩니다.
RouterBOOT 버전 확인하기
WinBox 우측 메뉴에서 System - RouterBOARD를 순서대로 누릅니다.
C. Factory Firmware
공장 제조시 해당 장치에 내장시킨백업 부트로더(RouterBOOT)의 버전입니다.
D. Current Firmware
현재 설치되어 사용 중인 RouterBOOT의 버전입니다.
E. Upgrade Firmware
현재 설치된 버전과 다른 RouterBOOT 펌웨어가 발견되면 해당 버전을 표시합니다.
Factory Firmware와 Current Firmware 버전이 서로 다른 경우
새로 구매한 장비라도 Factory Firmware와 Current Firmware의 버전이 서로 다를 수 있습니다.
Current Firmware는 기설치된 RouterOS와 동일한 버전으로 설치되며, Factory Firmware는 해당 장치에서 오랜 시간 검증된 버전으로 설치하여 출하하기 때문입니다.
현재 사용 중인 부트로더인 Current Firmware는 사용자가 원할 때 얼마든지 업그레이드 또는 다운그레이드 할 수 있지만, 이와 다르게Factory Firmware는 자유롭게 업그레이드 할 수 없습니다.
비교적 최근(2022년)에 Factory Firmware 업그레이드가 허용된 사례는 '보호된 부트로더(Protected)' 기능을 지원하기 위해서 였는데, 이 또한 최근 생산/출하되는 기기에는 해당 없으며 특별한 소정의 절차가 필요합니다.
해당 절차를 요약하면, Factory Firmware가 v7.6 미만 또는 v6.x 버전인 기종에서 Factory Firmware 쓰기 제한이 해제된 특정 버전(v7.6 또는 v6.49.7)의 RouterOS를 설치한 뒤 별도의 범용 패키지로 업그레이드하는 것입니다.
따라서 이미 설치된 Factory Firmware를 변경하는 경우는 드물며, 현재 부트로더가 손상되었을 때 사용되는 보루에 가까우므로 애초에 업그레이드 할 필요가 없습니다.
RouterBOOT를 업그레이드 해야 하나요?
모든 RouterOS 패키지에는해당 버전에 맞는 RouterBOOT 부트로더(펌웨어)를 포함하여 제공됩니다.
예를 들어, RouterOS v7.16.2 버전의 npk 패키지에는 이미 v7.16.2 버전의 RouterBOOT가 함께 포함된 것입니다.
그러나 새로운 RouterBOOT는 RouterOS 업그레이드 과정에서자동 적용되지 않으며 항상 개별 적용해야 합니다.
'신규 펌웨어를 함께 제공하지만 설치는 개별'이라는 부분을 이해하기 어려우실 수 있으나, 윈도우 업데이트와 바이오스 업데이트가 서로 구분되는 것처럼 RouterOS와 RouterBOOT 또한 서로 다르게 구분해야 합니다.
또한, 반드시 두 버전이 같아야 하는 것은 아닙니다.
대부분 OS와 부트로더의 버전이 서로 다르더라도 문제 없이 사용할 수 있기 때문에 오히려 RouterBOOT의 존재를 모르거나 업그레이드 필요성을 느끼지 못하는 분들도 있습니다.
그럼에도 RouterBOOT 업그레이드를 권장하는 이유는 무엇일까요?
아래는 RouterOS v7의 변경 사항 중 일부입니다.
What's new in 7.10 (2023-Jun-15 08:17):
*) routerboard - fixed memory test on CCR2116-12G-4S+ ("/system routerboard upgrade" required);
*) routerboard - improved RouterBOOT stability for Alpine CPUs ("/system routerboard upgrade" required);
*) routerboot - increased "preboot-etherboot" maximum value to 30 seconds ("/system routerboard upgrade" required);
What's new in 7.11 (2023-Aug-15 09:33):
*) routerboard - fixed "gpio-function" setting on RBM33G ("/system routerboard upgrade" required);
*) routerboard - improved RouterBOOT stability for Alpine CPUs ("/system routerboard upgrade" required);
*) routerboard - removed unnecessary serial port for netPower16P and hAP ax lite devices ("/system routerboard upgrade" required);
*) routerboot - increased etherboot bootp timeout to 40s on MIPSBE and MMIPS devices ("/system routerboard upgrade" required);
What's new in 7.16 (2024-Sep-20 16:00):
*) routerboard - improved Etherboot stability for CRS320-8P-8B-4S+ device ("/system routerboard upgrade" required);
*) routerboard - improved Etherboot stability for IPQ-40xx devices ("/system routerboard upgrade" required);
*) routerboot - improved boot process ("/system routerboard upgrade" required);
복사
새로운 버전의 RouterBOOT에는일반적으로 RouterBOARD의 전반적인 동작 안정성을 위한 개선 사항이 포함됩니다.
또한 변경 사항에 명시된 개선 사항 외에도 명시하지 않은 개선 사항이 있을 수 있는데, 경험상 이러한 차이는 RouterOS v6에서 v7 전환이 이루어지던 초기부터 과도기(v7.8 출시 이전까지)에 꽤나 잦았습니다.
예를 들면 v7.x로 업그레이드 후 라우터 부팅이 오래 걸리거나 중간에 비정상 재부팅 되는 문제가 발생했는데, RouterBOOT까지 업그레이드하면 증상이 없어졌지만 변경 사항에서 관련 내용을 별도 명시한 부분은 없었습니다.
따라서 MikroTik에서는 Current Firmware와 Upgrade Firmware의 버전이 서로 다른 경우 버전이 일치하도록 RouterBOOT 업그레이드를 권장하고 있고, 저 또한 Changelog에 특별히 명시된 부분이 없더라도 OS 업그레이드 후 습관처럼 함께 적용하고 있습니다.
RouterOS 업그레이드하기
RouterOS를 업그레이드 하는 방법은 크게 5 가지로 구분할 수 있습니다.
표준 업그레이드 (최신, 간편)
클릭 몇 번만 누르면 간편하게 최신 버전으로 업그레이드할 수 있는 표준 방법입니다.
수동 업그레이드 (직접 파일 업로드)
사용자가 원하는 버전의 RouterOS를 라우터에 업로드하여 업그레이드합니다.
자동 업그레이드 (회사/학교 등 중대규모 또는 폐쇄망 환경용)
자동/로컬 업그레이드
미크로틱 라우터 중 하나를 업데이트 서버로 지정하고 다른 라우터에서 이를 다운로드할 수 있습니다.
업그레이드 서버 라우터에 원하는 버전의 파일을 직접 업로드하거나 미러 서버로부터 자동 다운로드할 수 있으며, 주로 폐쇄망 환경에서 활용됩니다.
OS 버전에 따라 System 메뉴에 Auto Upgrade 또는 Packages - Local Upgrade에 표시됩니다.
Dude로 업그레이드
MikroTik의 중앙 집중식 네트워크 모니터링 툴인 Dude에서 업그레이드 서버로 활용 및 특정 라우터를 업그레이드 시킬 수 있습니다.
Netinstall (라우터 포맷 및 완전한 OS 재설치)
etherboot 모드로 진입한 라우터를 컴퓨터와 직접 연결해야 하며, Netinstall 소프트웨어로 깨끗하게 포맷 & 재설치할 수 있습니다.
표준 또는 수동 업그레이드 후 예기치 못하게 오동작하는 경우 Netinstall로 완전히 재설치하면 해결되는 사례가 종종 있습니다.
Resources의 Bad Block 값이 5%를 초과한 경우, Netinstall로 라우터/스위치의 OS를 다시 설치해야 합니다. 이는 설치 과정에서 mtd로 flash erase를 거치면서 마킹된 불량 블록 정보가 갱신되기 때문입니다. (불량 블록을 없앨 수는 없습니다. 단지 마킹 테이블을 갱신하여 해당 위치에 데이터를 쓰지 않도록 피하는 것입니다.)
여기서는 RouterOS의표준 및 수동 업그레이드 방법만 설명합니다.
자동 및 Netinstall을 설명하려면 개별 가이드 작성이 필요한 분량이 발생하므로 건너뛰었으며, 아래 공식 가이드를 참고하시기 바랍니다.
WinBox에서 매우 간편하게 최신 버전의 RouterOS로 업그레이드 하는 방법을 설명합니다.
기본적으로 RouterOS에 추가 패키지가 설치된 경우, 업그레이드하려면 해당 버전의 추가 패키지 파일까지 함께 넣어야 합니다.
그러나 표준 업그레이드 기능을 사용하면설치된 추가 패키지의 최신 버전까지'알아서' 다운로드 및 설치해주므로 매우 쉽게 적용할 수 있습니다.
1. WinBox 좌측 메뉴에서 System - Packages를 차례대로 누르면 표시되는 Package List 창에서 우측의 Check For Updates를 누릅니다.
2. Check For Updates 창이 표시됩니다.
Channel : 소프트웨어 배포판 채널을 선택합니다.
Development : 신규 변경 사항을 적용하여 비정기적으로 출시하는 개발용 알파 버전입니다.
Testing : 출시 후보(RC) 중 하나이며, 수 주마다 출시되는 베타 버전이므로 '변경사항 테스트' 목적에 적합하며 프로덕션 목적으로는 권장하지 않습니다.
Stable : 새로운 기능과 수정 사항을 포함한 안정적인 버전이며, 수 개월마다 출시됩니다. (권장)
Long-term : Stable 버전에서 장기간 검증된 출시판에 대해 보안 및 버그 패치 등 중요한 수정 사항만 적용하여 출시됩니다. (실제 운용 환경에서 권장) 단, 현재 RouterOS v7에서는 LTS 채널이 없으므로 사용할 수 없습니다.
Version : 현재 설치된 버전과 최신 버전 정보를 표시합니다.
Changelogs : 선택한 채널에 출시된 최신 버전의 변경 사항을 표시합니다.
Download: 최신 버전의 RouterOS 패키지를 라우터에 다운로드 합니다.
설치된 추가 패키지가 있는 경우 해당 패키지의 최신 버전까지 알아서 다운로드 됩니다.
다운로드가 완료되더라도 설치는 하지 않으며, RouterOS 재부팅시 설치됩니다.
Download & Install: 최신 버전의 RouterOS 패키지를 라우터에 다운로드 후 자동 재부팅하여 설치합니다.
설치된 추가 패키지가 있는 경우 해당 패키지의 최신 버전까지 알아서 다운로드 및 설치됩니다.
Download 또는 Download & Install을 누르면 아래 이미지와 같이 진행률이 표시되며, 최신 버전의 시스템 및 추가 패키지를 임시 공간에 다운로드 합니다.
여기서 중요한 부분은Download와 Download & Install 명령간의 차이입니다.
1. Download를 누르면 최신 패키지를 라우터에 '다운로드' 하지만, 자동으로 설치되지는 않습니다.
다운로드된 패키지는사용자가 원할 때WinBox 좌측 메뉴 - System - Reboot을 눌러소프트 리부트 작업을 수행해야재부팅되며 비로소 설치됩니다.
라우터를 재부팅하면 그 시간 동안 모든 링크가 끊기므로 통신 장애가 발생하고, 중규모 이상의 네트워크 환경에서는 아무리 VRRP로 이중화가 되었다고 하더라도 링크 복구 및 일관된 라우팅 테이블의 갱신(컨버전스) 등의 시간이 소요되므로 매우 부담스러운 일입니다.
따라서 RouterOS를 업그레이드 하고 싶지만, 당장 재부팅하기에는 곤란한 상황이나 주기적으로 라우터를 재부팅하는 사용자에게 유용합니다.
2. Download & Install를 누르면 최신 패키지를 다운로드하고, 완료되면자동으로 재부팅 및 설치됩니다.
이는 당장 라우터를 재부팅하더라도 문제 없는 상황에서 매우 간편하고 유용합니다.
상기된 Download 후 수동 재부팅 또는 Download & Install로 자동 설치하여 표준 업그레이드를 수행하면 RouterOS를 매우 간단하게 최신 버전으로 유지할 수 있습니다!
참고 : RouterOS 출시 과정 순서도
수동 업그레이드 하기 (버전 선택 가능)
원하는 버전의 RouterOS 패키지를 직접 라우터/스위치에 업로드하여 업그레이드할 수 있습니다.
참고 : 저사양 기기에서 수동 업그레이드시 주의하세요.
자동 또는 수동 업그레이드 진행시, 패키지 파일는 램디스크에 임시 저장됩니다.
RouterOS의 메인 패키지는 10MB에 불과하지만 무선 패키지 등의 추가 패키지를 포함할 때 15MB 전후의 크기가 되는데, 여기서 문제가 발생할 수 있습니다.
hAP lite 등의 저사양 기기의 경우 RAM 용량이 32MB에 불과하며, 그외 64MB 이하인 기기라면 가용 메모리 용량이 크기 않기 때문에 필요한 파일을 업로드 할 수 없거나 업로드 하더라도 시스템이 메우 불안정해지므로 실패할 가능성이 있습니다.
이런 경우 재부팅 등으로 RAM 공간을 충분히 확보한 뒤에 진행하거나, 표준/수동 업그레이드보다는 Netinstall로 완전히 재설치하시기 바랍니다.
올바른 RouterOS 패키지를 다운로드하려면반드시 설치하려는 라우터의 CPU 아키텍처 종류를 알아야 합니다.
1. WinBox 좌측 메뉴에서 System - Resources를 차례대로 누르고, 표시된 Resources 창에서 'CPU' 항목의 정보를 확인합니다.
모델에 따라 arm / arm64 / tilegx (=tile) / mmips / mipsbe / x86(CHR) 등의 값이 표시될 것입니다.
2. 상기된 [설치된 패키지(Package) 종류와 버전 확인하기] 섹션에서 소개된 방법으로 시스템에 설치된 추가 패키지가 있는지 확인합니다.
위 이미지를 기준으로, 현재 RouterOS를 상위 버전으로 업그레이드 하려면 상위 버전의 ups, user-manager, zerotier 패키지 파일도 함께 준비해야 됩니다.
[참고] 와이파이(Wi-Fi) 기능이 포함된 모델의 추가 패키지 선택 요령
현재 사용 중인 라우터가와이파이 지원 기종이라면 아래 내용을 꼭 읽어보시기 바랍니다.
위 이미지는 hAP ax3의 패키지 목록인데, 시스템 패키지 아래에 wifi-qcom이라는 추가 패키지가 설치되어 있습니다.
이는 Wi-Fi 6 지원 모델의 무선 드라이버 패키지이며, 와이파이 동작을 위해서는 해당 추가 패키지가 반드시 필요합니다.
RouterOS v7.13을 기점으로 CAPsMAN과 무선 드라이버 패키지가 완전히 분리되어필요한 무선 드라이버 패키지를 설치해야만 무선(와이파이) 인터페이스를 올바르게 인식할 수 있습니다.
[wireless] 패키지가 필요한 경우
MIPSBE 타입 CPU가 적용된 모든 레거시 무선 모델에 해당
hAP, hAP lite, hAP AC, hAP AC lite, cAP lite 등
상기 모델 및 wireless 패키지는 WPA3 인증이나 802.11k/v/r 로밍, MU-MIMO, OFDMA 등 wave2 이후 주요 기능을 지원하지 않습니다.
[wifi-qcom-ac] 패키지가 필요한 경우
ARM CPU를 적용한 Wi-Fi 5 지원 기종에 해당
Audience
Audience LTE kit
Chateau (모든 D53 파생 모델)
RB4011iGS+5HacQ2HnD-IN (5GHz 전용)
hAP ac2
hAP ac3
cAP ac
cAP XL ac
LDF 5 ac
LHG XL 5 ac
LHG XL 52 ac
NetMetal ac^2
mANTBox 52 15s
wAP ac (RBwAPG-5HacD2HnD)
SXTsq 5 ac 등
[wifi-qcom] 패키지가 필요한 경우
모든 Wi-Fi 6 지원 모델
hAP ax2
hAP ax3
hAP ax lite
cAP ax
wAP ax
Chateau PRO ax 등
위 내용을 정리한다면, 아래와 같습니다.
hAP ac 에서 와이파이를 사용하려면 반드시 'wireless' 패키지를 추가로 설치해야 합니다.
hAP ac2 에서 와이파이를 사용하려면 반드시 'wifi-qcom-ac' 패키지를 추가로 설치해야 합니다.
hAP ax3 에서 와이파이를 사용하려면 반드시 'wifi-qcom' 패키지를 추가로 설치해야 합니다.
참고로 RB4011iGS의 와이파이 모델 (RB4011iGS+5HacQ2HnD-IN)은 v7.13부터 2.4G와 5G 무선을 동시에 사용할 수 없습니다.
이는AR9582(2.4G) + QCA9984(5G)라는 이상한 패브릭 디자인 때문인데, AR9582는 레거시 wireless 패키지가 필요하고 QCA9984는 wave2용 wifi-qcom-ac 패키지가 필요하지만 두 패키지와 무선 장치는 더 이상 양립할 수 없으므로두 주파수 중 하나만 사용할 수 있습니다.
FortiGuard라이선스가 만료된 경우, FortiGate의 각기능별 동작 가능 여부이다.
Firewall: 라이선스가 만료 되더라도 방화벽 기능은정상 동작한다.
HA: HA 기능도 라이선스와 상관없이 여전히동작한다.
AntiVirus(AV): 바이러스 탐지 기능은여전히 동작하지만, 라이선스가 만료되면 신규 바이러스에 대한 대응시그니처의 업데이트가 불가능하다.
Anti-Malware: Anti-Malware 엔진은 정상동작하지만, 새로운시그니처의 업데이트는 불가능하다.
IPS: 침입 탐지 기능은 정상적으로 동작하지만, 새로운시그니처 업데이트는 불가능하다.
Application Control: Application Control 기능은 정상적으로 동작하지만, 새로운 Application 및 새로운 버전의 Application에 대한시그니처 업데이트는 불가능하다.
VPN: IPsec VPN, SSLVPN 기능 모두정상 동작한다.
Web Filtering: Web Filtering 엔진은 여전히 동작하지만, FortiGuard로부터 Query에 대한 응답을 받지 못하기 때문에raiting 에러로web 접속이 불가능할 수 있다. FortiGuard로 Query 하지 않는 Static URL Filter 같은 기능은 라이런스가 만료되어도 여전히 사용 가능하다.
DNS Filtering: Web Filter와 동일하게FortiGuard로 query가 불가능하다. 사용자 지정 기능은 사용 가능하다.
SD-WAN: 라이선스와 상관없이정상 동작한다.
Advanced Routing: 라이선스와 상관없이정상 동작한다.
QoS & Traffic Shaping: 라이선스와 상관없이정상 동작한다.
Explicit proxy & WAN Optimization: 라이선스와 상관없이정상 동작한다.
FortiGate의 Interface가DHCP 또는 PPPoE로 IP를 할당 받은 경우, FortiGate에설정된 DNS를 사용하지 않고 DHCP 또는 PPPoE에서 할당 받은 DNS 서버를 사용하는 경우가 있다.
이는 Interface 설정의"Override internal DNS"옵션 영향이다.
Interface는 위와 같이"Override internal DNS"가 enable설정되어 있는 상황에서, System > DNS 설정에서 FortiGuard DNS를 사용하도록 설정 되어 있다.
FortiGate의 DHCP 서버의 DNS Server 설정이"Same as System DNS"라고 설정되어 있지만, FortiGate로 부터 IP를 할당받는 DHCP Client의 DNS는 "Override internal DNS"옵션에 의해 '168.126.63.1'과 '168.126.63.2'가 할당된다.
FortiGate DHCP Server 설정
DHCP Client의 DNS Server 확인
하지만FortiGate가 직접 사용하는 DNS는 DNS Protocols 옵션에 따라 조금 다르게 동작한다.
FortiGate에서 출발하는 DNS query를 암호화 해서 보내는 TLS, HTTPS 방식이 있고, 일반적인 Clear text로 보내는 UDP 방식이 있다. 암호화 해서 보내는 TLS, HTTPS 방식을 사용하려면 서버도 이를 지원해야 한다.
위 예에서 '168.126.63.1'과 '168.126.63.2'의 경우 TLS 방식을 지원하지 않는다.
DNS Protocols 옵션을 TLS로 설정하게 되면 서버가 지원하지 않는 방식이기 때문에, FortiGate에서 출발(사용)하는 DNS query는 FortiGate에 설정된 FortiGuard DNS를 사용하게 된다.
하지만 DNS Protocols 옵션을 UDP로 설정하게 되면 168.126.6.1(2) 서버가 지원방식이기 때문에, FortiGate에서 출발(사용)하는 DNS query는 "Override internal DNS"옵션에 의해 '168.126.63.1'과 '168.126.63.2'가 사용된다.
FortiGate에서는 "*.etevers.com" 처럼 wildcard FQDN을 이용하여 방화벽 정책이나, SSL inspection의 예외처리등에 사용 할 수 있다.
일반적인 FQDN(예 :www.eteversebt.com)과wildcard FQDN의 IP를 DNS query를 통해 확인하게 되는데, 그방식이 서로 다르다.
일반적인 FQDN의 경우 FortiGate에 설정된 DNS를 이용하여 FortiGate에서 출발하는 DNS query방식이고,wildcard FQDN의 경우 FortiGate를 통과하는 트래픽에서 IP를 획득한다. 즉 사용자 트래픽의 DNS query에서 IP를 획득하는 방식이다.
내부에서 외부로의 허용되는 방화벽 정책이 disable 된 예이다.
내부에서 외부로 방화벽 정책 disable
이 상황에서 일반적인 FQDN은 FortiGate가 스스로 IP를 resolve 하지만, FortiGate를 통과하는 트래픽이 없는 상태라서 wildcard FQDN은 IP를 획득하지 못한다.
외부로의 트래픽을 허용하고, 내부에서 wildcard FQDN에 대해서 DNS query가 발생하면 할수록 IP를 계속해서 획득하게 된다.
FortiGate를 통과하는 DNS query에서 IP resolve
위에서와 같이 Wildcard FQDN은 FortiGate를 통과하는 DNS query에 대해session helper를 처리하면서 IP를 획득하게 된다.
포티게이트 방화벽을 통해 IPsec 을 구성하여 전혀 다른 인터넷을 건너 특정 네트워크 영역에 존재하는 내부 네트워크에 접속할 수 있습니다.
전에 구성한 SSL VPN과는 다르게, 이는 IPsec을 지원하는 장비가 최소 2대 있어야 합니다.
일반 사용자가 이용하기에는 부담이 있으며, 기업 과 기업간에 이용하는 것이 대표적이라고 생각됩니다.
IPsec 을 위한 흐름도
115.23.91.x 아이피를 할당받은 포티게이트 본사( 본사라고 칭함 )의 내부 네트워크 영역 192.168.10.0/24에서 121.148.205.x 아이피를 할당받은 포티게이트 지점 ( 지점이라고 창함 )의 내부 네트워크 영역 192.168.20.0/24 간 Site to Site 통신을 하는 것을 목표로 두었습니다.
알아야 할 점
각 두 개의 포티게이트는 NAT을 적용받지 않았습니다.
그래서 다이렉트로 ISP의 공인 아이피를 할당 받은 상태입니다.
1. IPsec 마법사를 통해 초기 구성
VPN => IPsec Wizard 에 위치해 있으며 마법사를 통해 간단하게 구성을 할 수 있습니다.
1-1 본사( 115.23.91.x )에서 IPsec 구성
본사에서 먼저 지점을 향한 IPsec의 구성을 하겠습니다.
Site to Site 가 기본적이며, NAT 구성에서 No NAT between sites 인 경우에는 IPsec을 구성하는 포티게이트가 라우터등에 의해서 NAT의 적용을 받지 않는 경우여야 합니다.
저는 이에 해당하므로 이대로 Next 하겠습니다.
그 다음 포티게이트가 향하는 목적지의 아이피 ( remote iP )를 집어넣습니다.
Pre-shared KEY는 최소 6자리 이상의 값을 받습니다.
그 다음은 서로 다른 내부 네트워크 영역을 연결하기 위해 설정하는 부분입니다.
Local subnets은 현재 설정 중인 포티게이트의 LAN 내부 네트워크 영역 서브넷을 넣으면 되며,
Remote 는 연결의 대상이 되는 내부 네트워크 서브넷을 입력하면 됩니다.
Create 를 누르면 생성을 하고 완료합니다.
1-2 지점( 121.148.205.x )에서 IPsec 구성
본사 => 지점 방향으로 구성하였으니,
이제는
지점 => 본사를 방향으로 구성하면됩니다.
전과 같이 Site to Site 그리고 No NAT between sites 로
상황이 맞으니 NEXT
이젠 Remote IP 에서 본사쪽으로 아이피를 입력합니다.
Pre shared KEY는 서로 같게 합니다.
전과 같이 내부 네트워크 영역을 서로 연결하기 위해 알맞게 구성합니다.
이제 모두 생성하였습니다.
2. IPsec 터널링 활성화 ( Bring up )
VPN => IPsec Tunnels 이동
각 포티게이트에서 접속하여 확인하였습니다.
이제 생성한 2개의 터널을 활성화 시켜주어야 합니다.
원래는 좌측 메뉴 맨 아래에 Monitor 가 있었는데,
6.x.x 몇? 버전 이후에는 통합되었다고 저는 들었습니다.
그래서 따로 Dashboard => + 버튼을 통해 IPsec Monitor를 찾아야 합니다.
+를 누르고 위 사진과 같이 IPsec을 선택합니다.
그럼 바로 구성된 터널이 보입니다. ( 지점 포티게이트에서 보았을 때, 어느 한쪽이어도 상관X )
그럼 저 부분을 우클릭하여 Bring up 버튼을 누르면 위 사진과 같이 초록색 업로드 같은 아이콘이 생기면 활성화가 잘 된 것입니다. 안되는 경우는 구성이 잘못된 것입니다.
3. IPsec 망을 이용할 때 모니터링 상황
IPSec Monitor
IPsec Monitor 에서는 IPsec을 사용하면서 주고 받은 패킷 데이터들의 총량을 보여주며, 더 자세히는
Incoming, Outgoing 오고 가는 인터페이스마다 패킷의 크기들을 보여주었습니다.
Events
Log & Report => Events
또한 이벤트를 통해, IPsec 연결이 되는 위한 협상 ( negotiate )에 관한 정보를 알 수 있었습니다.
Firewall Policy
방화벽 정책을 통해
IPsec에 사용되는 인터페이스를 선택하여 추가적인 모니터링을 수행할 수 있습니다.
security 적용, 패킷캡처 기능 추가, 등등..
저는 지점을 향하는 본사의 IPsec 인터페이스 를 Edit 하고, 모든 세션을 기록하고, 패킷 캡처를 수행하도록 설정하였습니다.
그러고 나니, Forward Traffic에서 본사 네트워크 ( 192.168.10.10 )에서 지점 네트워크 (192.168.20.20 )로 SSH 요청 한 트래픽이 로그에 남기게 되었습니다.
더블 클릭하여 세부적인 정보를 볼 수 있습니다.
서비스 SSH, 목적지 아이피 포트는 22 등등
그 옆 Archived Data 를 통하여 패킷을 pcap 형식으로 다운받아 자세히 볼 수 있습니다.
하나의 명령으로 가능한 FortiGate에서 클라우드 통신을 모두 비활성화하고 싶을때 사용.
config system global set cloud-communication disable end
Disable all cloud communication
All cloud communication can be disabled with the following CLI command:
config system global
set cloud-communication disable
end
Theforticlddandupdateddaemons are shutdown, and multiple settings are disabled.
The following settings are automatically changed:
config system global
set endpoint-control-fds-access disable
set fds-statistics disable
unset fgd-alert-subscription
set security-rating-result-submission disable
end
config system central-management
set type none
set include-default-servers disable
end
config system fortiguard
set service-account-id ''
set auto-join-forticloud disable
set sandbox-region ''
set antispam-force-off enable
set outbreak-prevention-force-off enable
set webfilter-force-off enable
end
config system email-server
set server ''
end
config system ntp
set ntpsync disable
end
config system autoupdate push-update
set status disable
end
config system autoupdate schedule
set status disable
end
config system autoupdate tunneling
set status disable
end
config log fortiguard setting
set status disable
end
config vpn ocvpn
set status disable
end
config log fortiguard override-setting
set override disable
end
To reenable cloud communications, each individual setting must be changed after running the following CLI command:
config system global
set cloud-communication enable
end
For example, to reenable automatically connecting and logging in to FortiCloud:
config system global
set cloud-communication enable
end
config system fortiguard
set auto-join-forticloud enable
end
<아래것 CLI에 입력>
config system fortiguard
set auto-join-forticloud disable
end