Перейти к содержимому
Калькуляторы

Broadcast - как!? (головоломка) 255.255.255.255 - как сделать чтоб подключённым всем доходило?

Есть локалка: 192.168.1.0/24

Стоит роутер на фряхе, через который инет и с инета подключаются клиенты по L2TP с винды, получают адреса из локалки.

mpd5 заведует инетом и vpn.

 

 

Как сделать так, чтобы любой пакет отправленный клиентом сети 192.168.1.0/24 на адрес 255.255.255.255 доставлялся всем?

 

 

 

 

PS: что есть/опробовано

по умолчанию пакеты на 255.255.255.255 пропадают в роутере и в сеть от клиента впн или из сети клиенту впн не проходят.

 

- if_bridge - отказался жрать ng* интерфейсы

 

- роутинг принимает только один адрес назначения для адреса назначения 255.255.255.255

 

- pf в принципе не отказывался, и конструкция вида: pass in quick on ng0 dup-to (em0 192.168.1.1) from any to 255.255.255.255 (em0 -сетевуха в локалке, 192.168.1.1 - существующий и доступный адрес в локалке, если адрес не доступен - слать не будет ибо мак не найдёт) работает, но она совсем статическая и прописывать придётся много, в случае больше 1 клиента

 

- ipfw не пробовал, думаю будет тоже самое что с пф: придётся как то генерировать оч много правил

 

- сорсроутинг: не пробовал даже читать про него

 

- ng_bridge: не хватило ума подцепить ноду iface от mdp5 к бриджу :(

сам бридж создал, физ сетевуху добавил, eiface создал, IP назначил - работает

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну так пусть вот это:

 

pass in quick on ng0 dup-to (em0 192.168.1.1) from any to 255.255.255.255

добавляется/убирается автоматом при создании/удалении ngX

proxy arp используется?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

proxy arp используется?
да

set iface enable proxy-arp tcpmssfix

 

 

добавляется/убирается автоматом при создании/удалении ngX
Мне нужно будет генерировать !n+1 правил (или больше) и в случае с pf - перезагружать правила.

Почему много правил?

- потому что нужно прописывать будет чтобы от каждого впн клиента пакет дублировался всем остальным впн клиентам + локалка + обновлять/добавлять правила для тех кто уже в сети, чтобы теперь и от них пакеты уходили новичку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тогда попробовать ipfw divert broadcasta в демон, видимо самописный :(, и из него уже рассылку всем.

Возьмёшься портировать bcrelay под FreeBSD?

 

Изменено пользователем Deac

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Портировать - врядли.

Скорее написать своё на ipfw+divert, но в исходники конечно загляну, благо опыт есть.

 

Надеюсь пока на всемогущий нетграф :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пробовал вклиниваться в цепочку:

 

 

ng0.inet <-> out.tcpmss.in <-> inet.ppp...

 

 

 

вариант 1:

ng0.inet <-> out.tcpmss.in <-> inet.rfc1490.ethernet <-> link2.bridge.link3 <-> ethernet.rfc1490.inet <-> inet.ppp...

с реконфигурирование ноды tee

пинги не идут, ничего нет

 

 

 

вариант 2:

ng0.inet <-> inet.rfc1490.ethernet <-> link2.bridge.link3 <-> ethernet.rfc1490.inet <-> inet.ppp...

пинги не идут, ничего нет

 

 

 

вариант 3:

ng0.inet <-> link2.bridge.link3 <-> inet.ppp...

 

тут пинги идут, но кроме пингов ещё мусор на интерфейсе

(trafshow -p на em0 (192.168.1.254))

Source Destination Protocol Size CPS

192.168.1.1,echo-reply 192.168.1.4 icmp 26K 59

192.168.1.4,echo-reqst 192.168.1.1 icmp 26K 59

00:00:80:11:58:3f 45:00:01:f8:34:a3 AC10 504

00:00:80:11:5a:6b 45:00:01:f8:32:77 AC10 504

00:00:80:11:5a:56 45:00:01:f8:32:8c AC10 504

00:00:80:11:5a:75 45:00:01:f8:32:6d AC10 504

00:00:80:11:57:72 45:00:01:f8:35:70 AC10 504

00:00:80:11:58:18 45:00:01:f8:34:ca AC10 504

 

Видимо вместо ethernet заголовка пакета сразу IP

 

 

Сеть:

172.16.0.3 (192.168.1.4 - впн) <-> 172.16.0.77 / 192.168.1.254 <-> 192.168.1.1

 

 

 

 

Чем можно ещё попробовать получить из inet<->ether ?

 

 

 

PS: есть сильное подозрение что если отбросить физ сеть, то для виртуальной как мнимум хаб работать будет для все включённых в него.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот здесь:

http://non-standard.net/freebsd/game-vpn/game-vpn.html

решается проблема, divert-ом в perl-овый скрипт. :)

всего правил получается n+1, не так уж много.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я написал ng ноду: ng_ether2inet

 

 

Реконфигурирую ноды от мпд5:

было: ng0.inet <-> out.tcpmss.in <-> inet.ppp...

стало: ng0.inet <-> inet.ether2inet.ethernet <-> link2.bridge.link3 <-> ethernet.ether2inet.inet <-> inet.ppp...

 

 

к бриджу ещё прицеплен eiface на котором IP с сетевухи забранный, сетевуха своими ethet.lower/upper тоже к бриджу.

ethernet->inet работает без проблем, а в обратку нада бы dstMac ставить не нулевой, похоже :)

 

 

Вопрос к знатокам:

ethernet->inet - тупо отбрасываем заголовок ethernet и гоним IP дальше

inet->ethernet -

сейчас кому 00::00 а от 00:00:ip отправителя

когда адрес назначения 255.255.255.255 то мак назначения ff::ff

как правильно заполнять маки от и кому?

 

 

 

 

PS: Нафик скрипт, проще на сях тоже самое наваять, из моего uTP блокиратора.

Изменено пользователем Ivan_83

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.