Apple TV (BTV) 설정
1. VLAN 생성
- "Network > 설정 > 네트워크"에서 "새로운 가상 네트워크"를 누릅니다. 네트워크 이름을 지정하고 사용할 IP 대역 정보를 넣어줍니다. 밑부분 IGMP Snooping, 멀티테스크 DNS는 체크해 줍니다. (SKB위한 VLAN 대역대는 반드시 192.168.33.1 대역대로 설정해야 합니다.)
2. 멀티캐스트 DNS 및 IGMP Snooping 설정 확인
3. 방화벽 규칙 설정 #1
"네트워크 > 보안 > 방화벽 규칙"으로 이동하여 항목 만들기를 눌러줍니다.
- 유형 : 인너넷 인
- 이름 : Allow IPTV Mulicast
- 작업 : 수락
- 프로토콜 : 모두
- 소스 : 아무것도 건들지 않음
- 목적지 : "주소그룹" 옆 신규를 누른 후 프로필 이름을 "IGMP"로 넣고 IPv4 주소.서브넷에 "224.0.0.0/4"를 넣고 만들기를 눌러줍니다. "주소그룹"에서 IGMP를 선택 합니다.
- 고급 : 일치상태는 전부 체크하고, IPSec은 "일치하지 않음"을 선택 후 "규칙 추가"를 눌러 줍니다.
4. 방화벽 규칙 설정 #2
다시 "네트워크 > 보안 > 방화벽 규칙"으로 이동하여 항목 만들기를 눌러줍니다.
- 유형 : 인터넷 로컬
- 이름 : Allow IGMP Traffic
- 작업 : 수락
- 프로토콜 : "사전 정의 이전" 체크를 풀고, IGMP를 선택해 줍니다.
- 소스 : 아무것도 건들지 않음
- 목적지 : 아무것도 건들지 않음
- 고급 : 일치상태는 전부 체크하고, IPSec은 "일치하지 않음"을 선택 후 "규칙 추가"를 눌러 줍니다.
5. igmpproxy 설치
DM Pro에 ssh 접속을 해야 합니다. ssh 접속은 UniFi OS의 "Console Settings"에서 Advanced에 있는 SSH를 체크 후 비밀번호를 생성해 주면 접속할 수 있습니다.
1) 터미널 프로그램에서 호스트 192.168.1.1 (포트는 기본 22), id는 root, password는 위에서 입력한 값을 넣어 ssh 접속을 합니다.
2) igmpproxy를 설치해 줍니다.
cd /mnt
mkdir data
mkdir data/igmpproxy
cd /mnt/data/igmpproxy
curl -Lo igmpproxy https://raw.githubusercontent.com/peacey/udm-telus/main/igmpproxy
curl -Lo igmpproxy.conf https://raw.githubusercontent.com/peacey/udm-telus/main/igmpproxy.conf
chmod +x igmpproxy
3) 먼저 각 포트별 값 확인을 위해 아래 명령을 실행 합니다.
ifconfig
- 여기서 brXX가 VLAN 식별자이고, ethXX는 LAN돠 WAN 포트 번호 입니다.
- upstream과 downstream 포트를 찾아야 하는데 합니다.
- upstream의 경우 RJ45 WAN이면 eh8이고 SFP WAN이면 eh9 입니다.
- downstream의 경우 brXX 쪽에서 부여하신 IP 범위 값으로 해당 포트 값을 찾아 줍니다. 제 경우 192.168.33.1 이므로 br5가 해당 포트임을 확인 할 수 있습니다.
4) igmpproxy.conf를 수정해 줍니다. (손쉬운 수정을 위해 nano를 sudo apt install nano 명령어로 설치해 줍니다.)
nano /mnt/data/igmpproxy/igmpproxy.conf
- upstream 부분을 eh8로 수정 합니다.
- downstream 부분을 br5로 수정합니다.
- 작성 후 ctrl + x를 눌러 빠져나와 y를 눌러 저장해 줍니다.
- 작성된 예제는 아래와 같습니다.
quickleave
# upstream = modem interface
phyint eth8 upstream ratelimit 0 threshold 1
altnet 0.0.0.0/0;
# lan interface of iptv device
phyint br5 downstream ratelimit 0 threshold 1
altnet 0.0.0.0/0;
# disable all unused interfaces
phyint lo disabled
phyint eth9 disabled
- 작성한 문장이 잘 동작되는지 확인 합니다. 정상 작동을 확인하고 Ctrl + c로 종료 합니다.
./igmpproxy -ndv ./igmpproxy.conf
6. igmpproxy 데몬 실행
./igmpproxy ./igmpproxy.conf
7. Apple TV 네트워크 VLAN 설정
- "Network > 포트"에서 Apple TV를 찾아 들어갑니다.
- Apple TV를 재기동하면 IPTV VLAN에서 DHCP IP를 받아 옵니다.
8. 자동 시작 스크립트
UDM Pro를 재부팅 시 igmproxy 자동 시작 스트립트는 아래와 같습니다.
cd /mnt/data
mkdir on_boot.d
cd /mnt/data/on_boot.d
curl -Lo 99-run-igmpproxy.sh https://raw.githubusercontent.com/peacey/udm-telus/main/run-igmpproxy.sh
chmod +x 99-run-igmpproxy.sh