이것 땜에 몇일을 끙끙대다가 라우터 벽돌도 만들어보고(;;;) 별걸 다했네요.
기본 펌웨어로는 기능이 너무 부실해서 안되고, DD-WRT 펌웨어가 필요합니다.
DD-WRT Wiki 페이지에 있는 IPTV 설정 방법은 크게 VLAN으로 트래픽 완전 분리하는 방법과 Firewall로 멀티캐스트 패킷을 차단하는 방법이 설명이 되어 있는데요... 후자를 사용하면 쉽고 간편하긴 한데 IPTV 시청시 뚝뚝 끊기는 현상이 발생합니다. 전자를 적용하자니 VLAN 설정과 Bridge 설정의 높은 벽에다가 라우터마다 특성을 타는지 펌웨어가 버그인지 자꾸 에러가 나는 바람에 포기를... ㅠㅠ
그래서 그냥 속 편하게 VLAN으로 포트 구성만 변경하고, 나머지 경로로 가는 멀티캐스트 패킷은 방화벽으로 걸러줬습니다.
지금은 IPTV도 잘 나오고 무선랜 통한 인터넷도 잘 되네요... ㅎㅎ
그간 삽질한게 아까워 내용 공유해 드립니다. 외산 공유기 요새 많이들 사시는데... IGMP 관련 옵션 없는 제품 사셨을 때 참고하시면 좋을 것 같습니다.
- 모든 설명은 SKB 인터넷 + IPTV(B tv)를 기준으로 합니다.
- 같은 dd-wrt 펌웨어를 올렸어도 공유기마다 설정이 조금씩 다를 수 있습니다.
- 블로그(http://turbout.net )에는 그림도 있습니다. 헷갈리시는 분들은 블로그에서 그림 보시면 이해하시는데 조금 도움이 될 것 같습니다. 트래픽 때문에 그림 링크 못거는거 양해해주세요~
1. 공유기 유선 포트 중 IPTV는 ‘포트 4번’ (EA6500기준으로 WAN Port 바로 옆)에 꽂습니다.
2. dd-wrt 메뉴 중 ‘Setup – VLANs’ 로 들어가서, Port 4번을 vlan 3으로 변경합니다. Assigned to Bridge 는 ‘LAN’을 선택합니다.
3. 메뉴 중 ‘Administration – Command’에 아래와 같은 명령어를 입력합니다.
insmod ebtables
insmod ebtable_filter
insmod ebt_pkttype
ebtables -A FORWARD -o "vlan1" --pkttype-type multicast -j DROP
ebtables -A OUTPUT -o "vlan1" --pkttype-type multicast -j DROP
ebtables -A FORWARD -o "eth1" --pkttype-type multicast -j DROP
ebtables -A FORWARD -o "eth2" --pkttype-type multicast -j DROP
ebtables -A OUTPUT -o "eth1" --pkttype-type multicast -j DROP
ebtables -A OUTPUT -o "eth2" --pkttype-type multicast -j DROP
그런다음 ‘Save Startup’을 눌러주세요.
// 참고로 위 내용은 멀티캐스트 타입의 패킷이 port 4 (vlan 3) 외 다른 경로로 전달되지 않도록 차단한다는 내용입니다. 쌍따옴표 안에 들어가는 건 interface 이름인데, 이건 Setup-Networks에 보시면 확인하실 수 있습니다. 이게 라우터마다 조금씩 다를꺼에요. EA6500은 무선랜이 듀얼밴드라 interface도 무선이 2개 있습니다. (eth1, eth2)
4. 공유기를 재부팅해줍니다. (메뉴 중에 ‘Administration – Management 맨 아랫쪽에 보면 가장 오른쪽 버튼이 Reboot Router입니다.)
5. 자, 그런 다음 호흡을 가다듬고 IPTV를 켠 다음 TVN 같은 대역폭을 많이 잡아먹는 채널을 틀어놓고 인터넷을 같이 쓰면서 IPTV가 깨지는지 확인해 봅니다.
감사합니다~