개요
LAN 인터페이스의 초기 방화벽 규칙 내용과, 새로운 인터페이스 생성, 방화벽 규칙을 적용하는 방법에 대해서 기록해보려고 합니다.
LAN 인터페이스 살펴보기
OPNsense를 최초로 구축 시 생성되는 기본 LAN 인터페이스에 대해 먼저 알아볼게요.
우선 OPNsense 웹으로 이동 후 좌측 메뉴에서 Interfaces
를 클릭합시다.
그러면 LAN
이라는 이름의 인터페이스를 볼 수 있는데요. 여기서 이 인터페이스 정보를 한 번 살펴볼게요.
하단에 보시면 LAN 인터페이스는 생성될 때 기본적으로 IP 주소를 192.168.1.1로 하고 있으며 Prefix는 /24
입니다.
하단에 연결된 호스트를 192.168.1.0/24
대역에 위치시켜서 웹 UI를 통해 방화벽에 접속, 관리를 할 수 있는 기본이 되는 인터페이스라고 보면 됩니다.
방화벽 규칙 살펴보기
방화벽 규칙 또한 왼쪽 메뉴에서 찾을 수 있습니다.
Firewall
-> Rules
-> LAN
으로 이동해주세요.
LAN 인터페이스의 경우에는 기본적으로 IPv4/IPv6
주소의 모든 소스에 대해서 모든 목적지로의 트래픽이 허용되어 있습니다.
이런 이유는 LAN 인터페이스가 기본이 되는 인터페이스인 데다가, Web UI 접속을 위한 인터페이스이기 때문입니다.
화면에 표시된 IPv4
규칙을 보겠습니다.
맨 왼쪽에 초록색 삼각형이 보이시나요?
해당 표시는 현재 규칙이 활성화되어 있다는 뜻 입니다.
왼쪽에서 오른쪽으로 향한 화살표는 방화벽으로 들어오는 방향의 트래픽에 대한 규칙이라는 뜻이에요.
그 외에 Port
나 Destination
에 *
표셔니느 Any
의 의미로 모든 것을 의미한다고 생각하시면 됩니다.
새로운 인터페이스 할당 방법
이번에는 OPNsense 방화벽에 또 다른 단말이 붙었다고 가정해보겠습니다.
오른쪽에 새롭게 붙은 [Internal]
은 완전히 다른 네트워크인 192.168.100.0/24
대역에 위치해있습니다.
그리고 OPNsense의 인터페이스가 해당 네트워크의 Gateway 역할을 하도록 설정하겠습니다.
우선 OPNsense의 Web UI에서 해당 인터페이스를 할당하고, 활성화해줘야 합니다.
왼쪽 메뉴에서 Interface
-> Assignments
로 이동해주세요.
그러면 아래와 같은 화면이 나오는데요.
여기서 현재 이 방화벽의 인터페이스 중 아직 할당되지 않은 유휴 인터페이스가 있다면 아래와 같이 선택하여 할당할 수 있습니다.
저는 vtnet2
인터페이스를 새롭게 할당해주도록 하겠습니다.
Save
를 눌러 인터페이스를 생성해주면 Interface 메뉴에 위에서 생성한 인터페이스가 새롭게 추가됩니다.
이를 클릭해서 인터페이스 설정을 해볼게요.
먼저 최상단의 Enable
체크박스를 클릭하여 활성화 시켜주면 해당 인터페이스가 활성화됩니다.
이 인터페이스를 실수로 삭제하는 것을 막고 싶다면 아래 Lock
부분에 체크박스를 활성해주세요.
화면을 아래로 드래그하면 해당 인터페이스에 대한 설정을 할 수 있습니다.
우선 상단의 Block Private Networks
는 말그대로 사설 네트워크에 대한 접근을 막는 옵션으로, 현재 저는 이 인터페이스를 사설 네트워크로 사용할 것이기에 필요 없습니다.
참고로 WAN 인터페이스에서는 보안상 이유로 사설 네트워크에서 접근하는 것을 막아두고 있어요.
아래에 보면 해당 인터페이스의 IP 주소 타입을 선택할 수 있는데 저는 IPv4의 Static 형식을 사용하도록 하겠습니다.
저는 위에서 언급했던 192.168.100.0/24
대역의 네트워크를 사용할 것이며, 이 인터페이스의 주소는 해당 네트워크의 게이트웨이 주소가 될 것입니다.
설정을 다 하시면 Apply Changes
를 눌러 설정을 적용해주세요.
테스트를 위해 Host 1(192.168.1.10)
에서 Host 2(192.168.100.10)
으로 Ping 테스트를 진행해보겠습니다.
Host 1
측에서 Host 2
로 Ping 테스트 진행 결과 정상적으로 인터페이스 할당이 잘 이루어진 것을 볼 수 있습니다.
Host 2
측에서도 192.168.100.10/24
대역으로 IP를 할당 하였고, Host 2
-> Host 1
로 Ping 테스트를 진행해보겠습니다.
그러나 Host 2
측에서는 OPNsense
와 연결된 인터페이스의 게이트웨이 주소로도, Host 1
로도 Ping 테스트가 진행되지 않습니다.
사실 그 이유는 새로 할당한 Internal 인터페이스의 방화벽 규칙 때문입니다.
다시 OPNsense의 웹 UI로 돌아와서 Firewall
-> Rules
-> internal
로 이동하겠습니다.
화면에서 볼 수 있듯, 사용자가 Pass
규칙을 따로 설정하지 않으면 해당 인터페이스로의 모든 트래픽에 대한 차단을 수행합니다.
방화벽에서는 기본적인 작동 방식으로 특별한 규칙을 설정하지 않으면 기본적으로 All Deny
처리가 됩니다.
그래서 앞서 Host 2
에서의 Ping 테스트가 실패했던 것입니다.
그럼 먼저 internal
측에서 나가는 트래픽을 모두 통과시키는 규칙을 만들어보겠습니다.
오른쪽 빨간색 '+'
을 클릭할게요.
그러면 기본적으로 모든 출발지에 대해서 모든 목적지를 가진 방화벽으로 향하는 트래픽(in 트래픽
)에 대해서 허용하는 규칙을 만들 수 있습니다.
Internal
인터페이스에 대한 규칙 생성 후 다시 Host 2
에서 테스트해보면
정상적으로 통신이 되는 것을 볼 수 있습니다.
마무리
사실상 위처럼 방화벽 규칙을 Any
로 설정해버리면 방화벽을 사용하는 의미가 없겠죠?
모든 트래픽을 아무런 조건 없이 모두 받아들이겠다는 뜻이니까요!
다음 포스팅에서는 조금 더 복잡한, 고급 방화벽 규칙 설정 방법에 대해서 포스팅하겠습니다.