* 이 게시물은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
(pfSense 홈랩 방화벽 ⑪)
앞 편에서 원리를 잡았으니 이제 손을 움직인다. 규칙 하나 만드는 건 버튼 몇 번이면 되지만, 순서를 어떻게 두느냐가 진짜 실력이다. 두 가지 실전 규칙을 만들어 본다.
1) 특정 기기 인터넷 차단
어떤 기기(예: 192.168.10.50)의 인터넷을 막고 싶다고 하자. Firewall > Rules > LAN에서 규칙을 추가한다. Action은 Block, Source는 그 기기 IP, Destination은 any. 그리고 이 Block 규칙을 기존 'allow to any' 규칙보다 위에 둔다. 위에 둬야 먼저 걸려서 막힌다. 아래 두면 allow가 먼저 잡아 무용지물이 된다.
2) IoT 망 격리 (핵심)
8편에서 나눈 IoT VLAN을, 이제 진짜로 격리한다. IoT는 인터넷은 되되 내 신뢰망(PC·NAS)으로는 못 넘어오게 막는 게 목표다. IoT 인터페이스 규칙을 이 순서로 짠다.
| 순서 | Action | Source | Destination | 의미 |
|---|---|---|---|---|
| 1 | Block | IoT net | LAN net | 신뢰망으로 못 감 |
| 2 | Pass | IoT net | any | 그 외(인터넷)는 허용 |
순서가 핵심이다. Block(→신뢰망)을 먼저 걸고, 그 아래 Pass(→any)를 둔다. 그러면 신뢰망행은 1번에서 막히고, 인터넷행은 2번에서 통과한다. 순서를 뒤집으면 Pass가 먼저 잡아 격리가 깨진다.
직접 해보기
- 클라이언트 IP를 하나 골라 Block 규칙을 만들고, allow 규칙 위로 올린다.
- 그 클라이언트에서 인터넷이 막히는지 확인하고, 규칙을 껐다 켜며 차이를 본다.
- (VLAN을 만들었다면) IoT→LAN 차단 + IoT→any 허용 순서로 격리 규칙을 짠다.
✅ 확인 — Block 규칙을 allow 위에 뒀을 때만 차단이 먹는 걸 눈으로 확인했다면 순서의 의미를 체득한 것이다.
3) 관리 화면·SSH는 특정 기기만
방화벽 자체의 보안도 규칙으로 챙긴다. pfSense 웹GUI와 SSH를 아무 내부 기기나 열 수 있으면 위험하다. 관리자 PC의 IP(또는 Alias)만 방화벽 관리 접근을 허용하고 나머지는 차단하자. 단, 스스로 잠기지 않도록 관리 IP를 정확히 넣고 콘솔 복구 방법(5편)을 알아둔 상태에서 한다. 관리 접근을 좁히는 게 방화벽 보안의 기본이다.
4) ‘유튜브 차단’은 방화벽만으론 어렵다
특정 사이트를 막는 건 IP 기반 방화벽만으론 잘 안 된다. 큰 서비스는 도메인이 CDN으로 수많은 IP에 흩어져 있어서다. 이럴 땐 DNS 차단(pfBlockerNG)이나 스케줄(14편)을 조합한다. 방화벽 규칙은 ‘IP·포트·방향’엔 강하지만 ‘도메인·콘텐츠’엔 다른 도구가 필요하다는 걸 알아두면, 엉뚱한 규칙으로 씨름하지 않는다.
규칙을 안전하게 바꾸는 법
규칙을 잘못 건드리면 스스로를 잠글 수 있다. 몇 가지 습관이 이를 막는다.
- 변경 전 설정 백업(27편)을 떠둔다.
- 위험한 변경은 규칙 Log를 켜고 관찰하며 적용한다.
- 잠기더라도 콘솔로 복구할 수 있음을 기억한다(5편).
- 큰 변경은 한 번에 말고 하나씩 확인하며.
여러 망에 공통 규칙 — Floating Rules
망이 늘면 인터페이스마다 같은 규칙을 반복하기 번거롭다. 여러 인터페이스에 공통으로 걸 규칙은 Floating Rules로 한 번에 처리한다(예: 모든 내부망에서 특정 포트 차단). 다만 플로팅은 방향·매칭 방식이 헷갈리기 쉬우니, 일반 규칙에 익숙해진 뒤에 쓰는 걸 권한다. 규칙은 결국 ‘순서가 정책’이라는 원리(10편) 위에서 움직인다.
규칙을 손에 익혔으니, 다음 편은 반대 방향 — 바깥에서 내부 서버로 들어오게 여는 NAT 포트포워딩이다.
🔧 현장에서 — 방화벽 출발지에 IP가 아니라 ‘그룹’을 넣는다
AWS에서 Internet → ALB:443 → EC2:80 구조를 쓸 때, EC2의 80 포트를 인터넷 전체에 열어야 하나 고민한 적이 있다. 결론은, EC2 Security Group의 80 Source를 인터넷 전체가 아니라 ALB의 Security Group 자체로 제한하는 것이었다. Internet은 ALB만, ALB만 EC2에 접근하도록 분리했다.
교훈 — 방화벽·보안그룹은 IP만으로 제어하는 도구가 아니다 — ‘상위 그룹 자체’를 출발지로 쓸 수 있다. pfSense 규칙도 Alias로 같은 발상을 쓴다.
자주 묻는 질문 (FAQ)
기본적으로 내부에서 인터넷은 다 되나요?
네, LAN에는 기본 ‘allow LAN to any’ 규칙이 있어 내부→외부가 허용됩니다. 막으려면 그 위에 block 규칙을 추가합니다.
특정 기기만 인터넷을 막으려면요?
그 기기의 IP(또는 Alias)를 출발지로 하는 block 규칙을 allow 규칙보다 위에 두면 됩니다.

답글 남기기