스마트 연결
Smart Connect는 fnOS 네이티브 FPK와 OpenWrt 런타임이 공인 IP 직접 연결 서브도메인 모드에서 제공하는 LAN 분할 DNS 기능입니다. 외부 네트워크에서는 계속 nas.example.com을 인터넷 진입점으로 확인하지만, LAN 기기는 로컬 dnsmasq에서 기기의 사설 IPv4를 받아 NAT 루프백과 불필요한 인터넷 경유를 피합니다.
DNS 조회 결과만 바꾸며 Host 매핑을 만들거나 외부 DNS를 수정하지 않고 실행 모드도 전환하지 않습니다.
사용 조건
다음 조건을 모두 충족할 때 활성화합니다.
- 현재
서브도메인 모드이며리버스 프록시 모드 → 서브도메인 매핑이 아닙니다. - 인증 Host와 하나 이상의 서비스 Host 매핑을 설정했습니다.
- fn-knock가 실행되는 기기에 안정적인 사설 IPv4가 있습니다.
- LAN 클라이언트가 이 기기를 DNS 서버로 사용합니다.
53번 포트에서 Smart Connect에 사용할dnsmasq가 수신 대기하며 충돌하는 다른 DNS 서비스가 없습니다.- 현재 fnOS 네이티브 FPK 또는 OpenWrt를 사용하며 root 권한, 호스트
dnsmasq및 서비스 관리 기능을 갖추고 있습니다.
서브도메인 진입점 설정은 서브도메인 모드 시작하기와 서브도메인 매핑을 참고합니다.
DNS 경로
외부 네트워크 기기 -> 공인 DNS -> 인터넷 진입점 -> fn-knock
LAN 기기 -> 로컬 dnsmasq -> 192.168.31.20 -> fn-knockSmart Connect는 현재 Host 매핑의 인증 Host와 서비스 Host를 자동으로 동기화합니다. 예시는 다음과 같습니다.
auth.example.com -> 192.168.31.20
nas.example.com -> 192.168.31.20
alist.example.com -> 192.168.31.20이후 Host 매핑을 추가하거나 삭제하면 다시 동기화됩니다. 사용할 수 있는 Host가 없으면 활성화할 수 없습니다.
접근 정책의 변화
Smart Connect는 단순히 접속 경로만 줄이는 기능이 아닙니다. 트래픽이 LAN으로 전환되면 게이트웨이는 일반적으로 클라이언트를 사설망 출발지로 인식하며 인증 결과가 local_exempt가 됩니다.
로그인 필요를 켠 Host도 해당 LAN 출발지에 먼저 로그인하도록 요구하지 않습니다.- 이전 설정의 엄격한 허용 목록 규칙도 로컬 출발지를 허용하며 LAN 기기를 인터넷 허용 목록에 강제로 추가하지 않습니다.
- 브라우저에서 로그아웃해도 세션만 끝나며 네트워크의
local_exempt속성은 해제되지 않습니다.
따라서 Smart Connect를 활성화하면 해당 LAN을 신뢰 경계에 포함하게 됩니다. 게스트 Wi-Fi, 신뢰할 수 없는 VLAN 또는 여러 사람이 공유하는 네트워크의 기기에 로컬 예외를 부여할 의도가 없다면 같은 분할 DNS를 직접 사용하게 하면 안 됩니다.
인터넷 인증은 모바일 네트워크 같은 실제 외부 연결에서 확인합니다. 이미 분할 DNS가 적용된 Wi-Fi는 테스트 경로로 사용하지 않습니다.
설정
경로: 시스템 설정 → 기능 → 스마트 커넥트
스마트 커넥트를 켭니다.- 페이지에 리소스가 준비되지 않았다고 표시되면 먼저
dnsmasq를 설치하고 초기화합니다. OpenWrt에서는opkg또는apk패키지 관리자로 직접 설치합니다. 페이지의apt-get설치 버튼은 사용할 수 없습니다. - LAN 클라이언트에서 실제로 접근할 수 있는 사설 IPv4를 선택합니다. 예:
192.168.31.20 저장 및 동기화를 클릭하고 동기화된 도메인 수와 최근 동기화 시각을 확인합니다.- 라우터 DHCP에서 DNS 서버를 해당 사설 IPv4로 설정합니다. 먼저 테스트 기기 한 대에서 직접 설정해도 됩니다.
- 네트워크 설정을 다시 받은 뒤 캐시가 갱신될 때까지 기다리고 각 서브도메인을 조회합니다.
기본 LAN 인터페이스의 주소를 선택합니다. Docker 브리지, 터널 또는 내부 통신 전용 가상 인터페이스는 선택하지 않습니다.
클라이언트가 이 DNS를 사용해야 함
관리자 페이지에서 저장에 성공했다는 것은 로컬 기기에 dnsmasq 규칙을 쓰고 다시 불러왔다는 뜻일 뿐입니다. 라우터가 여전히 다른 DNS를 클라이언트에 제공하거나 브라우저에서 로컬 DNS를 우회하는 암호화 DNS를 활성화했다면 조회 결과가 계속 공인 주소로 나올 수 있습니다.
로컬 규칙의 TTL은 약 30초입니다. 변경 후 캐시가 만료될 때까지 기다리거나 Wi-Fi를 다시 연결하고 시스템 및 브라우저의 DNS 캐시를 새로 고칠 수 있습니다.
확인할 때 다음 도메인을 조회합니다.
auth.example.com
nas.example.com선택한 사설 IPv4가 반환되는지 확인하고, 이후 요청 로그의 출발지도 예상한 LAN 주소와 대조합니다.
dnsmasq 상태
| 상태 | 의미 |
|---|---|
설치되지 않음 | 사용할 수 있는 dnsmasq 프로그램이 없음 |
초기화 대기 중 | 프로그램은 있지만 서비스나 초기 설정이 아직 준비되지 않음 |
중지됨 | 설정은 있지만 서비스가 현재 정상적으로 작동하지 않음 |
준비됨 | 규칙을 쓰고 서비스를 다시 불러올 수 있음 |
초기화에 실패하면 먼저 53/tcp와 53/udp를 다른 프로세스가 사용 중인지 확인한 뒤 실행 환경에서 dnsmasq 서비스를 관리할 수 있는지 확인합니다. 두 DNS 서비스가 같은 주소와 포트에 동시에 바인딩되면 안 됩니다.
플랫폼별 지원 범위
- fnOS 네이티브 FPK에서는 Smart Connect를 사용할 수 있습니다.
dnsmasq가 없으면 페이지에서apt-get으로 설치를 시도할 수 있습니다. - OpenWrt 런타임은 Smart Connect를 지원하며
/etc/dnsmasq.d/fn-knock-smart-connect.conf에 규칙을 쓰고service dnsmasq restart로 서비스를 다시 시작합니다. 시스템에dnsmasq를 설치해 활성화하고 기본 설정에는/etc/dnsmasq.d/를 포함합니다. 페이지의 자동 설치는apt-get만 호출하므로 OpenWrt에는 사용할 수 없습니다. - Docker는 지원하지 않습니다. 컨테이너가 호스트를 대신해
dnsmasq와53번 포트를 관리할 수 없으므로 관리자 페이지에서 이 기능을 숨기거나 거부합니다. - 일반 Linux 설치 패키지는 Smart Connect를 지원하지 않습니다. 필요하다면 라우터나 별도의 DNS에 분할 조회를 설정합니다.
- Synology DSM 7 SPK는 Smart Connect를 지원하지 않으며
dnsmasq또는 LAN DNS의 내장 관리 기능도 제공하지 않습니다. - Windows x86_64는 Smart Connect를 지원하지 않으며
dnsmasq또는 LAN DNS의 내장 관리 기능도 제공하지 않습니다. - 호스트 관리 기능이 없는 환경에서는 분할 DNS를 직접 배포합니다.
- 리버스 프록시 모드의 서브도메인 매핑은 Smart Connect를 지원하지 않습니다. 이 토폴로지의 인터넷 진입점은 터널 플랫폼에 있으므로 LAN 분할 DNS는 라우터나 별도의 DNS에서 직접 설정합니다.
- OpenWrt는 웹 터미널과 웹 관리 패널 FPK 업데이트를 제공하지 않습니다. 이러한 제한은 DNS 분할 기능의 지원 여부와 별개의 기능입니다.
처리하지 않는 항목
- 도메인 등록 기관, Cloudflare 또는 다른 공인 DNS 레코드를 수정하지 않습니다.
- 공인 IPv4 / IPv6를 자동으로 업데이트하지 않습니다. DDNS 관리 또는 Cloudflare DDNS 설정을 사용합니다.
- 라우터 포트, 방화벽 또는 Docker 공개 포트를 열지 않습니다.
- 업스트림 서비스의 수신 대기 주소를 바꾸지 않으며 LAN 사용자가 게이트웨이를 우회해 업스트림에 직접 연결하는 것도 막지 못합니다.
문제 해결
- 페이지를 사용할 수 없음: 현재 공인 IP 직접 연결 서브도메인 모드인지 확인하고 배포 환경에서 기능을 지원하는지 점검합니다.
- 동기화할 도메인이 없음: 인증 Host와 서비스 Host를 먼저 만듭니다.
- 선택할 수 있는 IP가 없음: 기본 네트워크 인터페이스에
10/8,172.16/12또는192.168/16주소가 할당되었는지 확인합니다. - 초기화 실패:
53번 포트 사용 여부와dnsmasq서비스 상태를 확인합니다. OpenWrt에서는dnsmasq가 설치되어 있고 기본 설정에/etc/dnsmasq.d/가 포함되어 있는지도 확인합니다. - 클라이언트가 계속 공인 주소로 확인함: DHCP 제공 설정, 수동 DNS, 암호화 DNS 및 캐시를 확인합니다.
- 도메인이 사설망으로 확인되지만 열리지 않음: 실제 게이트웨이 포트, 인증서 및 Host 매핑을 확인하고 공인 DDNS 문제는 더 이상 점검하지 않습니다.
다른 기능 스위치는 시스템 설정을 참고합니다.
