Настройка SNC-туннеля SAPRouter

Допустим, вам нужно настроить SAPRouter с SNC для удаленных пользователей, например, людей из другого офиса.

Скачаем и распакуем saprouter (sapcar -xvf) и крипто библиотеку в, например, C:\saprouter .

Пропишем переменные окружения (пример):

SECUDIR=C:\saprouter

SNC_LIB=C:\saprouter\nt-x86_64\sapcrypto.dll

 

Далее создадим сертификаты и обменяемся ими:
Внимание, имена РЕГИСТРОЧУСТВИТЕЛЬНЫЕ ! CN в данном случае ИМЯ ХОСТА (работает и по короткому имени, без домена). Однако, CN может быть любым и не совпадать с именем машины, а использоваться для удобства понимания.
Сторона инициатора:

sapgenpse get_pse -v -noreq -p local.pse "CN=spb-initiator"
sapgenpse seclogin -p local.pse
sapgenpse export_own_cert -o spb-initiator.cer -p local.pse

Сторона акцептора:

sapgenpse get_pse -v -noreq -p local.pse "CN=msk-acceptor"
sapgenpse seclogin -p local.pse
sapgenpse export_own_cert -o msk-acceptor.cer -p local.pse

 

Обменяемся сертификатами, запишем в каталог C:\saprouter\nt-x86_64

На стороне инициатора положим файл msk-acceptor.cer , на стороне акцептора положим файл spb-initiator.cer

 

Выполним команду на стороне инициатора:

sapgenpse maintain_pk -a msk-acceptor.cer -p local.pse

И на стороне акцептора:

sapgenpse maintain_pk -a spb-initiator.cer -p local.pse

 

Настройки saproutetab:

Инициатор:

# Allow Outbound connections to SAProuter host2 will use SNC
KT "p:CN=msk-acceptor" <IP акцептора> 3299

# Allow all inbound connections
P * * *

Акцептор:

# accept incoming connections from SAProuter1
# with destination sapdp00 and 3298 on any host
KP "p:CN=spb-initiator" * sapdp00
KP "p:CN=spb-initiator" * 3298

 

Запуск saprouter:

Инициатор:

Saprouter -r -K p:CN=spb-initiator

Акцептор:

Saprouter -r -K p:CN=msk-acceptor

 

Строка String SAPROUTER в SAP GUI :

/H/<IP инициатора>/H/<IP акцептора>/H/

 

Проверка: 

Инициатор:

niping -c -H /H/<IP инициатора>/S/3299/H/<IP акцептора>/S/3299/H/<IP акцептора>

Акцептор:

niping -s

Получаем сообщение вида:

connect to server o.k.
send and receive 10 messages (len 1000)

------- times -----
avg 12.900 ms
max 13.548 ms
min 12.631 ms
tr 151.405 kB/s
excluding max and min:
av2 12.853 ms
tr2 151.963 kB/s

 

Если нет - читаем файл dev_rout. Если программа ругается на SNC - вы напутали что-то с сертификатами, наиболее вероятно перепутали инициатора, акцептора и кто какой сертификат ждет.

Если ругается на route permition denied - проверйяте saproutetab, видимо указали не верный IP. Возможно в c:\windows\system32\drivers\etc\services не описан порт sapdp00.

 

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

Проблема: человек из региона приезжает в командировку с прописанной строкой saprouter в центральный офис. Из-за этой строки тут он начинает ходить петлей до своего региона и обратно сюда.

Решение: завести еще один гостевой сапроутер. В DNS назвать везде в регионах хост, например, saprouter. Гостевой сапроутер так же назвать saprouter. Т.о. сотрудник в домашнем регионе и в командировке будет ходить через сапроутеры, только в одном случае по каналу регион-центральный офис, в другом - между двумя локальными сапроутерами центрального офиса.

 

Инструкция на SCN:

http://wiki.scn.sap.com/wiki/display/Basis/How+to+setup+SNC+connection+between+SAProuters

This entry was posted in SAP.