네트워크

벤더가 터널 모드를 없앤다고 했다 - 1인 관리자의 VPN 전환기

퇴근하고싶은 2026. 7. 25. 11:13

개요

  • FortiOS 7.6.3부터 SSL VPN 터널 모드가 GUI와 CLI에서 완전히 제거됐다
    전 모델 대상이고, 기존 설정은 업그레이드 시 이관되지 않는다.
  • 대안으로 IKEv2 + EAP-TTLS/PAP + FreeRADIUS + TOTP를 선택했다. 추가 라이선스 비용 0원.
  • 총 13편. 성공한 설정뿐 아니라 틀린 가설과 펌웨어 버그 추적 과정까지 쓴다.

이 글은 누구를 위한 글인가

FortiGate에서 SSL VPN 터널 모드로 원격접속을 운영하고 있고, 언젠가는 옮겨야 한다는 걸 알지만
아직 시작하지 않은 사람. 특히 EMS 라이선스가 없고, 예산 증액도 없고, 담당자가 본인 한 명인 경우.

읽고 나면 이 전환에 실제로 무엇이 걸리는지, 공식 문서에 없는 함정이 어디에 있는지 알게 된다.

강제된 마이그레이션이었다

이 프로젝트는 개선 과제로 시작하지 않았다. 릴리즈 노트 한 문단이 시작이었다.

FortiOS 7.6.3부터 SSL VPN 터널 모드는 표준 기반 IPsec VPN으로 대체됐다. GUI에서도 CLI에서도 더 이상 존재하지 않는다. 전 모델에 적용되며, 이전 버전의 설정은 업그레이드 시 이관되지 않는다.
준비 없이 업그레이드하면 원격접속이 그냥 멈춘다. 웹 모드는 "Agentless VPN"이라는 새 이름으로 남았지만,
터널 모드를 쓰던 사용자에게 브라우저 접속은 대체재가 아니다.

이건 "권장 사항"이 아니라 마감이 정해진 일이다. 그리고 마감을 늦추는 방법은 업그레이드를 안 하는 것뿐인데,
보안 장비에서 그건 선택지가 아니다.

우리 쪽 조건

항목값
사용자 약 150명 (상당수가 외부 현장에서 접속하는 기자)
방화벽 FortiGate 201F 2대, Active-Passive HA
인프라 담당 1명
추가 예산 없음
EMS 없음
기존 인증 SSL VPN + 로컬/LDAP

이 다섯 줄이 설계의 거의 모든 것을 결정했다. 특히 두 가지가 컸다.

"약 150명, 대부분 기자" 라는 조건. 사내 데스크에서만 쓰는 VPN이면 어렵지 않다.
문제는 정부 부처 기자실, 호텔 와이파이, 휴대폰 테더링, 취재 현장의 공용망까지 전부 커버해야 했다는 점이다.
이런 환경에서는 UDP 500/4500이 막혀 있는 경우가 흔하다. "우리 환경에서는 잘 되는데요"가 통하지 않는다.

"1명, 예산 없음" 이라는 조건. 이건 기술 선택 폭을 좁히는 게 아니라, 운영 복잡도의 상한선을 정한다.
지금 잘 붙는 구성보다, 6개월 뒤 혼자 장애 대응이 가능한 구성이 낫다. 이 기준으로 후보 몇 개가 초기에 탈락했다.

왜 이 시리즈를 쓰는가

전환 작업 중에 해외 커뮤니티를 계속 뒤졌다. 그러다 알게 된 게 있다.

같은 증상을 겪는 사람이 아주 많고, 각자 다른 원인으로 같은 증상을 보고 있었다. 어떤 사람은 정책의 ASIC 오프로드를 끄니 해결됐고, 어떤 사람은 클라이언트의 DH 그룹을 14 이상으로 올려 해결했고, 어떤 사람은 장치 관리자에 남아 있던 중복 Fortinet 어댑터를 지워 해결했다. 그런데 스레드에는 "해결됐습니다"만 남아 있는 경우가 대부분이었다. 어떻게 그 원인에 도달했는지가 없었다.

그래서 나에게 통한 해결책이 다른 사람에게 통할지 알 수 없었다. 실제로 커뮤니티에서 가장 많이 추천되는 해결책 하나는 우리 환경에서 전혀 효과가 없었다. (Part 8에서 다룬다.)

이 시리즈는 그 공백을 메우려는 시도다. 규칙을 하나 정했다.

틀린 가설을 지우지 않는다.

설정 최종본만 나열하면 검색해서 온 사람이 자기 상황에 이식할 수 없다. 디버깅은 가설을 세우고 실험으로 하나씩 배제해 가는 과정이고, 글도 그 순서대로 써야 재현이 된다. 내가 이틀을 태운 잘못된 방향이, 다른 사람에게는 "저건 아니구나"를 30초에 알려주는 정보가 된다.

검증 환경

구성요소버전 / 사양
방화벽 FortiGate 201F, FortiOS 7.4.11 (A-P HA)
RADIUS FreeRADIUS 3.0.20 / Rocky Linux 8.10
클라이언트 FortiClient 7.4.3 (VPN-only, 무료 배포판)
인증 IKEv2 + EAP-TTLS(inner PAP) + TOTP
규모 약 150 사용자

버전이 다르면 결과가 달라집니다. 특히 IPsec-over-TCP 동작은 7.4 브랜치와 7.6 브랜치가 다르고, 같은 7.4 안에서도 마이너 버전별로 다릅니다. 아래 내용은 위 조합에서만 검증했습니다.

시리즈 구성

구축편과 트러블슈팅편을 교차 배치했다. 구축편만 이어지면 지루하고, 트러블슈팅편만 있으면 맥락을 잃는다.

구축편

  • Part 1 — 왜 IKEv2 + EAP-TTLS + FreeRADIUS + TOTP인가 (탈락한 대안들 포함)
  • Part 2 — FreeRADIUS 3.0.20에 TOTP를 붙이기
  • Part 3 — FortiGate Phase1/Phase2와 IP 풀 설계
  • Part 4 — FortiClient VPN-only 프로파일 XML과 배포 포털

트러블슈팅편

  • Part 5 — IKE는 붙는데 인증이 안 된다: 원인이 5개였다
  • Part 6 — transport_mode="tcp"는 조용히 무시된다
  • Part 7 — authusrgrp를 쓰면 방화벽 정책의 그룹 매칭이 죽는다
  • Part 8 — IKE-over-TCP로 절반이 실패했다 (포스트모템)
  • Part 9 — VPN이 아니라 무선 드라이버였다

운영편

  • Part 10 — 하나의 게이트웨이 IP에 PSK 터널 여러 개 붙이기
  • Part 11 — 150명을 어떻게 옮겼는가: 공지, 저항, 롤백 계획
  • Part 12 — 다시 한다면 무엇을 바꿀까, 그리고 아직 안 끝난 것

다음 편에서는

Part 1에서 아키텍처 선택을 다룬다. 왜 인증서 기반이 아니라 PSK + EAP를 골랐는지, 왜 EAP-TTLS의 inner method가 PAP인지, 그리고 검토했다가 탈락시킨 VDI 방식은 왜 탈락했는지.

EAP를 골랐는지, 왜 EAP-TTLS의 inner method가 PAP인지, 그리고 검토했다가 탈락시킨 VDI 방식은 왜 탈락했는지.

반응형