Ivan_83 Опубликовано 15 сентября, 2010 · Жалоба Есть локалка: 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 назначил - работает Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Deac Опубликовано 15 сентября, 2010 · Жалоба Ну так пусть вот это: pass in quick on ng0 dup-to (em0 192.168.1.1) from any to 255.255.255.255 добавляется/убирается автоматом при создании/удалении ngX proxy arp используется? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 15 сентября, 2010 · Жалоба proxy arp используется?да set iface enable proxy-arp tcpmssfix добавляется/убирается автоматом при создании/удалении ngXМне нужно будет генерировать !n+1 правил (или больше) и в случае с pf - перезагружать правила.Почему много правил? - потому что нужно прописывать будет чтобы от каждого впн клиента пакет дублировался всем остальным впн клиентам + локалка + обновлять/добавлять правила для тех кто уже в сети, чтобы теперь и от них пакеты уходили новичку. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Deac Опубликовано 15 сентября, 2010 (изменено) · Жалоба Тогда попробовать ipfw divert broadcasta в демон, видимо самописный :(, и из него уже рассылку всем. Возьмёшься портировать bcrelay под FreeBSD? Изменено 15 сентября, 2010 пользователем Deac Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 15 сентября, 2010 · Жалоба Портировать - врядли. Скорее написать своё на ipfw+divert, но в исходники конечно загляну, благо опыт есть. Надеюсь пока на всемогущий нетграф :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 17 сентября, 2010 · Жалоба Пробовал вклиниваться в цепочку: 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: есть сильное подозрение что если отбросить физ сеть, то для виртуальной как мнимум хаб работать будет для все включённых в него. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Deac Опубликовано 18 сентября, 2010 · Жалоба Вот здесь: http://non-standard.net/freebsd/game-vpn/game-vpn.html решается проблема, divert-ом в perl-овый скрипт. :) всего правил получается n+1, не так уж много. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 18 сентября, 2010 (изменено) · Жалоба Я написал 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 блокиратора. Изменено 18 сентября, 2010 пользователем Ivan_83 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...