방화벽 & NAT
원격 Client에는 일반적으로 inbound port forwarding이 필요하지 않습니다. 반대로 FRP Server 측 public entry point는 control, enrollment, published service를 받을 수 있어야 합니다.구성 A — Server가 공인 IP를 직접 가짐
Direct 기본:구성 B — Server가 Firewall/NAT 뒤 private IP
예시 DNAT:Published service port는 가능하면 1:1
Registry의 persistent port reservation과 실제 사용자가 접속하는 Internet port를 일치시키면 운영과 troubleshooting이 훨씬 단순해집니다.누가 무엇을 설정하나요?
Hairpin NAT / Split DNS
내부 사용자가fw.example.com을 조회했을 때 public IP로 돌아가면 firewall이 hairpin NAT를 지원해야 내부 FRP server로 다시 들어올 수 있습니다.
지원하지 않는다면 split DNS 같은 내부 DNS 설계를 고려하세요.
NAT 문제 확인 순서
- Public DNS/IP가 올바른 firewall을 가리키는지
- Public control port가 내부 FRP control listen port로 DNAT되는지
- Public enrollment HTTPS가 allocator/listen port로 DNAT되는지
- Published service port가 열려 있고 가능하면 1:1인지
- Client가 자기 네트워크에서 public endpoint에 도달 가능한지
- Server
frpctl doctor가 topology 문제를 보고하는지