Поддержка IPSec ядром
Чтобы использовать IPSEC, Вы нуждаетесь в поддержке IPSEC в ядре. К сожалению ни один дистрибутив American Linux не может включать в свой состав сильный crypto вне Северной Америки, так что они не включают это вообще. Международные версии Linux в настоящее время не имеют поддержки IPSEC встроенной в ядро. Вы должны получить исходный текст ядра (я рекомендую 2.2.13, от декабря 1999), и исходный текст Linux IPSEC, доступный на http://www.freeswan.org
(текущий стабильный snapshot 1.2, от декабря 1999).
Установите исходник ядра (обычно в /usr/src/linux) и затем скомпилируйте новое ядро, установите его, загрузитесь в нем и проверьте его. Удостоверитесь, что Ваша сеть работает правильно, если она не работают, IPSEC работать не будет. Теперь Вы должны загрузить последний вариант IPSEC (версия 1.0 не будет работать с ядрами 2.2.x!). Затем идите в /usr/local/src (или туда, где Вы помещаете исходные тексты для программ), распаковывайте исходник и выполняйте программу установки (make menugo обычно для конфигурации, основанной на ncurses). Это исправит файлы ядра, затем выполнит настройку ядра и сформирует инструментальные средства IPSEC и ядро.
cd /usr/local/src tar ?zvvxf /path/to/tarball/snapshot.tar.gz chown ?R root:root freeswan-snap1999Jun14b cd freeswan-snap1999Jun14b make menugo
Удостоверьтесь, что Вы сохраняете настройки ядра, даже при том, что параметры выбраны, они не были сохранены. Вам возможно также придется восстанавливать ядро, поскольку команда "make menugo" иногда выполняет "make zImage", а она обычно терпит неудачу из-за больших размеров ядеер серии 2.2.x. Сразу после комиляции в таком случае будет выдано сообщение об ошибке. Если оно есть, просто скомандуйте:
cd /usr/src/linux make bzImage cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.13-ipsec
Теперь Вы должны отредактировать lilo.conf, выполнить lilo и перезагрузиться, чтобы использовать новое ядро. lilo.conf должен выглядеть примерно так:
boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=100 image=/boot/vmlinuz-2.2.13-ipsec label=linux-ipsec root=/dev/hda1 read-only image=/boot/vmlinuz-2.2.13 label=linux root=/dev/hda1 read-only
При выполнении lilo Вы должны видеть нечто вроде:
linux-ipsec * linux
Затем перезагрузитесь, и Вы должны получить ядро 2.2.13 с поддержкой IPSEC. При перезагрузке будут сообщения об ошибках. Дело в том, что по умолчанию IPSEC установлен так, чтобы использовать интерфейс eth999, который конечно не существует. Вы должны также добавить /usr/local/lib/ipsec к Вашей инструкции path, или Вы будете должны каждый раз набирать полный путь.