UniFi Security Gateway ¾Æ·¡¿¡¼ U+ IPTV ½Ãû
https://community.ubnt.com/t5/UniFi-Routing-Switching/Step-by-Step-gu¡¦ (1575)
100Mbps 인터넷 쓸때부터 가끔씩 시간날때 마다 시도해 봤던 건데.. 버프엔지니어링 님의 힌트
덕분에 어떻게 이번에 성공(?)하게 되서.. 혹시 필요하신 분들은 참고하실 수 있게 남겨봅니다.
살짝 편법이 들어가기 때문에 마음에 안드실 수도 있습니다.
일단 IPTV는 실시간 방송은 multicast로 뿌립니다. 이건 KT/SK/U+ 모두 마찬가집니다.
오직 실시간 방송만이 관심사라면 WAN에 바로 허브를 하나 물려서 IPTV를 연결하면 잘 나옵니다.
근데 이렇게 하면 U+는 VoD 등 다른 서비스가 전혀 작동을 안합니다. U+ IPTV가 완전하게
동작하려면 일단 public IP가 아닌 private IP/NAT를 사용해야 합니다. 그래서 IPTV를
UniFi Security Gateway(이하 USG) 아래에 위치시키고, multicast 패킷들을 통과시켜야 합니다.
전체 LAN에 방송신호가 뿌려지는 것은 원하지 않기 때문에, USG의 VoIP(요즘은 WAN2/LAN2로 마킹,
이하 LAN2) 포트에 IPTV를 연결하고 이 포트로만 방송신호가 전달되도록 igmp-proxy 설정을 할 겁니다.
1. U+ 공유기
먼저 U+ 공유기를 걷어내는 것에서 시작하고 싶지만.. KT가 만든 giga-wire(?)인지 하는
별로 널리 사용되지 않는 표준을 사용하고 있기 때문에, 공유기를 걷어내면 100Mbps로
동작하므로.. U+ 공유기는 2.4/5GHz WiFi를 모두 비활성화시킨 후 브리지 모드로 전환합니다.
U+ 공유기 LAN 포트에 연결된 것은 USG 뿐으로, U+ 공유기는 이제부터 giga-wire 모뎀으로만
사용합니다.
2. USG
저는 LAN 포트 아래에 대부분의 장비를 연결하고, LAN2 포트에 U+ IPTV만 둘겁니다.
(물론 tvh도 여기서 해결)
3. UniFi controller
UniFi controller의 Settings / Networks 화면에서 LAN2 설정을 편집합니다.
다른거 필요없고 Enable IGMP snooping 항목을 check 해줍니다.
Save 버튼을 누르고 나옵니다.
예전에는 CUI에서 해야했는데, 요즘은 GUI에서 가능해서 좋네요.
UniFi controller의 Settings / Routing & Firewall 화면에서 Firewall / Groups를 선택하고
Create New Group 버튼을 누릅니다.
이름은 "multicast", 주소는 "224.0.0.0/4"를 입력하고 Save 버튼을 누릅니다.
UniFi controller의 Settings / Routing & Firewall 화면에서 Firewall / Rules IPv4를 선택하고
WAN IN 탭을 선택, Create New Rule 버튼을 누릅니다.
이름은 "allow multicast to LAN", Enable하고, Before / Accept / All을 선택합니다.
Advanced에서 New / Established / Invalid / Related를 모두 check 해줍니다.
Destination에서 IPv4 Address Group으로 조금 전 생성한 "multicast"를 선택해줍니다.
Save 버튼을 누르고 나옵니다.
WAN LOCAL 탭을 선택, Create New Rule 버튼을 누릅니다.
이름은 "allow multicast to LAN", Enable하고, Before / Accept / All을 선택합니다.
Advanced에서 New / Established / Invalid / Related를 모두 check 해줍니다.
Destination에서 IPv4 Address Group으로 조금 전 생성한 "multicast"를 선택해줍니다.
Save 버튼을 누르고 나옵니다.
4. USG CUI
이제 남은 건 USG의 WAN 인터페이스(eth0)에 U+ 장비의 MAC 주소를 입히는 건데.. 이걸 하지 않으면
실시간 방송이 안 나옵니다. 아무래도 IGMP-join을 요청하는 장비의 MAC으로 자격 인증을 하는 것
같습니다.
이건 GUI에서 지원이 안됩니다. 분위기로는 지원이 안된다기 보다는 하면 안되는 것 같습니다.
그래도 일단 해보자면.. ^^; ssh로 접속해서 아래와 같이 입력합니다:
configure
set interfaces ethernet eth0 mac 00:00:00:00:00:00 # 적절한 값으로 변경
commit
save
exit
위의 주소 부분이 중요한데.. 전 달리 좋은 생각이 안나서 그냥 IPTV의 주소를 넣었습니다.
그런데 이렇게 하고나면 UniFi controller에서 보이는 상태가 좋지 않습니다.
실제로 통신은 되지만, UniFi controller에서는 문제가 있다고 보는지 online 상태도 아니고
주황 경고등이 들어오기도 하고.. 제 경우에는 이 시점까지도 IPTV 안나왔습니다.
하여튼 이대로 두면 안될 것 같다는 생각을 하면서 위의 MAC 설정을 삭제합니다:
configure
delete interfaces ethernet eth0 mac
commit
save
exit
이렇게 하면.. 원래의 MAC으로 돌아가지 않을까 생각했는데, 그냥 설정만 삭제되고 실제로 사용되는
MAC 주소는 앞서 세팅했던 IPTV의 MAC입니다. 물론 USG가 재부팅되는 때가 오면 원래 값으로
돌아가겠지요. 하여튼 이렇게 해주면 UniFi controller에서 정상상태가 됐다고 판단합니다.
그리고.. 갑자기 IPTV가 잘 나옵니다. 이런 sequence가 중요한 것인지 아니면 MAC 주소 변경
이후에 약간의 시간이 필요한 것인지는 모르겠습니다만, 어쨌든 제 경우엔 이런 순서로 작업하니
정상동작을 시작했습니다. 며칠째 잘 돌아가고 있으니 앞으로도 재부팅 후에 MAC만 손봐주면 괜찮지
않을까 생각합니다.
|
|
|