IP Security (IPSec)

Обзор

Поддержка IPSec ядром

Настройка сети для IPSec

Примеры настройки IPSec

Коммерческие версии IPSec

Windows-клиенты IPSec

 

Обзор

IP Security (IPSec) шифрование сетевого трафика. Вы не можете шифровать информацию заголовка или завершитель (то есть, IP адрес/порт, куда и откуда идет пакет, CRC и прочее), но Вы можете шифровать полезные данные. Это позволяет Вам обезопасить протоколы типа POP/WWW без того, чтобы менять их, так как шифрование происходит на уровне IP. Это также позволяет Вам надежно подключать клиентов к LAN по опасным сетям (подобно Internet). В настоящее время IPSec для Linux находится на тестировании, однако имелось несколько устойчивых выпусков, и я успешно развернул под Linux IPSEC-сервер. IPSEC стандарт, и часть IPV6 протокола, Вы можете приобретать IPSEC программное обеспечение для Windows 95/98/NT и Solaris, Подробности по работе с firewall или блоками NAT (например, Linux с IP Masquerading) см. в разделе о firewall.

Поддержка 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, или Вы будете должны каждый раз набирать полный путь.

Настройка сети для IPSec

Надо разрешить TCP-IP forwarding на шлюзовом сервере, в Red Hat Linux это достигается заменой в файле /etc/sysconfig/network строки:

FORWARD_IPV4="false”

на строку:

FORWARD_IPV4="yes"

Или Вы можете разрешить это через файловую систему /proc:

cat 1 > /proc/sys/net/ipv4/ip_forward

Так как большинство людей имеет значение по умолчанию, запрещающее forwarding пакетов, Вам придется передавать пакеты из удаленной сети/машины в Ваши сеть/машину. Кроме того, все masquerading-правила для внутренних сетей, которые также используют IPSEC, должны быть заданы после правил, разрешающих IPSEC-связанный трафик, иначе пакеты будут маскироваться вместо использования IPSec.

Настройка IPSec

Теперь Вы должны сконфигурировать ipsec. Параметры настройки обычно задаются в файлах /etc/ipsec.conf и /etc/ipsec.secrets, Вы можете использовать директиву include, чтобы разорвать файлы.

Ручная связь

Сначала мы установим связь, использующую ручную настройку (для простоты), Вы будете должны редактировать ipsec.conf и правила firewall. Большинство значений по умолчанию в файле ipsec.conf прекрасны, но Вы должны изменить следующее:

conn sample type=tunnel left= leftnexthop= leftsubnet= right= rightnexthop= rightsubnet= spibase=0x200 esp=3des-md5-96 espenckey= espauthkey=

Замените espenckey и espauthkey на новые ключи (используя ranbits для генерации чисел, не забудьте вписать префикс 0x, который указывает, что число шестнадцатиричное):

conn my-tunnel type=tunnel left=1.2.3.4 leftnexthop=1.2.3.1 leftsubnet=10.0.0.0/24 right=5.6.7.8 rightnexthop=5.6.7.1 rightsubnet=192.168.0.0/24 spibase=0x200 esp=3des-md5-96 espenckey=some_auth_key_here (ranbits 192) espauthkey=some_other_key_here (ranbits 128)

Скоируйте исправленные файлы ipsec.conf и ipsec.secrets на другой сервер каким-нибудь безопасным способом. Теперь все, что остается, это добавление некоторых правил firewall так, чтобы пакеты не получили masqueraded (мы просто хотим их послать).

На сервере 1.2.3.4 Вы должны добавить следующие правила:

ipchains -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24 ipchains -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24

Удостоверьтесь, что эти правила заданы перед правилом masquerading, это должно выглядеть следующим образом:

# FORWARD RULES # ipchains -P forward DENY # ipchains -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24 ipchains -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24 ipchains -A forward -p all -j MASQ -s 10.0.0.0/24 -d 0.0.0.0/0

На сервере 5.6.7.8 Вы в основном повторяете процесс:

ipchains -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24 ipchains -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24

Удостоверьтесь, что эти правила заданы перед правилом masquerading, это должно выглядеть следующим образом:

# FORWARD RULES # ipchains -P forward DENY # ipchains -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24 ipchains -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24 ipchains -A forward -p all -j MASQ -s 192.168.0.0/24 -d 0.0.0.0/0

Теперь Вы должны быть способны создать ipsec-туннель на обеих машинах вручную, и машины в сети A должны быть способны разговаривать с машинами в сети B без проблем.

ipsec manual –up my-tunnel

Вывод должен быть похож на:

/usr/local/lib/ipsec/spi: message size is 36 /usr/local/lib/ipsec/spi: message size is 132 /usr/local/lib/ipsec/spi: message size is 132

Для роверки попробуйте ping 192.168.0.2 с клиента 10.0.0.2. Если это работает, Вы все установили правильно. Если это не работает, проверьте сеть чтобы удостовериться, что 1.2.3.4 может связаться с 5.6.7.8, что TCP-IP forwarding допускается, и что никакие правила firewall не блокируют пакеты, или пробуют к маскировать их. Как только Вы установили подключение и успешно проверили его, Вы должны переходить на автоматический вариант связи.

Автоматическая связь

В автоматическом режиме Вы имеете 256-битный ключ на обоих концах туннеля. Его время действия ограничено 8 часами.

ipsec.secrets хранит разделяемый ключ. Этот файл должен сохраниться безопасным любой ценой. Для соединения между серверами 1.2.3.4 и 5.6.7.8 нужна строка, подобная:

1.2.3.4 5.6.7.8 “0xa3afb7e6_20f10d66_03760ef1_9019c643_a73c7ce0_91e46e84_ef6281b9_812392bf”

Эта строка должна быть в файле ipsec.secrets на обеих машинах. Затем в ipsec.conf надо поправить настройку туннеля:

conn my-tunnel type=tunnel left=1.2.3.4 leftnexthop=1.2.3.1 leftsubnet=10.0.0.0/24 right=5.6.7.8 rightnexthop=5.6.7.1 rightsubnet=192.168.0.0/24 keyexchange=ike keylife=8h keyingtries=0

Pluto daemon будет запускаться, пробовать соединиться с Pluto daemon на другом конце туннеля и устанавливать подключение. Pluto работает на порте 500, протокол UDP, так что придется открыть доступ через firewall:

ipchains -A input -p udp -j ACCEPT -s 0.0.0.0/0 -i eth0 -d 0.0.0.0/0 500

По-моему, удобно использовать ключевое слово “%search” вместо того, чтобы указывать tunnel, добавляя:

auto=start

к каждой туннельной конфигурации и редактировать ipsec.secrets:

plutoload=%search plutostart=%search

Это в конечном счете сделает Вашу жизнь проще. Если все идет хорошо, Вы должны видеть что-то вроде этого в /var/log/messages:

Jun 26 02:10:41 server ipsec_setup: Starting FreeS/WAN IPSEC... Jun 26 02:10:41 server ipsec_setup: /usr/local/lib/ipsec/spi: message size is 28. Jun 26 02:10:41 server ipsec_setup: KLIPS debug `none' Jun 26 02:10:41 server ipsec_setup: KLIPS ipsec0 on eth0 1.2.3.4/255.255.255.0 broadcast 24.108.11.255 Jun 26 02:10:42 server ipsec_setup: Disabling core dumps: Jun 26 02:10:42 server ipsec_setup: Starting Pluto (debug `none'): Jun 26 02:10:43 server ipsec_setup: Loading Pluto database `my-tunnel': Jun 26 02:10:44 server ipsec_setup: Enabling Pluto negotiation: Jun 26 02:10:44 server ipsec_setup: Routing for Pluto conns `my-tunnel': Jun 26 02:10:45 server ipsec_setup: Initiating Pluto tunnel `my-tunnel': Jun 26 02:10:45 server ipsec_setup: 102 "my-tunnel" #1: STATE_MAIN_I1: initiate Jun 26 02:10:45 server ipsec_setup: 104 "my-tunnel" #1: STATE_MAIN_I2: from STATE_MAIN_I1; sent MI2, expecting MR2 Jun 26 02:10:45 server ipsec_setup: 106 "my-tunnel" #1: STATE_MAIN_I3: from STATE_MAIN_I2; sent MI3, expecting MR3 Jun 26 02:10:45 server ipsec_setup: 003 "my-tunnel" #1: STATE_MAIN_I4: SA established Jun 26 02:10:45 server ipsec_setup: 110 "my-tunnel" #2: STATE_QUICK_I1: initiate Jun 26 02:10:45 server ipsec_setup: 003 "my-tunnel" #2: STATE_QUICK_I2: SA established Jun 26 02:10:46 server ipsec_setup: ...FreeS/WAN IPSEC started

А в файле /var/log/secure Вы должны видеть нечто вроде:

Jun 26 02:10:42 server Pluto[25157]: Starting Pluto (FreeS/WAN Version snap1999Jun14b) Jun 26 02:10:44 server Pluto[25157]: added connection description "my-tunnel" Jun 26 02:10:44 server Pluto[25157]: listening for IKE messages Jun 26 02:10:44 server Pluto[25157]: adding interface ipsec0/eth0 1.2.3.4Jun 26 02:10:44 server Pluto[25157]: loading secrets from "/etc/ipsec.secrets" Jun 26 02:10:45 server Pluto[25157]: "my-tunnel" #1: initiating Main Mode Jun 26 02:10:45 server Pluto[25157]: "my-tunnel" #1: ISAKMP SA established Jun 26 02:10:45 server Pluto[25157]: "grumpy-seifried" #2: initiating Quick Mode POLICY_ENCRYPT+POLICY_TUNNEL+POLICY_PFS Jun 26 02:10:45 server Pluto[25157]: "my-tunnel" #2: sent QI2, IPsec SA established Jun 26 02:11:12 server Pluto[25157]: "my-tunnel" #3: responding to Main Mode Jun 26 02:11:12 server Pluto[25157]: "my-tunnel" #3: sent MR3, ISAKMP SA established Jun 26 02:11:12 server Pluto[25157]: "my-tunnel" #4: responding to Quick Mode Jun 26 02:11:12 server Pluto[25157]: "my-tunnel" #4: IPsec SA established Jun 26 02:31:31 server Pluto[25157]: "my-tunnel" #5: responding to Main Mode Jun 26 02:31:32 server Pluto[25157]: "my-tunnel" #5: sent MR3, ISAKMP SA established Jun 26 02:31:32 server Pluto[25157]: "my-tunnel" #6: responding to Quick Mode Jun 26 02:31:32 server Pluto[25157]: "my-tunnel" #6: IPsec SA established

В дополнение к этому Вы можете просмотреть вывод “eroute”, чтобы удостовериться что туннели правильно сконфигурированы:

10.0.0.0/24 -> 192.168.0.0/24 => tun0x114@1.2.3.4

И если Вы рассматриваете Ваши маршруты (“route”) Вы должны увидеть:

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 1.2.3.4 0.0.0.0 255.255.255.255 UH 0 0 0 eth0 10.0.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth 11.2.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 1.2.3.0 0.0.0.0 255.255.255.0 U 0 0 0 ipsec0 192.168.0.0 1.2.3.1 255.255.255.0 UG 0 0 0 ipsec0 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo0.0.0.0 1.2.3.1 0.0.0.0 UG 0 0 0 eth0

Примеры настройки ipsec

Два сервера с защищенным соединением

В нашем примере мы будем иметь следующую сеть:

Сервер A, где eth0 соединен с Internet и имеет IP-адрес 1.2.3.4, и eth1 соединен с внутренней сеткой и имеет IP-адрес 10.0.0.1.

Сеть A внутренняя: состоит из сервера A и машин подсети 10.0.0.*.

Сервер B, где eth0 соединен с Internet и имеет IP-адрес 5.6.7.8, и eth1 соединен с внутренней сеткой и имеет IP-адрес 192.168.0.1.

Сетьk B внутренняя: состоит из сервера B и машин подсети 192.168.0.*.

Сеть C Internet, с ним связаны серверы серверы A и B (по T1, давайте быть щедрыми).

Основная настройка серверов

На каждой машине установлена Red Hat Linux 6.1 со стандартным для нее ядром 2.2.12, удостоверьтесь что Вы устанавливаете ipchains, по умолчанию он обычно не ставится.

Идите на ftp.linux.org (или на Ваше любимое зеркало) и загрузите полное ядро Linux 2.2.10. Идите в /usr/src и удалите существующую ссылку linux, распакуйте ядро 2.2.10, переместите его в /usr/src/linux-2.2.10 и создайте ссылку "linux" на него. Теперь перейдите в каталог /usr/src/linux, настройте ядро, скомпилируйте и поставьте его. Удостоверьтесь, что Вы выбрали все элементы для IP-masquerading, и где возможно компилируйте их как статические компоненты, а не модули. Не забудьте использовать "make bzImage", так как новое ядро, вероятно, слишком большое для lilo, чтобы загрузиться.

cd /usr/src
rm linux
tar –zvvxf /path/to/tarball/linux-2.2.10.tar.gz
mv linux linux-2.2.10
chown –R root:root linux-2.2.10
ln –s linux-2.2.10 linux
cd linux
make menuconfig
make dep
make bzImage
make modules
make modules_install
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.10
rm /boot/System.*
cp /usr/src/linux/System.map /boot/System.map

Теперь мы должны редактировать lilo.conf, выполнить lilo и перезагрузиться для работы с новым ядром. Удостоверьтесь что сеть работает перед попыткой установить программное обеспечение IPSec.

Lilo.conf должен напоминать:

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=100
image=/boot/vmlinuz-2.2.10
label=linux
root=/dev/hda1
read-only
image=/boot/vmlinuz-2.2.5-12
label=linuxold
root=/dev/hda1
read-only

при перезапуске lilo Вы должны видеть нечто вроде:

linux *
linuxold

Теперь перезагрузитесь с ядром 2.2.10.

Теперь мы должны отредактировать правила firewall, на обеих серверах для использования masquerading для внутренних машин и применения запрета на forwarding:

Сервер A:

ipchains -P forward DENY
ipchains -A forward -p all -j MASQ -s 10.0.0.0/24 -d 0.0.0.0/0

Сервер B:

ipchains -P forward DENY
ipchains -A forward -p all -j MASQ -s 192.168.0.0/24 -d 0.0.0.0/0

Не забудьте поместить эти правила в последними в Ваш скрипт для firewall. Вы также должны разрешить IP-forwarding, отредактировав файл /etc/sysconfig/network и заменив строку:

FORWARD_IPV4="no"

на строку:

FORWARD_IPV4="yes"

Вы должны теперь быть способны на ping сервер B из сети A (ping 5.6.7.8), и ping сервер A из сети B (ping 1.2.3.4).

Если все работает, можно начать установку IP Security.

Установка IPSec

Загрузите последний IPSec snapshot (версия 1.0 НЕ работает с ядрами 2.2.x). Перейдите в /usr/local/src (или куда Вы его положили), распакуйте исходники и запустите программу установки (обычно для ncurses-версий make menugo). Ядро будет пропатчено, после чего будет запущена настройка ядра и построение утилит 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.10-ipsec

Теперь поправьте lilo.conf, запустите lilo и перезагрузитесь с новым ядром.

Lilo.conf должен выглядеть примерно так:

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=100
image=/boot/vmlinuz-2.2.10-ipsec
label=linux-ipsec
root=/dev/hda1
read-only
image=/boot/vmlinuz-2.2.10
label=linux
root=/dev/hda1
read-only

При запуске lilo должен вывести нечто вроде:

linux-ipsec *
linux

После перезагрузки Вы получите ядро 2.2.10 с поддержкой IPSec. При перезагрузке будут сообщения об ошибках. Дело в том, что по умолчанию IPSEC установлен так, чтобы использовать интерфейс eth999, который конечно не существует. Вы должны также добавить /usr/local/lib/ipsec к Вашей инструкции path, или Вы будете должны каждый раз набирать полный путь.

Настройка IPSec

Мы первоначально используем ручной режим (то есть, пока мы игнорируем pluto IKE daemon) поскольку это делает жизнь более простой. Вы должны отредактировать файлы ipsec.conf и ipsec.conf. Эти два файла затем должны быть скопированы на другой сервер безопасным способом (ssh, гибким диском и т.д.).

Диаграмма сети:

Вы должны отредактировать файл ipsec.conf, большинство значений по умолчанию прекрасно, но Вы должны изменить следующее:

conn sample
type=tunnel
# left security gateway (public-network address)
left=
# next hop to reach right
leftnexthop=
# subnet behind left (omit if there is no subnet)
leftsubnet=
# right s.g., subnet behind it, and next hop to reach left
right=
rightnexthop=
rightsubnet=
#
spibase=0x200
# (manual) encryption/authentication algorithm and parameters to it
esp=3des-md5-96
espenckey=
espauthkey=

Замените espenckey и espauthkey на новые ключи (используя ranbits для генерации чисел, не забудьте вписать префикс 0x, который указывает, что число шестнадцатиричное):

conn my-tunnel
type=tunnel
# left security gateway (public-network address)
left=1.2.3.4
# next hop to reach right
leftnexthop=1.2.3.1
# subnet behind left (omit if there is no subnet)
leftsubnet=10.0.0.0/24
# right s.g., subnet behind it, and next hop to reach left
right=5.6.7.8
rightnexthop=5.6.7.1
rightsubnet=192.168.0.0/24
#
spibase=0x200
# (manual) encryption/authentication algorithm and parameters to it
esp=3des-md5-96
espenckey=some_auth_key_here (ranbits 192)
espauthkey=some_other_key_here (ranbits 128)

Скоируйте исправленные файлы ipsec.conf и ipsec.secrets на другой сервер каким-нибудь безопасным способом. Теперь все, что остается, это добавление некоторых правил firewall так, чтобы пакеты не получили masqueraded (мы просто хотим их послать).

На сервере A добавьте такие правила:

ipchains -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24
ipchains -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24

Удостоверьтесь, что эти правила появляются перед правилом masquerading, это должно выглядеть следующим образом:

#
# FORWARD RULES
#
ipchains -P forward DENY
#
ipchains -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24
ipchains -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24
ipchains -A forward -p all -j MASQ -s 10.0.0.0/24 -d 0.0.0.0/0

На сервере B в основном повторите процесс:

ipchains -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24
ipchains -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24

Удостоверьтесь, что эти правила появляются перед правилом masquerading, это должно выглядеть следующим образом:

#
# FORWARD RULES
#
ipchains -P forward DENY
#
ipchains -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24
ipchains -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24
ipchains -A forward -p all -j MASQ -s 192.168.0.0/24 -d 0.0.0.0/0

Запуск вашего подключения

Теперь Вы должны быть способны создать ipsec туннель на обеих машинах вручную и машины в сети A должны быть способны разговаривать с машинами в сети B без проблем.

ipsec manual –up my-tunnel

должно вывести нечто вроде:

/usr/local/lib/ipsec/spi: message size is 36
/usr/local/lib/ipsec/spi: message size is 132
/usr/local/lib/ipsec/spi: message size is 132

Для проверки попробуйте ping 192.168.0.2 с клиента 10.0.0.2 (Вы не можете сделать ping 192.168.0.1 на 10.0.0.1 или на внешние адреса шлюза, так как Вы не сконфигурировали туннели, чтобы обработать такие пакеты). Если это работает, Вы все установили правильно.

Два сервера с защищенным соединением через Internet (или по другой сети)

В этом примере я буду объяснять настройку, не касаясь установки, как выше.

Диаграмма сети:

Коммерческие версии IPSec

Я решил, что не помешает упомянуть здесь коммерческие пакеты для IPSec, с акцентированием, конечно, на тех, которые основаны на Linux и FreeS/WAN.

i-data

i-data создала несколько пакетов, в том числе VPN-сервер, основанный на Linux и FreeS/WAN. Они размещены в Дании, что делает их пакеты доступными по всему миру. Подробности на сайте http://www.i-data.com/networks.

Windows-клиенты IPSec

Имеется также ряд пакетов под Windows для поддержки IPSec.

PGP VPN

Авторы (Network Associates) теперь создали пакет “PGP VPN”. Он поддерживает IPSec и (по сообщениям) работает с Linux FreeS/WAN. Вы можете скачать его с http://www.nai.com/asp_set/products/tns/pgp_vpn.asp. Свободная версия PGP из NAI также поддерживает IPSEC VPN и доступна на http://www.pgpi.com.

IRE

http://www.ire.com/

 

Back

Security Portal

Written by Kurt Seifried