Freebsd и два канала

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
synatash
рядовой
Сообщения: 11
Зарегистрирован: 2013-09-04 21:12:23

Freebsd и два канала

Непрочитанное сообщение synatash » 2016-09-25 3:34:38

суть вопроса - нужно раскидать iptv провайдера на другие устройства

имеется оптический терминал провайдера, как я понимаю настроен по vlan, на выходе имеем 2 lan
lan1 - с первого идет инет с подсетью 192.168.1.0/24 gw 192.168.1.1
lan2 - со второго iptv провайдера с подсетью 10.190.0.0/20 gw 10.190.0.1
local - третья сетевая смотрит в локалку с подсетью 192.168.17.0/24
так же имеется плейлист типа udp://@225.74.221.1:5000
за локальное устройство берем любой комп

если же устройство подключим к lan 1, то получим инет но тв не работает
если же устройство подключим к lan 2, то инета нет но тв работает

решил это дело объединить, т.б. чтоб устройство получало и инет и тв, для этого воткнул две сетевые во freebsd, на одну приходит lan 1, на вторую lan 2, прописал айпи обоим и в качестве gw от lan1
rc.conf

Код: Выделить всё

defaultrouter="192.168.1.1"
ifconfig_vr0="inet 192.168.17.1 netmask 255.255.255.0"
ifconfig_re0="inet 192.168.1.7 netmask 255.255.255.0"
ifconfig_rl0="inet 10.190.7.64 netmask 255.255.240.0"
gateway_enable="YES"
firewall_enable="YES"
firewall_logging="YES"
firewall_nat_enable="YES"
firewall_script="/etc/firewall/firewall2"
фаервол на момент теста пока простой

Код: Выделить всё

        i_int0="re0" #Global Network
        i_int1="vr0" #Local Network
        i_int2="rl0" #TV Network

        # Global Network
        inet195_1="192.168.1.0"
        mask195_1="255.255.255.0"
        gw195_1="192.168.1.1"

        # TV Network
        inet195_2="10.190.0.0"
        mask195_2="255.255.240.0"
        gw195_2="10.190.0.1"

        # Local Network
        inet192_1="192.168.17.0"
        mask192_1="255.255.255.0"

        fwcmd="/sbin/ipfw -q"
        # Flush out the list before we begin.
        ${fwcmd} -f flush

        ##Set of allow rules
        #LOCAL
        setup_loopback () {
        ${fwcmd} add 100 pass all from any to any via lo0
        ${fwcmd} add 200 deny all from any to 127.0.0.0/8
        ${fwcmd} add 300 deny ip from 127.0.0.0/8 to any
        }

        setup_loopback
        #END LOCAL

        #On Kernel NAT
        ${fwcmd} nat 1 config log if ${i_int0} reset same_ports unreg_only deny_in
        ${fwcmd} nat 2 config log if ${i_int2} reset same_ports unreg_only deny_in
        #Global In to NAT
        ${fwcmd} add nat 1 ip from any to any via ${i_int0}
        ${fwcmd} add nat 2 ip from any to any via ${i_int2}

        ${fwcmd} add allow ip from any to any

        ${fwcmd} add allow ip from any to any out xmit ${i_int0}
        ${fwcmd} add allow ip from any to any out xmit ${i_int2}

        ${fwcmd} add allow all from any to any via ${i_int1}
как заставить freebsd прозрачно направлять все запросы тв на lan2, а все остальное так же отправлять на lan1?
так же как варианта рассматривал udpxy, но пока тоже что-то не получилось

если не сложно, подскажите в какую сторону идти, а то за два дня проб и ошибок уже голова пухнет?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

synatash
рядовой
Сообщения: 11
Зарегистрирован: 2013-09-04 21:12:23

Freebsd и два канала

Непрочитанное сообщение synatash » 2016-09-27 1:43:36

проблему решил сам, тему можно закрыть

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1313
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

Freebsd и два канала

Непрочитанное сообщение xM » 2016-09-27 15:21:45

synatash писал(а): проблему решил сам, тему можно закрыть
Умница. Осталось рассказать как и что делалось в назидание будущим поколениям.
IT voodoo blog https://kostikov.co

synatash
рядовой
Сообщения: 11
Зарегистрирован: 2013-09-04 21:12:23

Freebsd и два канала

Непрочитанное сообщение synatash » 2017-02-21 17:25:08

xM писал(а): Осталось рассказать как и что делалось в назидание будущим поколениям.
решил пойти по простому пути и настроил udpxy

Отправлено спустя 2 минуты 52 секунды:
ноо спустя время решил вернутся к данной теме
а как же все же средствами системы, без сторонних программ решить данную проблему?
хотя бы в каком направлении ковырять?

Отправлено спустя 2 минуты 59 секунд:
synatash писал(а): local - третья сетевая смотрит в локалку с подсетью 192.168.17.0/24
правка первого поста - данная информация не имеет никакого отношения к оптическому роутеру, данная сетевая находится на FreeBSD роутере

Отправлено спустя 11 минут :
могу предположить что фаервол должен отлавливать что идет на udp://@225.74.221.1:5000 и перенаправлять на вторую lan 2
только как не знаю, может при помощи fwd?


synatash
рядовой
Сообщения: 11
Зарегистрирован: 2013-09-04 21:12:23

Freebsd и два канала

Непрочитанное сообщение synatash » 2017-02-21 18:45:51

undefined писал(а): http://www.lissyara.su/articles/freebsd ... #example_4
бегло пробежался по данной ссылке, ноо по моему не совсем под мои нужды это, там описано как разделить на двух провайдеров две локальные подсети, либо можно часть локальной подсети раскидать, но в моем случае локальная сеть одна и один из интерфейсов не имеет выход в инет а только тв и нужно чтобы моя локалка выходила и в инет и параллельно могла и тв смотреть

qwerty100500
проходил мимо

Freebsd и два канала

Непрочитанное сообщение qwerty100500 » 2017-02-21 19:55:41

Вместо

Код: Выделить всё

     add 1040 setfib 0 ip from any to any in recv fxp0
      add 1050 setfib 1 ip from any to any in recv fxp1    
Использовать

Код: Выделить всё

     
      add 1040 setfib 1 ip from any to 10.0.0.0/8
     add 1050 setfib 0 ip from any to any in recv vr0
      
Не?

synatash
рядовой
Сообщения: 11
Зарегистрирован: 2013-09-04 21:12:23

Freebsd и два канала

Непрочитанное сообщение synatash » 2017-02-21 21:15:44

undefined писал(а): Не?
а должно? по моему смысл от этого не изменится, либо я чего-то не понимаю
как я понимаю это дело, у провайдера в сети 10.190.0.0/20 есть шлюз 10.190.0.1, который при обращении к нему по udp на адрес 225.74.221.1 порт 5000 отправляет на нужный сервер, либо на нем все это крутиться (честно не знаю как организовывается IPTV), да и суть вовсе не в этом
как я полагаю, нужно же как-то направить на тот шлюз и направить должен мой роутер сперва по нужному маршруту, а так как 225.74.221.1 находится не в сети 10.190.0.0/20, то прописывай не прописывай маршрут для нее, толку не будет пока не научу мой роутер отправлять все запросы через интерфейс Lan2 идущие на 225.74.221.1

я прав или я все же чего-то не так понимаю? если я не прав, то укажите на мою ошибку

Отправлено спустя 11 минут 10 секунд:
кстати я попробовал ради интереса тот вариант и честно как я и ожидал толку нету, инет есть, шлюз ТВ пингую, ноо само ТВ не показывает, кстати и по udpxy перестало работать
вот как сейчас у меня:
rc.conf

Код: Выделить всё

defaultrouter="192.168.1.1"
ifconfig_vr1="inet 192.168.17.1 netmask 255.255.255.0"
ifconfig_re0="inet 192.168.1.7 netmask 255.255.255.0"
ifconfig_vr0="inet 10.190.5.251 netmask 255.255.240.0"
setfib1_enable="YES"
setfib1_defaultroute="10.190.0.1"
gateway_enable="YES"
firewall_enable="YES"
firewall_logging="YES"
firewall_nat_enable="YES"
firewall_script="/etc/firewall/firewall5"
firewall5

Код: Выделить всё

        ${fwcmd} add setfib 0 ip from any to any in recv vr0
        ${fwcmd} add setfib 1 ip from any to 10.0.0.0/8

        ${fwcmd} add allow ip from any to any via vr1
        #${fwcmd} add allow ip from any to any via fxp1

        ${fwcmd} nat 1 config log if re0 same_ports reset deny_in
        ${fwcmd} nat 2 config log if vr0 same_ports reset deny_in

        ${fwcmd} add nat 1 ip from any to any via re0

        ${fwcmd} add nat 2 ip from any to any via vr0

        ${fwcmd} add allow all from any to any
Routing tables

Код: Выделить всё

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.1.1        UGS         0     5046    re0
10.190.0.0/20      link#2             U           0        2    vr0
10.190.5.251       link#2             UHS         0        0    lo0
127.0.0.1          link#10            UH          0      340    lo0
192.168.1.0/24     link#1             U           0        0    re0
192.168.1.7        link#1             UHS         0        0    lo0
192.168.17.0/24    link#8             U           0     6959    vr1
192.168.17.1       link#8             UHS         0        0    lo0
ну и /usr/local/etc/rc.d/setfib1 один в один что по ссылке

qwerty100500
проходил мимо

Freebsd и два канала

Непрочитанное сообщение qwerty100500 » 2017-02-21 22:01:24

Я бессилен...

guest
проходил мимо

Freebsd и два канала

Непрочитанное сообщение guest » 2017-02-24 21:56:59

Статический роутинг прописывается в rc.conf так:

Код: Выделить всё

static_routes="iptv"
route_iptv="225.74.221.1 10.190.0.1"

synatash
рядовой
Сообщения: 11
Зарегистрирован: 2013-09-04 21:12:23

Freebsd и два канала

Непрочитанное сообщение synatash » 2017-02-25 1:46:21

undefined писал(а): Статический роутинг прописывается в rc.conf так:
к сожалению этот вариант я тоже рассматривал и пробовал, правда прописывал вот так:

Код: Выделить всё

static_routes="tv tv2 tv3 tv4 tv5 tv6"
route_tv="-net 224.0.0.0 -netmask 240.0.0.0 10.190.0.1"
route_tv2="-net 239.0.0.1/8 10.190.0.1"
route_tv3="-net 224.0.0.1/8 10.190.0.1"
route_tv4="-net 239.0.0.1/8 10.190.0.1"
route_tv5="-net 233.0.0.1/8 10.190.0.1"
route_tv6="-net 225.0.0.1/8 10.190.0.1"
но и ваш вариант попробовал сегодня и к сожалению не работает (((

synatash
рядовой
Сообщения: 11
Зарегистрирован: 2013-09-04 21:12:23

Freebsd и два канала

Непрочитанное сообщение synatash » 2017-02-25 14:24:11

похоже что без сторонних программ не обойтись, хотя в handbook написано что freebsd работает с multicast из коробки, но везде все используют сторонний софт, даже в handbook советуют mrouted, но обычно используют либо igmpproxy либо udpxy, попробовал оба и остановился на udpxy (стабильнее работает)

но если все же кто-то подскажет как без них завести multicast, буду очень признателен (ужж очень стало интересно ради самообразования)