Туннель IPsec с Solaris10 .. что я упускаю?

Попробуйте эту простую команду sed,

sed 's/\([A-Za-z]\+\)/=\1/g' file

Пример:

$ (echo 'A   B   C'; echo 'A C D F') | sed 's/\([A-Za-z]\+\)/=\1/g'
=A   =B   =C
=A =C =D =F

Эта команда поместит знак = перед A – Z , a – z .

ИЛИ

попробуйте также эту команду,

sed 's/\([ ]\+\)/\1=/g; s/^\(.*\)$/=\1/g' file

Пример:

$ (echo 'A   B   C'; echo 'A C D F') | sed 's/\([ ]\+\)/\1=/g; s/^\(.*\)$/=\1/g'
=A   =B   =C
=A =C =D =F

Эта команда заменит один или несколько пробелов одним или несколькими пробелами плюс знак = , а также поместит = при запуске.

0
17.02.2019, 22:03
1 ответ

Решение найдено Ошибка была в синтаксисе многих конф. файлы Сначала файл

/etc/inet/ike.preshared

должно быть так, ip для использования должен быть IP-адрес туннеля, а не IP-адрес «основного» интерфейса.

# ike.preshared on hostA
#…
{ localidtype IP
    localid 10.4.0.1
    remoteidtype IP
    remoteid 10.4.0.2
    key keyinhexformat
    # The preshared key can also be represented in hex
# as in 0xf47cb0f432e14480951095f82b
# key "This is an ASCII Cqret phrAz, use str0ng p@ssword tekniques"
}

Чтобы сгенерировать ключ в шестнадцатеричном формате, используйте эту команду

echo "mypassword" | od -t x1|head -1|tr -d ' '

Файл

/etc/inet/ike/config

должно быть похоже на это, даже в этом случае используйте IP-адрес туннеля, а не IP-адрес основного интерфейса.

p1_xform
  { auth_method preshared oakley_group 5 auth_alg sha encr_alg 3des }
p2_pfs 2
{ label "test1-test2" local_addr 10.4.0.1 remote_addr 10.4.0.2 p1_xform { auth_method preshared oakley_group 5 auth_alg sha256 encr_alg aes } p2_pfs 5 }

Конечно, в hostB нужно поменять местами 10.4.0.1 с 10.4.0.2 для обоих файлов.

Наконец, отредактируйте файл /etc/inet/ipsecinit.conf

{laddr 192.168.0.21 dir both} bypass {}
{laddr 10.4.0.1 raddr 10.4.0.2} ipsec {encr_algs aes encr_auth_algs sha256 sa shared}

Конечно, в хосте B должно быть наоборот 10.4.0.1 с 10.4.0.2 и 192.168.0.21 должен быть изменен с основным IP-адресом узла hostB

Теперь запустите скрипт на hostA

ifconfig ip.tun0 unplumb
ifconfig ip.tun0 plumb
ifconfig ip.tun0 10.4.0.1  10.4.0.2 netmask 255.255.255.0 tsrc 192.168.0.21 tdst 192.168.0.199 router up
for i in ike ipsec/policy;do svcadm refresh $i; done

Теперь запустите скрипт на hostB

ifconfig ip.tun0 unplumb
    ifconfig ip.tun0 plumb
    ifconfig ip.tun0 10.4.0.2  10.4.0.1 netmask 255.255.255.0 tsrc 192.168.0.199 tdst 192.168.0.21 router up
    for i in ike ipsec/policy;do svcadm refresh $i; done

И все работает, проверяйте с помощью ping и snoop.

0
28.01.2020, 03:59

Теги

Похожие вопросы