Welcome to eComStation.RU site!

Select your language: Russian English Deutch Spanish Italian Portuguese Czech Polish French

Frequently asked questions and answers:

eComStation.RU

ru · en · de · es · it · pt · cz · pl · fr
eComStation - это совершенно другая операционная система для PC (IBM OS/2 Warp)
Программы, новости, статьи, поддержка пользователей, оборудование, вопросы и ответы.
 
      Что такое OS/2?НовостиУстановкаОбновлениеПрименениеБудущееСообществоКупить    
(Карта сайта)

 
 
Списки протестированного OS/2 оборудования
Как получить драйверы OS/2 бесплатно

 
Обновление

 
Программы

 
(Санкт-Петербург)

 
Преимущества (1)

 
Разработчику (1)

 
(Пайпы программ)

 
Компании: (1)

 
История (1):

 
(Бонусы)

 
Советы:

 
(Барьеры и решения)

 
Технологии: (1)

 
(Применение в науке, лаборатории, ..)

 

 
Готовые решения:

 
Новая eComStation:

 
Будущее: (1)

 
(Ссылки на другие сайты)

 
(Картинка дня)

 
Артефакты OS/2

 
Гаджеты

 

VPN (IPSec) между двумя eCS


TITLE: VPN (IPSec) между двумя eCS

DATE: 2002-10-25 10:40:16

AUTHOR: Eugene Kazarinov

Далее ты найдешь алгоритм действий для соединения двух осевых машин между собой по VPN. Возможно поднятие туннеля, через который будет идти весь трафик между двумя шлюзами по публичной локальной сети.

0. Прелюдия

В оси есть возможность создания VPN соединений, но по непонятным причинам IBM не довела эту возможность до удобоюзабельного состояния, когда портировала это дело с AIX'а и в итоге VPN соединение разрывается через 8 часов или около того (я сейчас не помню). При этом шифруется все это дело слабым криптованием. Длиной ключа 1024 здесь глубо не пахнет, а посему возможно решение, когда ключи будут обновляться каждые 3000 секунд (50 минут) к примеру.

1. Что нам нужно

  • две осевые машины со стеком tcp/ip 4.3 (ранние мною не проверялись. проверка производилась на комбинациях машин aurora, acp1 и acp2)
  • ftp сервер на одной из машин (будем называть ее сервером)
  • rexx на обеих машинах (обычно идет в комплекте)
  • набор скриптов моего производства.

2. Как это работает

Обозначения: O:\ - это твой загрузочный диск

Далее приводится пример рабочей конфигурации, зачем тот или иной дергунок читай эту доку, а также другие доки). Для начала нужно убедиться, что

  • В системе установлен VPN, убедитесь в наличии строк в config.sys
    DEVICE=O:\MPTN\PROTOCOL\IPSEC.SYS
    DEVICE=O:\MPTN\PROTOCOL\FWIP.SYS
    DEVICE=O:\MPTN\PROTOCOL\CDMF.SYS
    DEVICE=O:\MPTN\PROTOCOL\MD5.SYS
    DEVICE=o:\mptn\protocol\des.sys
    
  • В системе установлен и запущен встроенный файрвол, убедитесь в наличии строк в config.sys
    SET FWLOGS=R:\LOG\FW
    rem ^^^туда будем валить логи
    RUN=O:\MPTN\BIN\FSSD.EXE
    CALL=O:\MPTN\BIN\CFGFILT.EXE -u -i -d
    

    в %ETC% должны находиться файлы:

    • файл fwlog.cnf внутри которого
      level=10
      
    • файл fwsecad.cnf; внутри по одному ip на строку (ip этой машины, которые следует считать secure'ными). Например,
      10.0.37.1
      10.0.37.2
      
    • в %ETC%\security должен лежать файл fwfiltrs.cnf; внутри чтобы все работало пока нет настроенного VPN'а:
      permit 0 0 0 0 all any 0 any 0 both both both l=n
      

3. Вход для пользователя

На ftp сервере нужно создать вход для юзера, который будет обновлять ключи.

4. Все готово

Теперь устанавливаем и настраиваем VPN refresher (скачиваем файл отсюда). внутри 5 скриптов, всех их кидаем куда-нибудь в PATH

  1. на обеих машинах должен быть запущен комплирующий скрипт VPNrefresher.compiler.cmd. У него единственный параметр - время передергивания VPN соединения в секундах, если VPN соединение не инициировалось ранее с обновленными ключами. (Система может работать очень долго и на необновляемых ключах, она будет просто реинитить соединение каждые сколько-то секунд, но с точки зрения безопасности - это полная халатность)
  2. На пассивной машине (на сервере. здесь же стоит ftp демон и принимает новые ключи по старому VPN соединению) VPNrefresher.passive.cmd три параметра:
    • ftpDir - директория мониторинга, где следует ожидать появления файлов-флагов
    • localip, remoteip - ip адреса обоих концов VPN соединения
  3. на активной машине (будем называть его клиентом) VPNrefresher.active.cmd параметры:
    • localip tidlocal - ip адрес активной машины и номер туннеля используемый для идентификации VPN соединения
    • remoteip tidremote - тоже для пассивной стороны (в моем случае номер туннеля на обеих машинах - 14)
    • remoteuser remotepasswd - логин и пароль на ftp сервер
    • refreshtime - интервал времени в секундах, через который следует обновлять ключи

Если запускать скрипты в указанном порядке, то система начнет работать, но первые ключи будут переданы по незащищенному каналу, вернее даже без всяких каналов вообще. После выполнения следующего пункта стоит тут же перезапустить активный скрипт (VPNrefresher.active.cmd) но здесь есть два пути:

  • тебя это устраивает и ты так и сделаешь, то бишь. сейчас у тебя уже сгенерировались ключи и уже синхронизировались на обеих машинах. Теперь нужно выполнить следующий пункт и после его воплощения перезапустить активный скрипт. После чего произойдет обновление ключей опять по незащищенному каналу, но после инициализации соединения весь трафик между двумя машинами начнет ходить по VPN соединению. (В чем суть, если у тебя файрвол уже стоит и работает, то можно после перезагрузки сразу выполнить пункт 5, а потом выполнять пункт 4, если же ты делаешь это с нуля, то я думаю нет ничего страшного и зазорного, если ключи пару раз будут переданы по публичной сети, если у тебя нет возможности оперативно вмешаться в работу удаленной машины в случае, когда что-то пойдет не так, то лучше перестраховаться и удостовериться, что все работает). Если ключи снова обновились и скрипты нигде не ругнулись - мои поздравления. теперь например ping 10.0.37.7 или 10.0.37.1 с одной из машин будет ходить по VPN. НО. Ключи-то были переданы на пассивную машину еще не по VPN соединению, поэтому нужно еще раз перезапустить активный скрипт и удостовериться, что ключи обновляются и по защищенному туннелю тоже.
  • тебя не устраивает передача первых ключей по публичным каналам. В этом случае нужно выполнить следующий пункт и каким-либо только тебе известным образом перенести файлы для удаленной машины на удаленную машину. Готового решения в скриптах для этого нет. Для этого ты выполняешь пункт 5 до пункта 4 после чего нужно проинитить VPN соединение или каким-либо другим способом не дать активному скрипту запихнуть ключи на пассивную машину, например, ему можно сказать кривой логин на ftp. После чего подхватить 4 сгенерированных файла. Файлы fwmctx.10.0.37.1._.10.0.37.7 и policy.10.0.37.1._.10.0.37.7 тиснуть в %ETC% на активной машине, добавив в конец имени .man Файлы *.10.0.37.7._.10.0.37.1.* перенести на удаленную машину и также добавить .man в конце имени каждого. После чего нужно запустить на каждой машине VPNrefresher.pushReInit.cmd и вуаля - VPN соединение должно подняться. Проверяется ping'ом и смотрением в логи. После чего можно перезапустить на активной стороне VPNrefresher.active.cmd, чтобы удостовериться, что автоматическое обновление работает.

5. Редактирование fwfiltrs.cnf

В fwfiltrs.cnf добавляем строки ДО той, что я указывал ранее на активной машине (клиент, там где нет ftpd и которая инициирует обновление ключей)

ее ip 10.0.37.1
permit 10.0.37.1 255.255.255.255 10.0.37.7 255.255.255.255 ah any 0 any 
0 secure local both f=y l=n
permit 10.0.37.7 255.255.255.255 10.0.37.1 255.255.255.255 ah any 0 any 
0 secure local both f=y l=n
permit 10.0.37.1 255.255.255.255 10.0.37.7 255.255.255.255 esp any 0 any 
0 secure local both f=y l=n
permit 10.0.37.7 255.255.255.255 10.0.37.1 255.255.255.255 esp any 0 any 
0 secure local both f=y l=n
permit 10.0.37.1 255.255.255.255 10.0.37.7 255.255.255.255 udp eq 4001 
eq 4001 secure local both f=y l=n
permit 10.0.37.7 255.255.255.255 10.0.37.1 255.255.255.255 udp eq 4001 
eq 4001 secure local both f=y l=n
permit 10.0.37.1 255.255.255.255 10.0.37.7 255.255.255.255 all any 0 any 
0 secure local both t=14 f=y l=n
permit 10.0.37.7 255.255.255.255 10.0.37.1 255.255.255.255 all any 0 any 
0 secure local both t=14 f=y l=n

#эти две строки объясню ниже
#permit 10.0.37.1 255.255.255.255 0 0 all any 0 any 0 secure local both 
t=14 f=y l=n
#permit 0 0 10.0.37.1 255.255.255.255 all any 0 any 0 secure local both 
t=14 f=y l=n

На второй машине (пассивной) в моем случае это гейт в интернет, ip 10.0.37.7

permit 10.0.37.7 255.255.255.255 10.0.37.1 255.255.255.255 ah any 0 any 
0 secure local both f=y l=n
permit 10.0.37.1 255.255.255.255 10.0.37.7 255.255.255.255 ah any 0 any 
0 secure local both f=y l=n
permit 10.0.37.7 255.255.255.255 10.0.37.1 255.255.255.255 esp any 0 any 
0 secure local both f=y l=n
permit 10.0.37.1 255.255.255.255 10.0.37.7 255.255.255.255 esp any 0 any 
0 secure local both f=y l=n
permit 10.0.37.7 255.255.255.255 10.0.37.1 255.255.255.255 udp eq 4001 
eq 4001 secure local both f=y l=n
permit 10.0.37.1 255.255.255.255 10.0.37.7 255.255.255.255 udp eq 4001 
eq 4001 secure local both f=y l=n
permit 10.0.37.7 255.255.255.255 10.0.37.1 255.255.255.255 all any 0 any 
0 secure local both t=14 f=y l=n
permit 10.0.37.1 255.255.255.255 10.0.37.7 255.255.255.255 all any 0 any 
0 secure local both t=14 f=y l=n

#объясню ниже.
#permit 0 0 10.0.37.1 255.255.255.255 all any 0 any 0 secure local both 
t=14 f=y l=n

Всунул строки? Теперь возвращайся в пункт 4 и перезапускай активный скрипт.

Что это за строки, которые я обещал прокомментировать в выше? Это правила файрвола, которые указывают ему посылать весь трафик на конкрентный ip по туннелю. Причем обращаю внимание, что на конечной машине (на клиенте 10.0.37.1) - две строки. Одна строка указывает, что нужно принимать трафик из туннеля, а вторая что исходящий трафик нужно пихать также в туннель. На шлюзе (10.0.37.7) - только одна, предписывающая посылать трафик НА ip 10.0.37.1 через туннель. Трафик ОТ 10.0.37.1 в интернет через туннель посылать не нужно, потому что он направлен в интернет, а с тем концом, извините, мы VPN соединений не поднимали.

Вот и все. Приятной работы. Встреченные глюки и баги прошу писать в комментарии к этой статье или на мыло.

P.S. Кто-нибудь строит биллинговую систему выхода в интернет на eCS/2 ?? Изучается спрос на подобные системы. Прошу связаться со мной по электронной почте.


Автор: Eugene Kazarinov (TEAM OS/2 Russia)

Попробуй программу:

PMView работает у тебя уже несколько лет. Имеет смысл вознаградить разработчика полезной программы (+присылай предложения и баг-репорты).

Комментарии:

RElf
2002-10-25 11:05:23

Я не понял одного: при чем тут eCS?

Constantin
2002-10-25 11:32:46

2Eugene: Это здорово, что ты разобрался в VPN+FW. Тем не менее наведу критику:

1. Ничего страшного в DES-ключе 128 бит. По "прочности" он примерно эквивалентен RSA длиной 1024.

2. Смена ключей по тому же каналу, который они защищают - идеологическая ошибка. Плановая смена ключей планируется в предположении о необнаруженной дискредитации ключей. Т.е. ты передаешь новые ключи по уже взломанному каналу. Следствие:

3. Смена ключей (в т.ч. и 1-чная) делается по более защищенному каналу, чем защищаемый ("матрешка"). В пределе - из рук в руки при личной встрече :))

kamuzon
2002-10-26 06:21:44

1. Отлично.

2. предложи реально работающий вариант, который не будет идеологической ошибкой. И чтобы это работало в автомате. Можно конечно брать какую-нибудь инфу с одного конкретного сайта и обрабатывать это каким-нибудь заложенным в систему методом, но как обеспечить уникальность метода (под методом подразумевается какой-нибудь алгоритм получения кода с помощью какой-нибудь дикой формулы или ещё как-нибудь по-хитрому).

3. ничего не понял

чем защищаемый что?

Непонятый
2002-10-26 22:10:04

Обновлять ключи автоматом можно скажем по ssh. Вот и все решение

kamuzon
2002-10-27 06:25:08

есть какие-либо rexx dll для автоматического логина на ssh, ввода пароля, etc ??

Phantom
2002-11-01 15:19:58

А если на той стороне будет штатный линуховый VPN-сервер (он же pptp), который требует помимо всего прочего авторизации по имени и паролю или это всетаки не VPN, а IPSec?

zuko
2002-11-01 15:31:08

pptp <> VPN (ipsec)

Phantom: ты же должен знать уже как именно устpоен pptp ;)

ipsec обходится без всяких ppp пpотоколов, он инкапсулиpует ip пакетики в ip пакетики с шифpацией/аутентификацией.

kamuzon
2002-11-04 01:04:21

Читай название. Там написано про две оси.

Phantom
2002-11-04 01:16:35

2kamuzon: Понимаешь, в статье нигде не сказано, что это IPSec. Мне пров присылает ссылку на твою статью, после я матерюсь и объясняю прове, что это все таки IPSec.

2zuko: Я знаю, что такое pptp, VPN и IPSec, но не надо же людей вводить в заблуждение. Да, я еще не ковырялся в потрохах pptp - лень ;)

kamuzon
2002-11-04 01:20:36

Вау, что это за пров такой, который по осёвым сайтам ходит? 8=]

У меня нигде не написано, что это pptp

Тебе лень, а все остальные сидят без готовых решений. Помнишь ты мне говорил, что-то про сетевизмы?.... А воз и ныне там.

Phantom
2002-11-04 01:31:27

Есть такие.

"Лень" надо приравнивать к выражению "нет пока времени этим заниматься".

kamuzon
2002-11-04 01:40:22

ХА.

"нет пока времени этим заниматься" потому что "Лень"

8=]

Mancubus
2003-04-05 09:44:38

А подружить Os/2 через VPN с WIN2k возможно таким способом?

Pavel Shtemenko
2003-08-07 11:57:14

Вот и я наведу критику ;-) В статье нигде явно не указано, что в фильтрах _обязательно_ должна быть строка с ECP но без тунеля. И кстати строки с AH у тебя лишние, тыж не используешь аунтификацию.

Ян Злобин
2004-07-22 04:33:08

//А подружить Os/2 через VPN с WIN2k возможно таким способом?//

Как вариант, можно подружить через InJoy 3.0 - вообще классная софтина.

Прокомментируйте эту статью (напоминаем, автор работал над текстом несколько недель, уважайте мнение других).


Ваше имя:

Ваш E-Mail:

CODE:
......

  

Ваш комментарий:


eComStation 2.0 работает быстрее (поддержка SMP x файловая система JFS) Что нового в eCS 2.0?

Статьи

Операционная система
Программное обеспечение
Оборудование
Для разработчика
Разное
Колонка редактора


Готовая eComStation на SSD диске

 





Последний активный опрос: Какая высота барьера RPM?

IBM OS/2 Warp

 
Обучение новичков

Отчет: OS/2 совместимое оборудование

 
Статьи


   
  Почему eComStation?
Возможности
Особенности
Применение
Ролики и скриншоты
   eComStation для
для бизнесменов
для студентов и инженеров
для продавцов компьютеров
сообщество пользователей
   Разработчик
Распространить программу
Описание API, библиотеки
Начать новый проект
Конкурсы
   Программы
Он-лайн каталог
Выбрать через eCo Market
   Служба поддержки
Отправить вопрос
Купить eComStation
Вопросы и ответы
Обучение новичков
 
 
© 2001 - 2014 eCo Software, All rights reserved
eComStation is a registered trademark of Serenity Systems International
OS/2 Warp is a registered trademark of IBM Corporation
 

 

 
Картинка дня: