Моя домашняя сеть состоит из двух частей:

Internet -- |    router     | ---- | switch | -----|--PC1 192.168.2.1
            | 192.168.2.254 |                      |--PC2 192.168.2.2
                                                   |
                                                   |
                                                   |----| 192.168.2.8    |
                                                        |    PC3         |
                       |     router    |           |----| 192.168.23.101 |
| IP CAM         |-----| 192.168.23.1  |-----------|
| 192.168.23.100 |

обычная часть (диапазон IP 192.168.2.xxx) с коммутатором и некоторыми компьютерами. Вторая часть (диапазон IP 192.168.23.xxx) содержит ПК (ПК3), маршрутизатор и IP-камеру.

PC3 (Windows 7) имеет две сетевые карты, одну для 2.xxx и одну для диапазона 23.xxx . На ПК3 я использую ftp-сервер, который получает изображения с IP-камеры, и сервер apache. Все идет нормально. Все работает.

Теперь я также могу подключиться к прямой трансляции с камеры: 192.168.23.100:800/video.cgi . Я создал базовую веб-страницу на ПК3, не содержащую ничего более

<div class="live"></div>

.live{
     background-image: url:(http://192.168.23:100/video.cgi);
     border: 1px solid red;
}

Когда я запускаю это в браузере на ПК3, он показывает прямую трансляцию, как и должно. Однако, когда я открываю страницу на ПК1 или ПК2, она показывает красную рамку, но не потоковое видео.

К сожалению, большинство ответов о маршрутизации здесь и в SO относятся к Linux, это Windows 7, поэтому я не смог найти ответ на свой вопрос: что мне нужно изменить в конфигурации apache или конфигурации Windows, чтобы также отображался видеопоток вне второй части сети. (Я выключил брандмауэр на ПК3)

3 ответа3

3

Вы разделили сети, поэтому я ожидаю, что для этого есть веская причина - например, безопасность.

Таким образом, позволить PC3 маршрутизировать между сетями не очень хороший вариант ... это полностью противоречит тому, что вы настроили.

Вместо этого вы можете настроить Apache для прокси на странице прямой трансляции камеры. С этой конфигурацией вы поддерживаете строгую политику контроля доступа (только этот URL может быть доступен через ПК3), вы поддерживаете сегрегацию сети, а также избегаете настройки определенных маршрутов.

Чтобы сделать это, посмотрите на использование директив ProxyPass или ProxyPassMatch в mod_proxy.


Примечание. Если video.cgi создает что-то, что использует технологии помимо HTTP (например, HTML, который вызывает поток RTP), то у вас будут проблемы с этим подходом. Тот факт, что вы использовали URL-адрес непосредственно в background-image CSS, намекает на то, что это будет работать нормально ... (эта техника также выглядит немного странной)

Легко подтвердить, что video.cgi делает это - при необходимости вы захотите заглянуть в Windows, эквивалентный iptables чтобы обеспечить точную / безопасную переадресацию портов между сетями, в идеале используя Masquerading (я не могу помочь с этим - возможно, netsh будет достаточно?).

2

На 192.168.2.254 вам нужно настроить маршрут к 192.168.23.x, а на 192.168.23.1 вам нужен маршрут обратно к 192.168.2.x, чтобы 192.168.2.x и 192.168.23.100 могли обмениваться данными друг с другом.

В зависимости от вашего оборудования маршрутизатора это настроено по-другому.

У вас также может быть веская причина для разделения двух локальных сетей, но если вы поместите IP CAM в сеть 192.168.2.x (без второго маршрутизатора), у вас не возникнет этой проблемы.

Следующий шаг

Создайте VLAN на вашем коммутаторе (если возможно) и удалите второй маршрутизатор. Это облегчит обслуживание и построение всей сети.

0

Просто нет связи между ПК1 или ПК2 и камерой.

Если вы хотите соединить свои два сегмента, вам нужен маршрутизатор со ссылкой на каждый сегмент. Вы можете включить переадресацию IP на ПК3 и настроить статические маршруты на ПК1/ ПК2 с 192.168.23.0/24 => 192.168.2.8. На камере вам нужно установить шлюз по умолчанию на 192.168.23.101.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .