PDA

Просмотр полной версии : связь с плк304 через Vpn



alex3000plus
06.12.2010, 23:17
Доброго времени суток!

Прошу прощения если тема поднималась, поиск по форуму не дает результата, а просматривать 50 страниц не вариант.

Поднял PPTP сервер на WinServer2008, настроил роутер (dir100) в качестве клиента. К LAN роутера подсоединил контроллер ПЛК304. Все друг друга видят (пинг), кроме сервер контроллера. На роутере настроил переброс портов из WAN в LAN на IP контроллера, диапазон портов 1-65535, и ТСР и UDP. В итоге получается зайти на web-интерфейс контроллера с сервера, но из кодесиса(v3.4) не получается ничего. Сканирование сети не дает результата. GateWay в той же подсети, что и VPNклиенты. Как мне достучаться до контроллера?

Andy
07.12.2010, 00:37
в настройках плк гейт прописан? должен быть Ip роутера.

alex3000plus
07.12.2010, 00:42
да, прописан

пс. я так понимаю Lan Ip !?

Малышев Олег
07.12.2010, 10:24
1) Мало поднять на роутере проброс портов - на нужно тоже сделать на Windows 2008 PPTP , возможно, это - настройка файрвола. Не уверен правда. Реально все порты не нужны. Какие нужны (кроме 1741) - вопрос к 3S. Хотя в документации это вроде бы прописано.
2) Попробуйте поработать в локальной сети - у меня был конфликт с драйвером VMWare - пока все его сетевые подключения не убьешь, контроллер в упор не видит. Вместо ПЛК 30х можно поставить ПК с CoDesys SP Win и посмотреть как идет обмен сниффером(рекомендую ethereal). Далее относим его за маршрутизатор и смотрим что не проходит.

K.I.V.
07.12.2010, 15:29
1) у меня был конфликт с драйвером VMWare - пока все его сетевые подключения не убьешь, контроллер в упор не видит.
странно ... тут дело, точно, не в VMWare.
скорее в "приготовлении" винды ... 100% :rolleyes:


Вместо ПЛК 30х можно поставить ПК с CoDesys SP Win и посмотреть как идет обмен сниффером(рекомендую ethereal). Далее относим его за маршрутизатор и смотрим что не проходит.


"ethereal" to up "Wireshark" ;)

Andy
07.12.2010, 22:05
да, прописан

пс. я так понимаю Lan Ip !?

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

alex3000plus
08.12.2010, 03:28
Сервер свободно виден из интернета.
PPTP сервер имеет адрес 192.168.84.1
На домашнем ПК две сетевухи net1(Подключена к локальной сети провайдера, интернет через рррое; на рррое соединении открыт доступ в инет для net2) и net2(когда расшарил рррое, для net2 был назначен 192.168.137.1 и она(сетевуха) без проблем раздает IP всем кто подключается к ней)

Схема1:
К net2 подсоединяю ноутбук. Создаю PPTP подключение к серверу средсвами виндовс, подключаюсь. Ноутбуку назначается адрес 192.168.84.2. На сервере создаю GateWay 192.168.84.1 и пытаюсь подключиться к SP Win на ноутбуке (указываю адрес кодесис: 2). Все проходит нормально. В снифере видно как они обмениваются по UDP.

Схема2:
Ставлю между ноутбуком и 2ой сетевухой роутер. Роутер подсоединяется к серверу. ВАНу роутера назначается адрес 192.168.84.2, ВПН есть. У ЛАНа 192.168.0.1, ноутбуку назначается адрес 192.168.0.2 и шлюз 192.168.0.1. Теперь пытаюсь подключиться к SP Win как и в первом случае. Ничего не получается.

мак f0:7d:68:4f:10:c0 - походу ЛАН порт роутера.
00:22:15:8d:21:56 - ноутбук

В роутере настроен переброс всех портов и DMZ - 192.168.0.2. ВАНу клонирован мак адрес ноутбука, пробовал не клонировать.

В снифере видно примерно так:
№1 UDP 192.168.84.1:1740 (f0:7d:68:4f:10:c0) -> 192.168.0.2 :1740 (00:22:15:8d:21:56) данные 32 байта
№2 UDP 192.168.0.2 :1740 (00:22:15:8d:21:56) -> 192.168.0.1 :1740 (f0:7d:68:4f:10:c0) данные 36 байт
№3 ICMP 192.168.0.1 -> 192.168.0.2 Destination unreachable (Port unreachable)

Так повторяется несколько раз. До сервера ответы не доходят.

Малышев Олег
08.12.2010, 09:32
Очевидно маршрутизация UDP через VPN не проходит. Gatway серверу нужен именно UDP протокол. У меня был маршрутизатор TRENDNet (модель не помню), так там была галочка маршрутизация UDP(по умолчанию отключена). Если галочки нет, должен быть диапазон проходящих UDP через DMZ. Если и этого нет - попросите где-нибудь поиграться роутер подороже - например, dlink-320 или asus wl500,520. Эти однозначно должны иметь настройки работы с UDP.

Andy
08.12.2010, 14:27
присоединяюсь. невнимательно прочитал первый пост.

alex3000plus
08.12.2010, 14:53
По схеме 2, когда ничего не получается, попробовал UDP клиент и сервер. Одиночные датаграммы проходят без проблем в обоих направлениях. Просто получается SP Win при поступлении запроса отвечает не на IP источника, а получает его из МАС и отвечает туда.

Малышев Олег
08.12.2010, 15:14
Есть еще вариант - добавьте в качестве гетвей (в Communication Settings) адрес ПЛК.

alex3000plus
08.12.2010, 15:34
извиняюсь, не понял, это где?

Малышев Олег
08.12.2010, 15:55
Двойной клик на Device, вкладка Communication Settings
Надо нажать Add gateway...
Вводите вместо localhost ip контроллера
Картинку что то не очень получилось вставить :(

alex3000plus
08.12.2010, 16:44
GateWay я делаю 192.168.84.1
Если ставлю 192.168.84.2 то он становиться красненьким, если включаю GateWay(сервис) на ноутбуке, то становиться зелененький, оно и логично, но мне надо не так. В качестве Гейта указать IP контроллера (В моем случае это ноутбук c SP Win и IP 192.168.0.2) не получится, из внешней сети эта подсеть вообще не видна.
Мне тут люди посоветовали перейти на IPSec и купить приличный по цене DFL-210(межсетевой экран)тогда типа можно будет строить VPN сеть-сеть. Но на форуме я читал( http://www.owen.ru/forum/showthread.php?t=627&page=1 ) , что у Ганса все работает и так. Правда там VPN провайдера, железка - роутер в режиме PPPoE и кодесис походу 2ой, т.к. плк100. Сейчас общаюсь со специалистом из dlink, жду его ответа.

Евгений Сергеевич
20.01.2011, 18:04
Для настройки VPN попробуйте вот это

alex3000plus
01.03.2011, 18:10
Для проверки и автоподъема соединения написал скрипт в /usr/local/autoconnect.sh с таким содержимым:

#!/bin/sh
while true; do
ping -c 1 192.168.1.1
if [ $? = 1 ]; then
killall pppd
sleep 10
pppd call vpn
fi;
sleep 60
done
exit

192.168.1.1 - адрес vpn-сервера
скрипту надо выставить права на исполнение
и добавить в rc.local в конец следующее:
cd /usr/local/
./autoconnect.sh