Jump to content
Алексей_Н

Проброс tcp портов ip камер для сервера "Линия"

Recommended Posts

Необходимо пробросить tcp порты камер наружу, чтобы подцепить их сервером извне. Собственно, вопрос - какие tcp порты должны быть проброшены для полной поддержки камер сервером  "Линия",  без разбора на примере камеры, конкретной модели.

Share this post


Link to post
Share on other sites

Здравствуйте Алексей!
Для подключения IP камеры через интернет необходимо получить для неё реальный статический IP адрес (возможно подключение по доменному имени, если камера или роутер поддерживает работу с сервисом Dynamic DNS) и обеспечить достаточною пропускную способность и стабильность сети между камерой и сервером. Дополнительно может потребоваться проброс HTTP (по умолчанию - 80),  RTSP (по умолчанию - 554) и возможно ONVIF (если есть и не совпадает с HTTP , например 8000 , 8080 и т.д. ) портов, порты должны пробрасываться один-к-одному. Если камер на одном внешнем IP адресе несколько - необходимо изменение HTTP и RTSP  портов по умолчанию на всех камерах, кроме одной.

Share this post


Link to post
Share on other sites

Здравствуйте.

Цитата

Необходимо пробросить tcp порты камер наружу, чтобы подцепить их сервером извне.

1. Что является шлюзом (роутером), смотрящем в интернет? То есть на каком устройстве пробрасывать порты будете? (Сервер на Windows, Linux, BSD, или готовый роутер от D-Link, HP, Микротик и т.д.)

2. IP-адрес у этого шлюза белый или серый?

Цитата

Собственно, вопрос - какие tcp порты должны быть проброшены для полной поддержки камер сервером  "Линия"

Достаточно пробросить порт 554 для RTSP, если Вам требуется только подключение камер к серверу Линия.

Допустим, у Вас 4 камеры, адреса 192.168.0.4, 192.168.0.5, 192.168.0.6 и 192.168.0.7. Внешний белый статичный адрес шлюза 1.1.1.1 и находится на интерфейсе eth0. Соответственно, пробрасываете 4 порта, например, 9004, 9005, 9006 и 9007.

Для iptables под Linux будут такие правила:

первая камера:

iptables -t nat -A PREROUTING -i eth0 -d 1.1.1.1 -p tcp -m tcp --dport 9004 -j DNAT --to-destination 192.168.0.4:554

iptables -A FORWARD -d 192.168.0.4 -p tcp --dport 554 -j ACCEPT

вторая камера:

iptables -t nat -A PREROUTING -i eth0 -d 1.1.1.1 -p tcp -m tcp --dport 9005 -j DNAT --to-destination 192.168.0.5:554

iptables -A FORWARD -d 192.168.0.5 -p tcp --dport 554 -j ACCEPT

третья камера:

iptables -t nat -A PREROUTING -i eth0 -d 1.1.1.1 -p tcp -m tcp --dport 9006 -j DNAT --to-destination 192.168.0.6:554

iptables -A FORWARD -d 192.168.0.6 -p tcp --dport 554 -j ACCEPT

четвёртая камера:

iptables -t nat -A PREROUTING -i eth0 -d 1.1.1.1 -p tcp -m tcp --dport 9007 -j DNAT --to-destination 192.168.0.7:554

iptables -A FORWARD -d 192.168.0.7 -p tcp --dport 554 -j ACCEPT

и т.д. все камеры.

Если сервер Линия у Вас находится тоже за шлюзом и он тоже имеет статичный белый адрес, например, 2.2.2.2, то для дополнительной безопасности правило с цепочкой FORWARD можно дополнить так:

iptables -A FORWARD -s 2.2.2.2 -d 192.168.0.7 -p tcp --dport 554 -j ACCEPT

С готовыми роутерами и брэндмауэром Windows порты пробрасываются почти аналогично. Разница только в том, что там используется GUI.

Соответственно, на самом сервере Линия прописываете камеры аналогично тому, как они бы прописывались, находясь в рамках одной сети, но указываете внешний адрес и открытый порт.

Например, для камеры BD4640DS будет выглядеть так:

первый поток:

rtsp://user:password@1.1.1.1:9004/h264

второй поток:

rtsp://user:password@1.1.1.1:9004/h264_2 (либо перекодирование первого потока).

 

Аналогично делается настройка для протоколов Onvif и HTTP.

Пример для Onvif:

первая камера:

iptables -t nat -A PREROUTING -i eth0 -d 1.1.1.1 -p tcp -m tcp --dport 10004 -j DNAT --to-destination 192.168.0.4:80

iptables -A FORWARD -d 192.168.0.4 -p tcp --dport 80 -j ACCEPT

вторая камера:

iptables -t nat -A PREROUTING -i eth0 -d 1.1.1.1 -p tcp -m tcp --dport 10005 -j DNAT --to-destination 192.168.0.5:80

iptables -A FORWARD -d 192.168.0.5 -p tcp --dport 80 -j ACCEPT

третья камера:

iptables -t nat -A PREROUTING -i eth0 -d 1.1.1.1 -p tcp -m tcp --dport 10006 -j DNAT --to-destination 192.168.0.6:80

iptables -A FORWARD -d 192.168.0.6 -p tcp --dport 80 -j ACCEPT

четвёртая камера:

iptables -t nat -A PREROUTING -i eth0 -d 1.1.1.1 -p tcp -m tcp --dport 10007 -j DNAT --to-destination 192.168.0.7:80

iptables -A FORWARD -d 192.168.0.7 -p tcp --dport 80 -j ACCEPT

и т.д. все камеры.

Какой конкретно порт используется для Onvif - это уже смотреть в настройках камеры, в её паспорте или в спецификации к ней.

Святослав Вам уже об этом написал:

Цитата

Дополнительно может потребоваться проброс HTTP (по умолчанию - 80),  RTSP (по умолчанию - 554) и возможно ONVIF (если есть и не совпадает с HTTP , например 8000 , 8080 и т.д. ) портов

 

С HTTP аналогично.

 

Если возникает необходимость не только подключения к серверу Линия, но и администрирования камер через web-интерфейс, то, собственно, для каждого порта каждой камеры делаете всё те же два правила PREROUTING и FORWARD.

Единственное исключение в плане настройки составляет так называемый порт данных. Например, в камере B55-3 он есть, и без его проброса при входе на камеру через web-интерфейс - картинку с камеры не получится увидеть и не получится использовать функции PTZ.

А вот этот порт надо действительно пробрасывать один-к-одному, предварительно поменяв его в настройках камеры, так как он, так сказать, самоинициализируется с номером, прописанным в настройках.

Например, есть в наличии две камеры B55-3. В первой ставим порт данных 5011, во второй 5012. Ну, и проброс:

первая камера:

iptables -t nat -A PREROUTING -i eth0 -d 1.1.1.1 -p tcp -m tcp --dport 5011 -j DNAT --to-destination 192.168.0.11

iptables -A FORWARD -d 192.168.0.11 -p tcp --dport 5011 -j ACCEPT

вторая камера:

iptables -t nat -A PREROUTING -i eth0 -d 1.1.1.1 -p tcp -m tcp --dport 5012 -j DNAT --to-destination 192.168.0.12

iptables -A FORWARD -d 192.168.0.12 -p tcp --dport 5012 -j ACCEPT

Внимание!!! Обратите особое внимание на то, что правила отличаются от описанных мной ранее:

1. В цепочке PREROUTING в качестве порта назначения указывается тот, что мы прописали в настройках камеры.

2. В конце правила порт, на который идёт переадресация, не указан, так как порт перенаправляется один-к-одному, то есть из интернета пришёл запрос на этот порт, и далее он (запрос) будет транслироваться на камеру на тот же порт.

3. Собственно, в цепочке FORWARD аналогичная ситуация с указанием порта.

Вроде, пока всё :)

Edited by unlifer

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×