Настройка 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

Права на каталоги SAP в Linux

В примере SM1 — SID системы

Можно использовать скрипты saproot.sh and oraroot.sh выставляющие нужные права или раздать их вручную:

 

Чтобы работал brtools и db13:

chown orasm1:sapsys /sapmnt/SM1/exe/brarchive
chown orasm1:sapsys /sapmnt/SM1/exe/brbackup
chown orasm1:sapsys /sapmnt/SM1/exe/brconnect
chown sm1adm:sapsys /sapmnt/SM1/exe/brrecover
chown sm1adm:sapsys /sapmnt/SM1/exe/brrestore
chown sm1adm:sapsys /sapmnt/SM1/exe/brspace
chown sm1adm:sapsys /sapmnt/SM1/exe/brtools
chmod 4774 /sapmnt/SM1/exe/brarchive
chmod 4774 /sapmnt/SM1/exe/brbackup
chmod 4774 /sapmnt/SM1/exe/brconnect
chmod 755 /sapmnt/SM1/exe/brrestore
chmod 755 /sapmnt/SM1/exe/brrecover
chmod 755 /sapmnt/SM1/exe/brspace
chmod 755 /sapmnt/SM1/exe/brtools

 

Пример:

-rwsrwxr--  1 orasid   sapsys    10022600 Aug 23 2012  brarchive
-rwsrwxr--  1 orasid   sapsys    10251536 Aug 23 2012  brbackup
-rwsrwxr--  1 orasid   sapsys    12179560 Aug 23 2012  brconnect
-rwxr-xr-x  1 sidadm   sapsys    10708840 Aug 23 2012  brrecover
-rwxr-xr-x  1 sidadm   sapsys     4140576 Aug 23 2012  brrestore
-rwxr-xr-x  1 sidadm   sapsys    12778384 Aug 23 2012  brspace
-rwxr-xr-x  1 sidadm   sapsys     4711664 Aug 23 2012  brtools

 

 


 

113747 - Owners and authorizations for BR*Tools

Solution

The following settings are required to call the BR*Tools correctly, especially when using transaction DB13 or DBACOCKPIT:

(1)
ora<sid> and <sid>adm on DB server have a search path on /sapmnt/<SID>/exe. (All br* are contained in this directory.)
ora<sid> belongs to the dba group,
<sid>adm belongs to the sapsys group,

(2)
<sid>adm on the database server has the rhosts entry: "+ <sid>adm".

(3)
The Oracle user ops$<sid>adm must be created in the DB and must have the role sapdba (not DBA) (see SAP Note 134592 for more information).

(4)
brarchive, brbackup, and brconnect belong to ora<sid> and have authorization 4774:
-rwsrwxr--   ora<sid>   sapsys   ...

Reason:
Both the operating system (OS) user ora<sid> and the OS user <sid>adm (for example, from SAP R/3, transactions DB13 or DBACOCKPIT) must be able to call these tools. These tools require access authorization to the database directories and files as well as to the log directories (saparch, sapbackup, sapcheck, and sapreorg) of the BR*Tools. To ensure that they can be executed by both ora<sid> and by <sid>adm, they must belong to the user ora<sid>, and the s-bit must be set.

(5)
brrestore, brrecover, brspace, and brtools belong to <sid>adm and have authorization 755:
-rwxr-xr-x   <sid>adm   sapsys   ...

Reason:
These tools may be used only by OS user ora<sid>, but not by <sid>adm. This ensures that the user <sid>adm does not have write permission for the log directories and therefore cannot create any logs. For this, no s-bit is set, and it is not necessary to define an owner other than the standard owner <sid>adm.
If the tools were started using <sid>adm, they would terminate immediately after the start due to the missing log authorization. However, the user ora<sid> can start the programs despite this and also has the required authorization for the log directories.

For example:
-rwsrwxr--  1 orasid   sapsys    10022600 Aug 23 2012  brarchive
-rwsrwxr--  1 orasid   sapsys    10251536 Aug 23 2012  brbackup
-rwsrwxr--  1 orasid   sapsys    12179560 Aug 23 2012  brconnect
-rwxr-xr-x  1 sidadm   sapsys    10708840 Aug 23 2012  brrecover
-rwxr-xr-x  1 sidadm   sapsys     4140576 Aug 23 2012  brrestore
-rwxr-xr-x  1 sidadm   sapsys    12778384 Aug 23 2012  brspace
-rwxr-xr-x  1 sidadm   sapsys     4711664 Aug 23 2012  brtools

Note 1:
On Linux and Solaris 11, you have to adjust the authorization for brarchive, brbackup, and brconnect manually if you want to create RMAN backups with the OS user <sid>adm. For more information, see SAP Note 776505.

Note 2:
Other BR*Tool authorizations apply for Oracle installations with the OS user oracle. For more information, see SAP Note 1598594.