Настройка шифрованного туннеля

Автор: Cherepulya Дата: 08.10.2005 21:42 Есть необходимость настройки шифрованного туннеля между двумя компьютерами с адресами 192.168.0.3 и 192.168.0.5

Установлены пакеты openswan2.1.5-2, ipsectools0.5-2
cat /etc/ipsec.conf
version 2.0 # conforms to second version of ipsec.conf specification

config setup
interfaces="ipsec0=ath0"
klipsdebug=none
plutodebug=none

conn nout
left=192.168.0.3
right=192.168.0.5
type transport
authby=rsasig
auto=start
leftrsasigkey=0sAQPI82vdag9m09lJ7zI+9z7pVsU+h7xPWTsIQdO4u6gwcUjFigcBKNk/TR91ubmFkhO6gb0SJWKICiev5mQdwP+OyGkhtRIAFFUNZNlOUx7UYzRQHgZ5lmqilOLJXQOvygOjIf5BkHp9UD8ukowWBVgFDaSGyh0ICmELwiFnTMySyQ==
rightrsasigkey=0sAQN0vrQQNmXTpXGtLUAZKZVxgHbHX7RxszynXs9OUi3CphGcVAWuN9Awm43Ry5bctde03MrgDbjgCq9B9LjvOAFlMJCSbZqkGaIhD9qwvHn0Udi0P4iyd8hdEA7SpEEs/33CN2d6ygHMJQJZk8cbzJMtDIK9aOtac9xiy0SvVNpohw==

Конфиг на обоих компьютерах одинаковый.

Ключ для каждого компьютера сгенерирован командой ipsec rsasigkey --verbose 1024
Публичная часть ключа соответственно записана в leftrsasigkey и rightrsasigkey
Приватные части ключа записаны в файлы ipsec.secret в виде
192.168.0.3 192.168.0.5: RSA {
... Ключ ...
}

после запуска:

#ipsec verify
Checking your system to see if IPsec got installed and started correctly:
Version check and ipsec on-path [OK]
Linux Openswan U2.1.5/K2.6.13-rc6 (native) (native)
Checking for IPsec support in kernel [OK]
Checking for RSA private key (/etc/ipsec.secrets) [FAILED]
ipsec showhostkey: no default key in "/etc/ipsec.secrets"
Checking that pluto is running [OK]
Two or more interfaces found, checking IP forwarding [OK]
Checking NAT and MASQUERADEing
Checking for 'ip' command [OK]
Checking for 'iptables' command [OK]
Checking for 'setkey' command for native IPsec stack support [OK]

Opportunistic Encryption DNS checks:
Looking for TXT in forward dns zone: cherep [MISSING]
Does the machine have at least one non-private address? [FAILED]


# ipsec look
cherep Sat Oct 8 21:41:15 EEST 2005
cat: /proc/net/ipsec_spigrp: No such file or directory
cat: /proc/net/ipsec_eroute: No such file or directory
egrep: /proc/net/ipsec_tncfg: No such file or directory
sort: open failed: /proc/net/ipsec_spi: No such file or directory
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ath0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 ath0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 ath0
192.168.0.5 0.0.0.0 255.255.255.255 UH 0 0 0 ath0

манов и документаций перерыл кучу. ipsec0 не поднимается. В логах написано что модуль ipsec не найден Грустный

Что я делаю не так? И куда копать?

P.S. Ядра ванильные 2.6.13.2. Сверху собраны драйвера madwifi
Re: настройка шифрованного туннеля 08.10.2005 23:29sergeil Cherepulya писал(а):

> Установлены пакеты openswan-2.1.5-2, ipsectools0.5-2

Об устройствае ipsec0 можете забыть. Если у Вас ядро 2.6 и openswan-2.1.x,
то будет использоваться нативный ipsec ядра 2.6.
Если хотите KLISP, используйте версию 2.3.1, компилируйте модуль ipsec и
устанавливайте под текущее ядро. Устройство ipsec появляетя только при
использования KLIPS

> cat /etc/ipsec.conf
> version 2.0 # conforms to second version of ipsec.conf
> specification
>
> config setup
> interfaces="ipsec0=ath0"
~~~~~~~~~~~~~~~~~~~~~~~~~????

А это что за устройство?
Вы хотели сказать: interfaces="ipsec0=eth0" ?

> conn nout
> left=192.168.0.3
> right=192.168.0.5
> type transport
> authby=rsasig
> auto=start

Я-бы все умолчания описал более полно и не стол-бы изощряться с приватным
ключем для пары хостов. Если у Вас нет особой потребности в rsasig, то проще
использовать preshared key.

Например:

#/etc/ipsec.conf
version 2.0 # conforms to second version of ipsec.conf

config setup
.....interfaces="ipsec0=eth0"
.....klipsdebug=none
.....plutodebug=none
.....uniqueids=yes

# Disable OE
conn block
.....auto=ignore

conn private
.....auto=ignore

conn private-or-clear
.....auto=ignore

conn clear-or-private
.....auto=ignore

conn clear
.....auto=ignore

conn packetdefault
.....auto=ignore

conn nout
......type transport
......left=192.168.0.3
......right=192.168.0.5
......auth=esp
......esp=3des-sha1-96
......authby=secret
......keyexchange=ike
......auto=start

Обратите внинание на лидирующие точки. Их необходимо заменить одним табом.
Вставлены для сохранения форматирования.

#/etc/ipsec.secrets

192.168.0.3 192.168.0.5 : PSK "it_is_my_very_big_secrets"

Строку it_is_my_very_big_secrets вы заменяете последовательность букв-цифр

Права доступа для /etc/ipsec.secrets должны быть
-rw------- 1 root root 4717 Сен 22 20:23 ipsec.secrets

Файлы /etc/ipsec.* без изменения копируется на оба хоста(192.168.0.3 и 192.168.0.5)
Re: настройка шифрованного туннеля 09.10.2005 00:04Cherepulya Премного благодарен за грамотный и внятный ответ.

Интерфейс ath0 - wifi адаптер. В отличии от ethernet интерфейса имя начинается на букву "a"

>Об устройствае ipsec0 можете забыть. Если у Вас ядро 2.6 и openswan-2.1.x,
>то будет использоваться нативный ipsec ядра 2.6.

Каким образом в таком случае будет происходить механизм ширования? Или все будет просто прозрачно - пакеты, проходящие через ath0 будут
подвергаться шифровке|дешифровке?

>Если хотите KLISP, используйте версию 2.3.1, компилируйте модуль ipsec и
>устанавливайте под текущее ядро. Устройство ipsec появляетя только при
>использования KLIPS

О! Меня ввергло в заблуждение обилие документации по freeswan в сети. Там фигурировало появление ipsec-интерфейса после активизации демона.
Теперь в голове все уложилось Улыбка
Re: настройка шифрованного туннеля 09.10.2005 00:29sergeil Cherepulya писал(а):

> Премного благодарен за грамотный и внятный ответ.
>

> Каким образом в таком случае будет происходить механизм
> ширования? Или все будет просто прозрачно - пакеты, проходящие
> через ath0 будут подвергаться шифровке|дешифровке?

К сожалению, да...
Отсутствие отдельного сетевого устройства для шифрованного траффика создаают
серьезную головную боль для настройки firewall. Известен способ как распознать
входящий шифрованный траффик(через маркировку пакетов esp в, если не ошибаюсь,
цепочке PREROUTING), но как отделить исходящий траффик - непонятно.

> >Если хотите KLISP, используйте версию 2.3.1, компилируйте модуль ipsec и
> >устанавливайте под текущее ядро. Устройство ipsec появляетя только при
> >использования KLIPS
>
> О! Меня ввергло в заблуждение обилие документации по freeswan в сети.
> Там фигурировало появление ipsec-интерфейса после активизации демона.
> Теперь в голове все уложилось Улыбка

freeswan - почетный предок, давший жизнь, по меньшей мере, двум проектам:
[www.openswan.org] и [www.strongswan.org]

С KLIPS сейчас не все так здорово как хотелось.
После изменения внутренних интерфейсов в ядре 2.6.12 KLIPS мне так и не удалось
заставить нормально работать... Сижу на ялре 2.6.11.12.

Ну, если что, пишите. Правда, я сейчас больше здесь [www.asplinux.net]
По меньшей мере там меня легко найти...
RSS-материал