Налаштування IPTV для “ОГО-Укртелеком PPPoE” – pfSense

Дивимося IP TV від Укртелеком на декількох пристроях. Роутером у нас є мінікомп’ютер із дистрибутивом pfSense, який побудований на базі ОС FreeBSD. На фото Galaxy Ace 2 + udpxy.


Налаштування ADSL модема

ADSL модем D-Link DSL-2540U, прошивка 3B00. IP адреса модема 192.168.0.1/24. У WAN зєднаннях створюємо 2 бріджі:

1/32 br_1_32 (PPPoE)
1/40 br_1_40 (DHCP)
1/33 br_1_33 (IPTV)

Відключаємо всі зайві служби: DHCP, SNMP, time, remote log.

Налаштування PfSense

Конфігурація роутера.

Версія 2.0.1-RELEASE. Початково налаштовуємо WAN (у мому випадку rl0)

Налаштовуємо LAN (у мому випадку fxp0) Покищо OPT1 не налаштовуємо.

Заходимо у WEB інтерфейс. Йдемо у Interfaces->(assign), вибираємо PPPs. Додаємо з’єднання.

Link Type: PPPoE
Link interface(s): rl0
Description: будь що
Username: login@dsl.ukrtel.net
Password: password
Service name: пусто

Зберігаємо. Тепер знову йдемо у Interfaces->(assign), додаємо інтерфейс OPT1. Переназначаємо інтерфейси на:

WAN: PPPOE0(rl0)
LAN: fxp0
OPT1: rl0

Налаштовуємо інтерфейс LAN:

Type: Static
IP address: 192.168.1.1/24
Gateway: none

Налаштовуємо інтерфейс OPT1:

Type: Static
IP address: 192.168.0.2/24
Gateway: OPT1GW (створєємо новий із IP шлюза 192.168.0.1)

буде потрібно щоб заходити на web інтерфейс модема

Налаштовуємо інтерфейс WAN:

Type: PPPoE
Username:  login@dsl.ukrtel.net
Password: password
галочка Block private networks
галочка Block bogon networks

Зберігаємо і у вікні статусу маємо отримати: Interfaces

WAN     178.95.64.125   
LAN     192.168.1.1    100baseTX <full-duplex>
OPT1    192.168.0.2    100baseTX <full-duplex>

Double WAN (PPPoE+DHCP)

Модем Pantech UM175 від Інтертелекому розпізнався на ура і сам виставив логін/пароль. VID 0x106c PID 0x3714 Швидкість 512/512 кбіт

1 спосіб: використання igmpproxy

Ідемо у Firewall->Rules->LAN Додаємо правило:

Action: Pass
Interface: LAN
Protocol: IGMP
Destination: Network 224.0.0.0/4
Advanced Options: галочка This allows packets with IP options to pass.
Otherwise they are blocked by default.
This is usually only seen with multicast traffic.

Зберігаємо. Ідемо у Firewall->Rules->OPT1 Додаємо правило:

Action: Pass
Interface: OPT1
Protocol: IGMP
Destination: Network 224.0.0.0/4
Advanced Options: галочка This allows packets with IP options to pass. Otherwise they are blocked by default. This is usually only seen with multicast traffic.

Зберігаємо. Це правило потрібно, бо через 72 секунди зупиняється зображення. Додаємо правило:

Action: Pass
Interface: OPT1
Protocol: UDP
Destination: Network 224.0.0.0/4

Зберігаємо. Робимо Apply для правил фаєрволу. Переходимо у Services->IGMP Proxy. Додаємо новий igmpentry:

Interface: OPT1
Type: Upstream Interface
Network (s): 10.253.2.0/24

Зберігаємо. Додаємо новий igmpentry:

Interface: LAN
Type: Downstream Interface

Зберігаємо. Ідемо у Status->Services igmpproxy: restart Пробуємо, усе має працювати.

2 спосіб: використання udpxy

Використання igmpproxy має низку недоліків, зокрема що мережа забивається мультикаст пакетами.

Для того щоб multicast не транслювалося на всіх клієнтів мережі, а тільки на отримувача ставимо udpxy:

mount -u -w /
setenv PACKAGESITE ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/8.1-RELEASE/packages/Latest/
pkg_add -r updxy

Перейменовуємо /usr/local/etc/rc.d/udpxy на /usr/local/etc/rc.d/udpxy.sh і правимо:

udpxy_enable=${udpxy_enable-"YES"}
udpxy_port=${udpxy_port-"4022"}
udpxy_flags=${udpxy_flags-"-a fxp0 -c 4 -M 60 -m rl0"}

Тепер запускаємо:

/usr/local/etc/rc.d/udpxy.sh start

Правимо канали у плейлисті із

#EXTINF:0, ПЕРШИЙ КАНАЛ
udp://@232.0.1.1:3000

на

#EXTINF:0, ПЕРШИЙ КАНАЛ
http://192.168.1.1:4022/udp/232.0.1.1:3000

За адресою можна переглянути статус клієнтів:

http://192.168.1.1:4022/status

 

Заміни мережевих карт. Поставлено Intel PRO/100 S Desktop Adapter. На нього перекинуто WAN. Мережеву карту RTL8139D залишено, на неї заведено IPTV. На D-Link DSL-2540U активовано VLAN. На 1,3,4 заведено 1/32 інтернет, доступ до адмінки модему, на 2 порт заведено 1/33 IPTV. Завантаження процесора впало. До: інтернет 10 мбіт+перегляд каналу через rl0 – idle:0 interupt: 60%. Після: idle: 54%  interupt: 35%. Мережеві від #intel взувають решту чіпів. Процесор: S370 Intel Celeron 600Mhz.

Коментарі