Add a VLAN to OPNsense in Just 26 Clicks Across 6 Screens

Michael Lynch

OPNsense에서 VLAN 하나 추가하는 데 클릭 26번, 화면 6개면 충분합니다

원문은 Michael Lynch님이 에 게재했습니다. 이 블로그 구독하기

OPNsense 방화벽에 새 VLAN을 하나 추가하는 데 클릭이 몇 번이나 필요할까?

별거 없다. 자체 IPv4 대역을 가진 평범하고 기본적인 VLAN일 뿐이다.

몇 번이면 될 것 같은가? 두세 번? 정말 많이 잡아도 다섯 번?

OPNsense에 새 VLAN을 추가할 때마다 과정이 이상하게 번거롭게 느껴져서, 내 방화벽에 간단한 VLAN 하나를 추가하는 데 정확히 몇 번의 클릭이 필요한지 정확히 측정해 보기로 했다.

결과는 이랬다:

  • 클릭 26회
  • 키 입력 71회
  • 서로 다른 화면/대화상자 6개
  • 서로 다른 워크플로 3개

그리고 이건 방화벽 규칙을 하나도 할당하기 전의 수치다!

Tab 키를 써서 클릭 일부를 키 입력으로 대체할 수도 있었겠지만, 평소에 하던 방식 그대로 재현해 보려 했다.

왜 이렇게 번거로운가?

과정 곳곳에서 OPNsense에게 “이 정도는 네가 알아서 처리하면 안 되나?”라고 묻고 싶어지는 순간이 한두 번이 아니다.

OPNsense 라우터에 VLAN을 추가할 때마다 이렇게 말해야 한다. “사실 LAN 인터페이스에 만들고 싶은데요, 이름이 알파벳 순으로 가장 빠르다는 이유로 당신이 기본값으로 골라준 그 임의의 연결 끊긴 인터페이스가 아니라요”라고:

접두사는 당신이 알아서 붙여 주세요

내가 임의의 VLAN 이름을 입력하기라도 하면, OPNsense는 투덜대며 이름 앞에 vlan 접두사를 붙이라고 고집한다:

OPNsense야, 임의로 입력하라고 필드를 줘 놓고! 특별한 접두사가 필요하다면 네가 알아서 붙이면 될 일 아닌가. 왜 접두사 입력까지 나한테 시키는 건데.

접두사 얘기가 나와서 말인데, DHCP 할당 단계에서 시작 범위와 끝 범위를 비워 두면 에러를 무려 개나 띄운다:

또 여기서도 “시작”과 “끝” 필드 모두에 192.168.10.을 직접 입력해야 한다. OPNsense도 이게 내가 입력할 수 있는 유일한 유효 접두사라는 걸 알면서 말이다. 왜 이걸 대신 해주지 않는 건가, OPNsense? 더 좋게는 그냥 서브넷 전체 범위를 기본값으로 넣어줘서 아무것도 입력하지 않아도 되게 하면 되잖아.

왜 이게 세 개의 워크플로로 나뉘어 있나?

영상 전체를 끝까지 볼 인내심이 없었다면 정리하자면, 표준 VLAN 하나를 만들려고 세 개의 워크플로를 따로 거쳐야 한다:

  1. VLAN 장치를 생성한다.
  2. 해당 장치에 대한 VLAN 인터페이스 할당을 생성한다.
  3. 해당 인터페이스에 대해 DHCP를 구성한다.

하지만 이건 전부 같은 VLAN 아닌가? 왜 한 화면에서 끝나지 않는 거지? 적어도 하나의 연속된 흐름으로라도 만들지, 왜 다음 워크플로를 찾아 OPNsense 설정 트리 전체를 뒤지게 만드는 건가.

내가 생각하는 이상적인 VLAN 생성 흐름은?

VLAN 생성 흐름이 질문 두 개짜리 대화상자 하나로 끝나면 안 되는 이유가 뭘까?

그리고 OPNsense가 알아서 이렇게 처리하면 된다:

  • 내가 방금 만든 VLAN을 활성화하려는 것으로 간주한다.
  • 해당 VLAN이 LAN 포트용이라고 간주한다.
  • 태그 번호를 세 번째 옥텟으로 하는 고정 IP 대역을 만들려는 것으로 간주한다(예: 192.168.10.0/24).
  • /24에서 사용 가능한 모든 IP를 사용해 DHCP를 활성화하려는 것으로 간주한다.

다른 모든 옵션은 “고급” 섹션 아래에 넣어 두면 된다. 그러면 되지, 왜 합리적인 기본값을 쓰지 않는 건가?

OPNsense에서 VLAN을 설정하는 방법에 대해 찾을 수 있는 모든 가이드는 다 이 설정을 쓰는데, 왜 그냥 기본값으로 해두지 않는 건가?

이쯤 되면 웹 UI가 과연 도움이 되고 있나?

OPNsense는 FreeBSD 유틸리티, 그중에서도 pf 방화벽Unbound DNS 서버를 친절한 UI로 감싸 주는 것이 본래 목적이다.

Linksys가 내놓는 폐쇄적이고 버그투성이인 가정용 방화벽 생태계에서 벗어나게 해준 OPNsense에 감사하고 있으며, 4년째 유료 라이선스를 사용하고 있다.

하지만 이제 둥지를 떠나 OpenBSD나 FreeBSD를 직접 실행하면서 간단한 스크립트로 원하는 걸 처리할 때가 된 것 같기도 하다. 둘 중 하나의 OS를 실행하고 이런 스크립트를 만드는 건 그리 어렵지 않아 보인다:

$ ./add-vlan --name='guest' --tag=10
Created VLAN "guest" with tag 10 and IP range 192.168.10.1 to 192.168.10.254

이 글은 muse-spark-1.2-contributor 모델을 사용해 번역했습니다.

댓글