1. 들어가기 전에 — Alias란 무엇인가
1-1. 한 줄 정의
Alias(별칭) 는 IP 주소, 네트워크, 포트, URL 같은 값(value) 에 사람이 알아보기 쉬운 이름(name) 을 붙이는 기능입니다.
“Alias는 이름을 IP주소 혹은 포트 정보등으로 번역해 주는 동의어(synonym)와 같다.”
1-2. 비유로 이해하기
프로그래밍의 변수(variable) 와 똑같습니다.
[Alias 없이] [Alias 사용]
192.168.1.10 → WEB_SERVER
192.168.1.20 → MAIL_SERVER
2001:db8::1234:5678 → DB_SERVER_V6
80, 443, 8080, 8443 → WEB_PORTS방화벽 규칙 50개에 192.168.1.10이 들어가 있는 상황에서 IP가 바뀌면?
- Alias 없이: 50개를 모두 일일이 수정 ❌
- Alias 사용: Alias 한 곳만 수정하면 50곳에 자동 반영 ✅
2. 왜 Alias를 사용하는가 — 5가지 이점
| # | 이점 | 설명 |
|---|---|---|
| 1 | 유지보수 용이 | 값이 바뀌어도 한 곳만 수정 |
| 2 | 가독성 향상 | WEB_SERVER가 192.168.1.10보다 직관적 |
| 3 | IPv6 관리 필수 | 긴 16진수 주소를 외울 필요 없음 |
| 4 | 그룹핑 | 여러 IP/포트를 묶어서 한 번에 적용 |
| 5 | 재사용성 | 한 번 만들면 NAT, 방화벽, VPN 등 모든 곳에서 사용 가능 |
💡 “IPv6는 글자와 숫자가 너무 많아서 Alias 없이는 사실상 작업이 불가능하다.”
3. Alias의 6가지 타입
pfSense는 6가지 종류의 Alias를 제공합니다.
| 타입 | 한국어 | 저장하는 값 | 사용 예 |
|---|---|---|---|
| Host(s) | 호스트 | 개별 IP 주소 (1개 또는 여러 개) | 서버 IP, 관리자 PC IP |
| Network(s) | 네트워크 | 서브넷(CIDR) 또는 IP 범위 | LAN 대역, 지점 네트워크 |
| Port(s) | 포트 | 포트 번호 또는 범위 | 웹 포트, 게임 포트 묶음 |
| URL (IPs) | URL (IP) | URL에서 IP 목록을 다운로드 | 차단 IP 리스트 |
| URL (Ports) | URL (포트) | URL에서 포트 목록을 다운로드 | 거의 사용 안 함 |
| URL Table (IPs) | URL 테이블 (IP) | 대용량 IP 목록을 주기적 갱신 | 위협 인텔리전스 피드 |
| URL Table (Ports) | URL 테이블 (포트) | 대용량 포트 목록 갱신 | 거의 사용 안 함 |
📌 실무에서 주로 쓰이는 것은 Host, Network, Port 세 가지이며, 보안 강화 목적으로 URL Table (IPs) 가 가끔 사용됩니다.
4. Alias 명명 규칙 ⚠️ 반드시 기억할 것
4-1. 허용되는 문자
- ✅ 영문 대문자
A-Z - ✅ 영문 소문자
a-z - ✅ 숫자
0-9 - ✅ 언더스코어
_
4-2. 금지되는 것
- ❌ 공백 (스페이스)
- ❌ 하이픈
-, 점., 슬래시/등 특수문자 - ❌ 한글 등 비ASCII 문자
- ❌ 숫자로 시작 (반드시 영문자로 시작해야 함)
- ❌ 예약어 사용 (예:
lan,wan,pptp등 인터페이스 이름)
4-3. 좋은 이름 vs 나쁜 이름
| 좋은 예 ✅ | 나쁜 예 ❌ | 이유 |
|---|---|---|
WEB_SERVER | Web Server | 공백 포함 |
MAIL_SERVER_V6 | Mail-Server | 하이픈 포함 |
BRANCH_NETWORK | 2nd_Branch | 숫자로 시작 |
ADMIN_PCS | 관리자PC | 한글 사용 |
GAME_PORTS | lan | 예약어 |
4-4. 작명 컨벤션 권장사항
- 대문자 + 언더스코어 (예:
WEB_SERVER) — 가장 보편적 - 의미가 분명하도록 길게 써도 무방 (
OFFICE_PRINTER_FLOOR_3) - 동일 카테고리는 접두사로 묶기 (
SRV_WEB,SRV_DB,SRV_MAIL)
5. Alias 생성 — 실전 단계별 설정
5-1. 설정 경로
Firewall → Aliases → [IP / Ports / URLs / All]
탭 구성:
- IP: Host와 Network 타입
- Ports: Port 타입
- URLs: URL 관련 타입들
- All: 모든 Alias 한 번에 보기
5-2. 공통 입력 필드
| 필드 | 설명 |
|---|---|
| Name | Alias 이름 (4장의 명명 규칙 준수) |
| Description | 이 Alias의 용도 설명 (한국어 가능) |
| Type | Host / Network / Port / URL 등 |
| 값 입력란 | 타입에 따라 IP, 네트워크, 포트 등 입력 |
| 각 값의 Description | 개별 항목 설명 |
💡 Description에는 한국어를 사용해도 됩니다. Name만 영문 규칙을 지키면 됩니다.
6. 타입별 상세 사용법
6-1. Host(s) — 개별 IP 주소
용도: 서버, PC 등 특정 호스트 1개 또는 여러 개를 묶음
입력 예시
| Name | Type | IP or FQDN | Description |
|---|---|---|---|
WIN_SERVER | Host(s) | 192.168.1.10 | 사내 윈도우 서버 |
ADMIN_PCS | Host(s) | 192.168.1.50192.168.1.51192.168.1.52 | 관리자 PC들 |
특징
- IPv4와 IPv6 모두 가능
- 여러 IP를 한 Alias에 등록 가능 (각 IP에 개별 Description)
- FQDN(도메인 이름) 도 입력 가능 → pfSense가 주기적으로 DNS 조회해서 IP 갱신
💡 동적 IP 호스트(예: 동적 DNS를 쓰는 외부 서버)는 IP 대신 도메인을 입력하면 자동 추적됩니다.
6-2. Network(s) — 네트워크 대역
용도: 서브넷 전체 또는 IP 범위
입력 형식
- CIDR 표기:
192.168.10.0/24→ 192.168.10.0~192.168.10.255 전체 - IP 범위:
192.168.1.10-192.168.1.40→ 두 IP 사이의 모든 주소
입력 예시
| Name | Type | Network | Description |
|---|---|---|---|
BRANCH_NET | Network(s) | 192.168.10.0/24 | 지점 네트워크 |
WIFI_NET | Network(s) | 192.168.20.0/24 | 사내 WiFi 네트워크 |
DHCP_RANGE | Network(s) | 192.168.1.100-192.168.1.200 | DHCP 할당 범위 |
CIDR 빠른 참조
| CIDR | 호스트 수 | 사용 예 |
|---|---|---|
/32 | 1 | 단일 IP |
/30 | 2 | Point-to-Point |
/29 | 6 | 작은 서브넷 |
/28 | 14 | 작은 사무실 |
/24 | 254 | 일반 LAN (가장 흔함) |
/16 | 65,534 | 대규모 사설망 |
/8 | 16,777,214 | 매우 큰 사설망 |
6-3. Port(s) — 포트 번호
용도: 서비스 포트 묶음
입력 형식
- 단일 포트:
80 - 포트 범위:
8000:8100(콜론 사용 ⚠️) - 여러 포트: 각 항목으로 추가
입력 예시
| Name | Type | Port | Description |
|---|---|---|---|
WEB_PORTS | Port(s) | 80443 | HTTP, HTTPS |
GAME_PORTS | Port(s) | 27015:27030 | Steam 게임 서버 |
DEV_PORTS | Port(s) | 300080809000:9010 | 개발 서버 포트 |
⚠️ 포트 범위는 콜론(
:)을 사용합니다. 하이픈(-)이 아닙니다. (네트워크 IP 범위와 표기법이 다름)
6-4. URL (IPs) — URL에서 IP 목록 가져오기
용도: 외부 URL에 있는 IP 리스트를 다운로드해서 Alias로 사용
동작 방식
- pfSense가 지정한 URL에 접속
- 텍스트 형태의 IP 목록을 한 번 다운로드
- 결과를 Host Alias로 저장
사용 예
- 차단해야 할 악성 IP 리스트
- 허용 대상 파트너사 IP 목록
6-5. URL Table (IPs) — 대용량 + 자동 갱신 ⭐
용도: 수천~수만 개의 IP를 주기적으로 자동 갱신
URL과 URL Table의 차이
| 구분 | URL | URL Table |
|---|---|---|
| 다운로드 시점 | 생성 시 1회 | 주기적 자동 갱신 |
| 처리 방식 | 메모리에 보관 | pfSense의 pf 테이블 사용 |
| 적합한 크기 | 수십~수백 개 | 수천~수십만 개 |
| 갱신 주기 | 수동 | 일(day) 단위 설정 |
| 주 용도 | 정적 목록 | 위협 인텔리전스 피드 |
활용 예 (보안 강화)
- 알려진 악성 IP 차단 리스트 (Spamhaus, FireHOL 등)
- 국가별 IP 차단 (Geo-IP)
- 광고/추적 IP 차단
💡 pfBlockerNG 패키지는 이 기능을 더욱 강력하게 확장한 것입니다.
7. Alias가 사용되는 위치
한 번 만든 Alias는 pfSense의 거의 모든 IP/포트 입력란에서 사용 가능합니다.
사용 가능한 곳
| 위치 | 사용 예 |
|---|---|
| Firewall → Rules | Source/Destination에 Alias 사용 |
| Firewall → NAT | Port Forward의 대상 IP/포트 |
| VPN → OpenVPN/IPsec | 허용 클라이언트 IP |
| Services → DHCP | 정적 매핑 그룹화 |
| Traffic Shaper | 우선순위 부여 대상 |
| Captive Portal | 우회 허용 IP |
입력 시 사용 방법
입력란에 Alias 이름을 타이핑하면 자동완성 드롭다운에 나타납니다.
Source IP: WEB[자동완성] → WEB_SERVER 선택
8. 실전 활용 예제
예제 1: 사내 서버 그룹 관리
Alias 생성:
Name: INTERNAL_SERVERS
Type: Host(s)
Values:
192.168.1.10 (Web Server)
192.168.1.20 (Mail Server)
192.168.1.30 (DB Server)
활용:
방화벽 규칙: "INTERNAL_SERVERS는 외부 인터넷 접속 차단"
→ 서버 1대 추가 시 Alias에만 IP 추가하면 끝예제 2: 다중 사이트 환경
Alias 생성:
HQ_NET → 192.168.1.0/24 (본사)
BRANCH1_NET → 192.168.10.0/24 (지점1)
BRANCH2_NET → 192.168.20.0/24 (지점2)
ALL_BRANCHES → BRANCH1_NET, BRANCH2_NET (중첩 가능!)
활용:
VPN 라우팅, 방화벽 정책에 그룹별로 적용예제 3: 차단 리스트 자동화
Alias 생성:
Name: MALICIOUS_IPS
Type: URL Table (IPs)
URL: https://example-threat-feed.com/blocklist.txt
Update Frequency: 1 (일 1회 갱신)
활용:
WAN 인터페이스에 "MALICIOUS_IPS → 차단" 규칙
→ 매일 자동으로 최신 위협 차단예제 4: 개발/스테이징 포트 관리
Alias 생성:
DEV_PORTS: 3000, 8080, 9000:9010
ADMIN_PCS: 192.168.1.50, 192.168.1.51
활용:
"ADMIN_PCS만 DEV_SERVER의 DEV_PORTS에 접근 허용"
→ 개발자 PC 추가 시 ADMIN_PCS Alias에만 추가9. Alias 중첩 (Nested Alias) — 고급 활용
같은 타입의 Alias 안에 다른 Alias를 포함시킬 수 있습니다.
예시
HQ_SERVERS = 192.168.1.10, 192.168.1.20
BRANCH_SERVERS = 192.168.10.10, 192.168.10.20
ALL_SERVERS = HQ_SERVERS, BRANCH_SERVERS ← 중첩!주의사항
- 같은 타입끼리만 중첩 가능 (Host 안에 Network 불가)
- 너무 깊게 중첩하면 가독성 떨어짐 → 2~3단계 이내 권장
- 순환 참조(A 안에 B, B 안에 A) 금지
10. 자주 하는 실수 & 트러블슈팅
| 증상 | 원인 | 해결 |
|---|---|---|
| Alias 저장 시 오류 발생 | Name에 공백/특수문자 사용 | 영문+숫자+언더스코어만 사용 |
| Alias가 자동완성에 안 뜸 | 다른 타입 입력란에 사용 시도 | Host용은 IP 칸, Port용은 Port 칸에만 |
| URL Table이 비어 있음 | URL 접근 실패 또는 형식 오류 | URL 직접 접속 확인, 한 줄 한 IP 형식 확인 |
| FQDN Alias가 동작 안 함 | DNS 해석 실패 | pfSense의 DNS 설정 확인 |
| 변경 후 효과 없음 | Apply Changes 안 누름 | 상단 노란 버튼 클릭 |
| 포트 범위가 안 먹음 | 하이픈 사용 (80-90) | 콜론으로 변경 (80:90) |
| 인터페이스 이름과 충돌 | lan, wan 같은 예약어 사용 | 다른 이름으로 변경 |
11. 모범 사례 (Best Practices)
✅ 해야 할 것
- 명명 규칙 통일:
대문자_언더스코어일관 사용 - Description 충실히: 6개월 후의 자신을 위해
- 카테고리 접두사:
SRV_,NET_,PORT_등으로 분류 - 자주 변하는 값은 무조건 Alias로: 하드코딩하지 말 것
- 변경 이력 관리: pfSense 백업 활용
- 불필요한 Alias 정리: 미사용 Alias는 주기적으로 삭제
❌ 피해야 할 것
- 의미 없는 이름 (
alias1,test,temp) - 너무 짧은 이름 (
s1,web) - 너무 긴 이름 (40자 초과)
- Description 비워 두기
- 비슷한 이름의 Alias 남발 (
WEB1,WEB2,WEB3…)
12. 핵심 요약 (한 줄 정리)
- Alias는 IP/네트워크/포트/URL에 이름을 붙이는 변수와 같다.
- 6가지 타입: Host, Network, Port, URL, URL Table (실무는 앞 3개가 주력)
- 명명 규칙: 영문/숫자/언더스코어만, 영문자로 시작, 예약어 금지
- Description은 한국어 가능, Name만 영문 규칙 준수
- 한 번 만들면 NAT, 방화벽, VPN 등 모든 곳에서 재사용
- 값 변경 시 Alias 한 곳만 수정하면 모든 규칙에 자동 반영
- IPv6 환경에서는 Alias 사용이 사실상 필수
- 포트 범위는 콜론(
:), IP 범위는 하이픈(-) — 표기법 주의 - URL Table은 위협 인텔리전스 같은 대용량 자동 갱신 리스트에 사용
- 같은 타입끼리 Alias 중첩 가능 — 그룹의 그룹 만들기 가능
💡 마지막 한마디
Alias는 단순한 편의 기능처럼 보이지만, pfSense 운영의 효율성을 결정짓는 핵심입니다.
“규칙을 만들기 전에 Alias부터 만든다“는 습관을 들이면, 6개월 뒤의 자신이 고마워할 것입니다.