Profile picture

[OPNsense 가이드] 오픈 소스 방화벽(OPNsense) 가이드 [1] - 규칙 설정하기

JaehyoJJAng2025년 01월 15일

개요

LAN 인터페이스의 초기 방화벽 규칙 내용과, 새로운 인터페이스 생성, 방화벽 규칙을 적용하는 방법에 대해서 기록해보려고 합니다.


LAN 인터페이스 살펴보기

OPNsense를 최초로 구축 시 생성되는 기본 LAN 인터페이스에 대해 먼저 알아볼게요.


우선 OPNsense 웹으로 이동 후 좌측 메뉴에서 Interfaces를 클릭합시다.

그러면 LAN이라는 이름의 인터페이스를 볼 수 있는데요. 여기서 이 인터페이스 정보를 한 번 살펴볼게요.
image


하단에 보시면 LAN 인터페이스는 생성될 때 기본적으로 IP 주소를 192.168.1.1로 하고 있으며 Prefix는 /24입니다.


하단에 연결된 호스트를 192.168.1.0/24 대역에 위치시켜서 웹 UI를 통해 방화벽에 접속, 관리를 할 수 있는 기본이 되는 인터페이스라고 보면 됩니다.


방화벽 규칙 살펴보기

방화벽 규칙 또한 왼쪽 메뉴에서 찾을 수 있습니다.

Firewall -> Rules -> LAN으로 이동해주세요.

그럼 아래와 같은 화면이 나옵니다.
image


LAN 인터페이스의 경우에는 기본적으로 IPv4/IPv6 주소의 모든 소스에 대해서 모든 목적지로의 트래픽이 허용되어 있습니다.

이런 이유는 LAN 인터페이스가 기본이 되는 인터페이스인 데다가, Web UI 접속을 위한 인터페이스이기 때문입니다.

화면에 표시된 IPv4 규칙을 보겠습니다.


맨 왼쪽에 초록색 삼각형이 보이시나요?

해당 표시는 현재 규칙이 활성화되어 있다는 뜻 입니다.

왼쪽에서 오른쪽으로 향한 화살표는 방화벽으로 들어오는 방향의 트래픽에 대한 규칙이라는 뜻이에요.

그 외에 PortDestination* 표셔니느 Any의 의미로 모든 것을 의미한다고 생각하시면 됩니다.


새로운 인터페이스 할당 방법

이번에는 OPNsense 방화벽에 또 다른 단말이 붙었다고 가정해보겠습니다.
image

오른쪽에 새롭게 붙은 [Internal]은 완전히 다른 네트워크인 192.168.100.0/24 대역에 위치해있습니다.

그리고 OPNsense의 인터페이스가 해당 네트워크의 Gateway 역할을 하도록 설정하겠습니다.


우선 OPNsense의 Web UI에서 해당 인터페이스를 할당하고, 활성화해줘야 합니다.

왼쪽 메뉴에서 Interface -> Assignments로 이동해주세요.

그러면 아래와 같은 화면이 나오는데요.

여기서 현재 이 방화벽의 인터페이스 중 아직 할당되지 않은 유휴 인터페이스가 있다면 아래와 같이 선택하여 할당할 수 있습니다.
image
저는 vtnet2 인터페이스를 새롭게 할당해주도록 하겠습니다.


Save를 눌러 인터페이스를 생성해주면 Interface 메뉴에 위에서 생성한 인터페이스가 새롭게 추가됩니다.

이를 클릭해서 인터페이스 설정을 해볼게요.


image
먼저 최상단의 Enable 체크박스를 클릭하여 활성화 시켜주면 해당 인터페이스가 활성화됩니다.

이 인터페이스를 실수로 삭제하는 것을 막고 싶다면 아래 Lock 부분에 체크박스를 활성해주세요.


image
화면을 아래로 드래그하면 해당 인터페이스에 대한 설정을 할 수 있습니다.

우선 상단의 Block Private Networks는 말그대로 사설 네트워크에 대한 접근을 막는 옵션으로, 현재 저는 이 인터페이스를 사설 네트워크로 사용할 것이기에 필요 없습니다.

참고로 WAN 인터페이스에서는 보안상 이유로 사설 네트워크에서 접근하는 것을 막아두고 있어요.


image
아래에 보면 해당 인터페이스의 IP 주소 타입을 선택할 수 있는데 저는 IPv4의 Static 형식을 사용하도록 하겠습니다.

저는 위에서 언급했던 192.168.100.0/24 대역의 네트워크를 사용할 것이며, 이 인터페이스의 주소는 해당 네트워크의 게이트웨이 주소가 될 것입니다.

설정을 다 하시면 Apply Changes를 눌러 설정을 적용해주세요.


테스트를 위해 Host 1(192.168.1.10)에서 Host 2(192.168.100.10)으로 Ping 테스트를 진행해보겠습니다.
image Host 1측에서 Host 2로 Ping 테스트 진행 결과 정상적으로 인터페이스 할당이 잘 이루어진 것을 볼 수 있습니다.


Host 2측에서도 192.168.100.10/24 대역으로 IP를 할당 하였고, Host 2 -> Host 1로 Ping 테스트를 진행해보겠습니다.
image
그러나 Host 2측에서는 OPNsense와 연결된 인터페이스의 게이트웨이 주소로도, Host 1로도 Ping 테스트가 진행되지 않습니다.


사실 그 이유는 새로 할당한 Internal 인터페이스의 방화벽 규칙 때문입니다.

다시 OPNsense의 웹 UI로 돌아와서 Firewall -> Rules -> internal로 이동하겠습니다.
image
화면에서 볼 수 있듯, 사용자가 Pass 규칙을 따로 설정하지 않으면 해당 인터페이스로의 모든 트래픽에 대한 차단을 수행합니다.

방화벽에서는 기본적인 작동 방식으로 특별한 규칙을 설정하지 않으면 기본적으로 All Deny 처리가 됩니다.

그래서 앞서 Host 2에서의 Ping 테스트가 실패했던 것입니다.


그럼 먼저 internal 측에서 나가는 트래픽을 모두 통과시키는 규칙을 만들어보겠습니다.

오른쪽 빨간색 '+'을 클릭할게요.

그러면 기본적으로 모든 출발지에 대해서 모든 목적지를 가진 방화벽으로 향하는 트래픽(in 트래픽)에 대해서 허용하는 규칙을 만들 수 있습니다.
image


Internal 인터페이스에 대한 규칙 생성 후 다시 Host 2에서 테스트해보면
image
정상적으로 통신이 되는 것을 볼 수 있습니다.


마무리

사실상 위처럼 방화벽 규칙을 Any로 설정해버리면 방화벽을 사용하는 의미가 없겠죠?

모든 트래픽을 아무런 조건 없이 모두 받아들이겠다는 뜻이니까요!

다음 포스팅에서는 조금 더 복잡한, 고급 방화벽 규칙 설정 방법에 대해서 포스팅하겠습니다.

    Tag -

Loading script...