Home › Forums › Discussions › Support › PassThru
- This topic has 12 replies, 2 voices, and was last updated 7 years, 1 month ago by Vadim Smirnov.
-
AuthorPosts
-
October 12, 2017 at 8:38 am #9612
Есть комп Win7 32bit с 2-мя сетевыми картами. Обе карты соединены в мост. К одной карте подключен IP телефон, другая карта подключена к свитчу. Если запустить готовый passthru.exe для моста, то телефон работает норм. Если же passthru.exe запустить для 1-ой или 2-ой сетевой карты, то с телефона не позвонить. В чем может быть дело?
October 18, 2017 at 7:35 am #9613Я понял, что запуск passthru.exe на одном из адаптеров “мешает” мосту принимать/отправлять пакеты. Однако не понятно, как с помощью вашего фреймворка обеспечить нормальную работу моста с возможностью вмешиваться в трафик.
Куда направлять пакеты, полученные на адаптерах? Какие пакеты нужно куда-то перенаправлять?
Подскажите, пожалуйста.
October 18, 2017 at 12:49 pm #9615Если я правильно понимаю, то имеем две сетевые карты обьединенные Windows Bridge? Или мост организован чем-то еще, например построен на этом примере https://github.com/wiresock/ndisapi/tree/master/examples/ethernet_bridge?
Я только что попробовал обьединить две сетевые карты на Win7 32bit с помощью Windows Bridge и дело в том что после обьединения WinpkFilter больше не видит адаптеры “под” мостом, поэтому мне непонятно как получилось запустить passthru на одном из них. Ниже вывод listadapters без моста и с включенным мостом:
C:\Program Files\WinpkFilter\bin\i386>listadapters The following network interfaces are available to MSTCP: 1) WAN Network Interface (BH). Internal Name: \DEVICE\NDISWANBH Current MAC: C23720524153 Medium: 0x00000003 Current MTU: 1500 Current adapter mode = 0x0 2) WAN Network Interface (IP). Internal Name: \DEVICE\NDISWANIP Current MAC: C23720524153 Medium: 0x00000003 Current MTU: 1500 Current adapter mode = 0x0 Number of active WAN links: 0 3) WAN Network Interface (IPv6). Internal Name: \DEVICE\NDISWANIPV6 Current MAC: C23720524153 Medium: 0x00000003 Current MTU: 1500 Current adapter mode = 0x0 Number of active WAN links: 0 4) Local Area Connection 2. Internal Name: \DEVICE\{952D0F1E-B3CE-4BEF-9DFE-515F24CA8A0E} Current MAC: 02004C4F4F50 Medium: 0x00000000 Current MTU: 1500 Current adapter mode = 0x0 5) Local Area Connection. Internal Name: \DEVICE\{C06C019F-D330-41DB-A35B-0B27382DE884} Current MAC: 00155D01780A Medium: 0x00000000 Current MTU: 1500 Current adapter mode = 0x0 Current system wide MTU decrement = 0 Default adapter startup mode = 0x0 C:\Program Files\WinpkFilter\bin\i386>listadapters The following network interfaces are available to MSTCP: 1) Network Bridge. Internal Name: \DEVICE\{F66FC5CF-6953-47C8-86F6-1A3B5771E620} Current MAC: 02004C4F4F50 Medium: 0x00000000 Current MTU: 1500 Current adapter mode = 0x0 2) WAN Network Interface (BH). Internal Name: \DEVICE\NDISWANBH Current MAC: C23720524153 Current MAC: C23720524153 Medium: 0x00000003 Current MTU: 1500 Current adapter mode = 0x0 3) WAN Network Interface (IP). Internal Name: \DEVICE\NDISWANIP Current MAC: C23720524153 Medium: 0x00000003 Current MTU: 1500 Current adapter mode = 0x0 Number of active WAN links: 0 4) WAN Network Interface (IPv6). Internal Name: \DEVICE\NDISWANIPV6 Current MAC: C23720524153 Medium: 0x00000003 Current MTU: 1500 Current adapter mode = 0x0 Number of active WAN links: 0 Current system wide MTU decrement = 0 Default adapter startup mode = 0x0 C:\Program Files\WinpkFilter\bin\i386>
К слову, в отличии от Windows 7, на Windows 10 это возможно…
Так что пожалуйста побольше деталей и желательно описать задачу, а то сложно советовать, не зная, что хочется в итоге получить.
October 19, 2017 at 4:50 am #9616Спасибо за ответ. У меня почему-то все сетевые карты видны при объединении их в Windows Bridge.
C:\Users\Administrator\Desktop\3>listadapters.exe The following network interfaces are available to MSTCP: 1) WAN Network Interface (IPv6). Internal Name: \DEVICE\NDISWANIPV6 Current MAC: 528520524153 Medium: 0x00000003 Current MTU: 1500 Current adapter mode = 0x0 Number of active WAN links: 0 2) WAN Network Interface (IP). Internal Name: \DEVICE\NDISWANIP Current MAC: 528520524153 Medium: 0x00000003 Current MTU: 1500 Current adapter mode = 0x0 Number of active WAN links: 0 3) WAN Network Interface (BH). Internal Name: \DEVICE\NDISWANBH Current MAC: 528520524153 Medium: 0x00000003 Current MTU: 1500 Current adapter mode = 0x0 4) Сетевой мост. Internal Name: \DEVICE\{4475839E-0BB1-4044-96A1-E8B37F93CDD1} Current MAC: 72E24C680E5A Medium: 0x00000000 Current MTU: 1500 Current adapter mode = 0x0 5) Подключение по локальной сети 3. Internal Name: \DEVICE\{35BB661A-65C1-42CF-8E53-FD61D322EF48} Current MAC: 70E24C680E5B Medium: 0x00000000 Current MTU: 1500 Current adapter mode = 0x0 6) Подключение по локальной сети 4. Internal Name: \DEVICE\{D156E9A4-0EE9-465D-8B6D-D73566202877} Current MAC: 70E24C680E5A Medium: 0x00000000 Current MTU: 1500 Current adapter mode = 0x0 Current system wide MTU decrement = 0 Default adapter startup mode = 0x0 C:\Users\Administrator\Desktop\3>
October 19, 2017 at 4:51 am #9618Моя задача описана в предыдущей теме за моим авторством.
October 20, 2017 at 9:19 pm #9619Да, любопытно, я такой список интерфейсов наблюдаю, только если сначала сбриджить два адаптера, а затем в свойствах моста отключить их от моста. Похоже не все так гладко с этой конфигурацией на Windows 7…
Тем не менее, в качестве основы для решения поставленой задачи, я бы рекомендовал взять мост построеный на WinpkFilter:
https://www.ntkernel.com/bridging-networks-with-windows-packet-filter/
Код на GitHub:
https://github.com/wiresock/ndisapi/tree/master/examples/ethernet_bridge
и в нем отдельно обработать SIP трафик. Мне кажется так и проще и надежней с учетом не до конца предсказуемого поведения встроенного моста Windows.October 21, 2017 at 10:50 am #9623Еще один возможный вариант – использовать не мост, а маршрутизацию. Несколько лет назад делал нечто подобное для NetTalk DUO при подключении через USB (RNDIS). В такой конфигурации в системе появляется дополнительный сетевой интерфейс, а NetTalk DUO выглядел как сетевое устройство подключенное к той же сети. Приложение на winpkfilter обеспечивало выдачу адресов в этой сети по DHCP и организовывало NAT из этой сети на внешний интерфейс, таким образом NetTalk DUO получал доступ к интернету от подключенного лэптопа.
October 23, 2017 at 10:23 am #9624На компе я удалил мост, а из устройств – сетевые карты; перезагрузился, установил драйверы для сетевых карт, создал мост. После этого WinpkFilter стал видеть сетевые интерфейсы правильно: мост видит, а сетевые карты нет.
October 23, 2017 at 4:08 pm #9625На компе я удалил мост, а из устройств – сетевые карты; перезагрузился, установил драйверы для сетевых карт, создал мост. После этого WinpkFilter стал видеть сетевые интерфейсы правильно: мост видит, а сетевые карты нет.
Тем не менее, я бы на это не полагался и организовал бы мост средствами WinpkFilter.
October 24, 2017 at 4:31 am #9626Относительно вашего совета у меня есть сомнения:
1) если сделать мост программным, то при падении программы вся Internet-связь прекратится. А это не допустимо, т.к. компьютер-посредник может быть установлен в организации между роутером и провайдером для записи всех SIP-разговоров организации.
2) для большего перфоманса хотелось бы в user-mode обрабатывать не весь трафик, а только незначительную часть. Для этого я использую SetPacketFilterTable.
3) мне кажется надежность и скорость моста средствами самой ОС выше, чем использование собственной программы.
Что думаете?October 24, 2017 at 10:11 am #9627Согласен, есть нюансы…
С другой стороны, против использования встроенного моста и Windows 7 есть один серьезный аргумент – нет гарантированной возможности забиндиться на интерфейсы под мостом (причем непонятно от чего это зависит), а это в свою очередь означает, что нет возможности фильтровать транзитный трафик (он обработается внутри моста).
Таким образом, видится два варианта:
1) Перенести функционал моста непосредственно в драйвер.
2) Использовать routing/NAT. Опять же можно использовать как самописный NAT, так и встроенный в Windows Internet Connection Sharing (ICS). Тогда будет достаточно запустить приложение только на одном интерефейсе (внешнем или внутреннем в данном случае роли не играет) и отбирать только нужный трафик.October 24, 2017 at 10:25 am #96291) я потому и выбрал ваш продукт, т.к. нет возможности написать свой драйвер
2) а вот тут я мало что понял.October 25, 2017 at 6:43 pm #96302) а вот тут я мало что понял.
Вместо моста делаем шлюз, где одна сетевая карта раздает интернет на другую. Как еще проще обьяснить – не знаю. В такой конфигурации можно фильтровать как внешний, так и внутренний интерфейс и отбирать/модифицировать нужный траффик.
-
AuthorPosts
- You must be logged in to reply to this topic.