PassThru

Home Forums Discussions Support PassThru

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #9612
    alexander
    Participant

      Есть комп Win7 32bit с 2-мя сетевыми картами. Обе карты соединены в мост. К одной карте подключен IP телефон, другая карта подключена к свитчу. Если запустить готовый passthru.exe для моста, то телефон работает норм. Если же passthru.exe запустить для 1-ой или 2-ой сетевой карты, то с телефона не позвонить. В чем может быть дело?

      #9613
      alexander
      Participant

        Я понял, что запуск passthru.exe на одном из адаптеров “мешает” мосту принимать/отправлять пакеты. Однако не понятно, как с помощью вашего фреймворка обеспечить нормальную работу моста с возможностью вмешиваться в трафик.

        Куда направлять пакеты, полученные на адаптерах? Какие пакеты нужно куда-то перенаправлять?

        Подскажите, пожалуйста.

        #9615
        Vadim Smirnov
        Keymaster

          Если я правильно понимаю, то имеем две сетевые карты обьединенные 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 это возможно…

          Так что пожалуйста побольше деталей и желательно описать задачу, а то сложно советовать, не зная, что хочется в итоге получить.

          #9616
          alexander
          Participant

            Спасибо за ответ. У меня почему-то все сетевые карты видны при объединении их в 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>
            
            #9618
            alexander
            Participant

              Моя задача описана в предыдущей теме за моим авторством.

              #9619
              Vadim Smirnov
              Keymaster

                Да, любопытно, я такой список интерфейсов наблюдаю, только если сначала сбриджить два адаптера, а затем в свойствах моста отключить их от моста. Похоже не все так гладко с этой конфигурацией на 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.

                #9623
                Vadim Smirnov
                Keymaster

                  Еще один возможный вариант – использовать не мост, а маршрутизацию. Несколько лет назад делал нечто подобное для NetTalk DUO при подключении через USB (RNDIS). В такой конфигурации в системе появляется дополнительный сетевой интерфейс, а NetTalk DUO выглядел как сетевое устройство подключенное к той же сети. Приложение на winpkfilter обеспечивало выдачу адресов в этой сети по DHCP и организовывало NAT из этой сети на внешний интерфейс, таким образом NetTalk DUO получал доступ к интернету от подключенного лэптопа.

                  #9624
                  alexander
                  Participant

                    На компе я удалил мост, а из устройств – сетевые карты; перезагрузился, установил драйверы для сетевых карт, создал мост. После этого WinpkFilter стал видеть сетевые интерфейсы правильно: мост видит, а сетевые карты нет.

                    #9625
                    Vadim Smirnov
                    Keymaster

                      На компе я удалил мост, а из устройств – сетевые карты; перезагрузился, установил драйверы для сетевых карт, создал мост. После этого WinpkFilter стал видеть сетевые интерфейсы правильно: мост видит, а сетевые карты нет.

                      Тем не менее, я бы на это не полагался и организовал бы мост средствами WinpkFilter.

                      #9626
                      alexander
                      Participant

                        Относительно вашего совета у меня есть сомнения:
                        1) если сделать мост программным, то при падении программы вся Internet-связь прекратится. А это не допустимо, т.к. компьютер-посредник может быть установлен в организации между роутером и провайдером для записи всех SIP-разговоров организации.
                        2) для большего перфоманса хотелось бы в user-mode обрабатывать не весь трафик, а только незначительную часть. Для этого я использую SetPacketFilterTable.
                        3) мне кажется надежность и скорость моста средствами самой ОС выше, чем использование собственной программы.
                        Что думаете?

                        #9627
                        Vadim Smirnov
                        Keymaster

                          Согласен, есть нюансы…

                          С другой стороны, против использования встроенного моста и Windows 7 есть один серьезный аргумент – нет гарантированной возможности забиндиться на интерфейсы под мостом (причем непонятно от чего это зависит), а это в свою очередь означает, что нет возможности фильтровать транзитный трафик (он обработается внутри моста).

                          Таким образом, видится два варианта:
                          1) Перенести функционал моста непосредственно в драйвер.
                          2) Использовать routing/NAT. Опять же можно использовать как самописный NAT, так и встроенный в Windows Internet Connection Sharing (ICS). Тогда будет достаточно запустить приложение только на одном интерефейсе (внешнем или внутреннем в данном случае роли не играет) и отбирать только нужный трафик.

                          #9629
                          alexander
                          Participant

                            1) я потому и выбрал ваш продукт, т.к. нет возможности написать свой драйвер
                            2) а вот тут я мало что понял.

                            #9630
                            Vadim Smirnov
                            Keymaster

                              2) а вот тут я мало что понял.

                              Вместо моста делаем шлюз, где одна сетевая карта раздает интернет на другую. Как еще проще обьяснить – не знаю. В такой конфигурации можно фильтровать как внешний, так и внутренний интерфейс и отбирать/модифицировать нужный траффик.

                            Viewing 13 posts - 1 through 13 (of 13 total)
                            • You must be logged in to reply to this topic.