LASG - IP Security (IPSec)
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 в ядре. К
сожалению ни один дистрибутив 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, или Вы будете должны каждый раз набирать полный путь.
Надо разрешить 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. Параметры настройки обычно
задаются в файлах /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
В нашем примере мы будем иметь следующую сеть:
Сервер 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 Вы должны видеть нечто вроде:
Теперь перезагрузитесь с ядром 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 и заменив строку:
на строку:
Вы должны теперь быть способны на 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 должен вывести нечто вроде:
После перезагрузки Вы получите ядро 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 или на внешние адреса шлюза, так как Вы
не сконфигурировали туннели, чтобы обработать такие пакеты). Если это
работает, Вы все установили правильно.
В этом примере я буду объяснять настройку, не касаясь установки, как выше.
Диаграмма сети:
Я решил, что не помешает упомянуть здесь коммерческие пакеты для IPSec, с
акцентированием, конечно, на тех, которые основаны на Linux и FreeS/WAN.
i-data создала несколько пакетов, в том числе VPN-сервер, основанный на
Linux и FreeS/WAN. Они размещены в Дании, что делает их пакеты доступными по
всему миру. Подробности на сайте
http://www.i-data.com/networks.
Имеется также ряд пакетов под Windows для поддержки IPSec.
Авторы (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.
http://www.ire.com/
Back
|