Возможно вы искали: 'Hundred Swords'

May 15 2025 18:39:25
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Организация VPN соединений вида сеть-сеть с использованием IpSec OpenS/WAN. (tunnel crypt ipsec vpn linux)

Организация VPN соединений вида сеть-сеть с использованием IpSec OpenS/WAN. (tunnel crypt ipsec vpn linux)

Ключевые слова: tunnel, crypt, ipsec, vpn, linux, (найти похожие документы)

From: Vyacheslav Khudyakov <slava@in4net.info.>
Newsgroups: email
Date: Mon, 12 Sep 2005 18:21:07 +0000 (UTC)
Subject: Организация VPN соединений вида сеть-сеть с использованием IpSec OpenS/WAN.


У вас есть две локальных сети, расположенных в территориально
разделенных офисах или даже в разных городах. Рано или поздно перед
вами встает задача объединения этих офисов в единую распределенную
сеть, задача построения VPN (Virtual Private Network). Для включения
данных сетей в VPN вам потребуется решить несколько вопросов:

* В каком виде передавать информацию(трафик) между данными сетями?


* Как обезопасить соединение, убедиться что на другой его стороне
ваша сеть а не взломщик?


* Какие образом организовать среду передачи данных, канал между
сетями?


На этим и многие другие вопросы отвечает протокол IpSec и его
реализация OpenS/WAN.

OpenS/WAN, http://www.openswan.org , это проект, в который по ряду причин
был преобразован FreeS/WAN, http://www.freeswan.org , первая и самая
распространенная реализация IpSec для Linux. В то время, как OpenS/WAN
продолжает развиваться и поддерживает на данный момент ядра Linux 2.4,
2.6, развитие FreeS/WAN остановлено из-за существующих в штатах
ограничений на экспорт технологий шифрования. Эти системы практически
идентичны, как в области конфигурирования, так и идеалогии и кода.

OpenS/WAN обеспечивает стек протоколов IpSec:AH и ESP для ядра Линукс,
а также инструментарий для управления ими. IpSec позволяет шифровать
данные между хостами, обеспечивая сохранность передаваемой информации.
Шифрование, в IPSEC, выполняется протоколом ESP (Encapsulating
Security Payload -- Инкапсулированные Защищенные Данные),
аутентификация -- протоколом AH (Authentication Header -- Заголовок
Аутентификации).

В ветке 2.5 ядра Линукс появилась встроенная реализация IpSec, а также
крипто-апи Джеймса Морриса, которые доступны сейчас уже "из коробки"
любому пользователю системы с ядром 2.6. Стоит также отметить, что
проект OpenS/WAN для ветки ядра 2.6 предоставляет свободу маневра,
предлагая использовать как встроенную, NETKEY реализацию IpSec, так
собственную KLIPS, обеспечивая пользователя, в обоих случаях, нужным
инструментарием для организации VPN каналов. Для ветки 2.4, вы
ограничены в выборе исключтельно KLIPS реализации протокола IpSec.

В данной статье рассмотрен пример организации VPN сети, на основе
шлюзов с Linux с ядрами 2.4, 2.6 и KLIPS реализации OpenS/WAN.

Что вам необходимо?

* Две локальных сети, разделенных на разные сегменты. В данном
примере одна сеть, base.testnet.org, находится в адресном
пространстве 192.168.0.0/24, а вторая сеть, head.testnet.org,
находится в адресном пространстве 192.168.99.0/24.


* Две шлюзовых машины с установленными Linux с ядрами 2.4, либо 2.6
и iptables.


* По одному реальному IP адресу со стороны каждой сети, назначенному
шлюзу в данной сети.



Инсталяция IpSec и OpenS/WAN.

Скачиваем последний стабильный пакет системы OpenS/WAN, в моем случае
это 2.3.1.

Если вы используете ядро 2.6 и решили воспользоваться встроенным в
ядро проктолом IpSec, то при пересборке ядра включите опции

PF_KEY, AH, ESP


и все опции в

CryptoAPI


В том числе, рекомендую, включить ESPinUDP, позволяющий организовывать
IpSec сквозь NAT провайдера.

Если вы используете KLIPS реализацию IpSec для ядра 2.6, либо у вас
система с ядром 2.4, то вам необходимо пропатчить ядро, для появления
в нем поддержки IpSec. Переходим в каталог с исходными кодами
OpenS/WAN. Патчим ядро

# make KERNELSRC=/usr/src/linux precheck verset kpatch


Также накатываем nappatch, реализующий nat traversal, что дает
возможность организовывать IpSec каналы сквозь NAT провайдера:

# make nattpatch | (cd /usr/src/linux && patch -p1)


Кофигурируем и пересобираем патченное ядро, с включенными IpSec и
Nat-T.

Заключительным этапом ставим OpenS/WAN на систему, выполнив

# make KERNELSRC=/usr/src/linux programs
install


в каталоге с OpenS/WAN.


Конфигурирования OpenS/WAN.

В первую очередь вам необходимо сформировать ключи, используемые
шлюзами для аунтификации. Запускаем на обеих системах ipsec
newhostkey, генерируя нужные нам ключи. Просматриваем части ключей,
запустив

на base.testnet.org:

# ipsec showhostkey --left


и на head.testnet.org:

# ipsec showhostkey --right


Получаем примерно такой вывод:

# ipsec showhostkey --left
# RSA 2192 bits head.testnet.org Tue Sep 6 16:40:56 2005
leftrsasigkey=0sAQNYqzYcTyd5I+Wta9XP...


Переходим к файлу конфигурации.

Файл конфигурации OpenS/WAN:
/etc/ipsec/ipsec.conf

version 2.0 # указание что файл отвечает версии 2.0 спецификации

# конфигурация демона
config setup
forwardcontrol=yes # контроль форвардинга пакетов
klipsdebug=none
nat_traversal=yes # включем использование nat traversal
plutodebug=none

# соединения
conn testnet-vpn
#left шлюз нашей сети
left=195.14.50.1 #ip адрес шлюза в первой сети
leftid=@base.testnet.org # символический идентификатор сети
leftsubnet=192.168.0.0/24
#RSA 2192 bits base.testnet.org Tue Sep 6 16:40:56 2005
leftrsasigkey=0sAQNYqzYcTyd5I+Wta...
leftnexthop=%defaultroute #шлюз по умолчанию в данной сети,
#либо указывается явно, либо берется из таблицы роутинга
#Right шлюз нашей сети
right=81.200.2.30 #ip адрес шлюза второй сети
rightid=@head.testnet.org
rightsubnet=192.168.99.0/24
#RSA 2192 bits base.testnet.org Tue Sep 6 21:03:39 2005
rightrsasigkey=0sAQOTjCqa0L70Yf2h...
rightnexthop=%defaultroute #шлюз по умолчанию в данной сети,
#либо указывается явно, либо берется из таблицы роутинга
auto=add #действие, производимое при старте ipsec --
#в данном случае добавлять сеть, но не запускать


Обращаю ваше внимание на то, что секции файла конфигурации отделены от
заголовков секций знаком табуляции. Отсутствие данного раздедения
будет приводить к ошибкам вида:

# ipsec_setup: (/etc/ipsec/ipsec.conf, line 22) section header
"left=195.14.50.1" has wrong number of fields (1) -- `stop' aborted


На втором шлюзе создаем полностью аналогичный конфиг

# scp /etc/ipsec/ipsec.conf root@head.tesnet.org:/etc/ipec/ipsec.conf


Конфигурация Iptables.

Для работы IpSec необходимо открыть во внешний мир и во внутрь 500
порт, по которому идет обмен сертификатам и ключами, а также разрешить
свободное использование IpSec на обоих шлюзах нашей VPN сети:

$IPTABLES -A INPUT -i $EXTERNAL_INT -p udp -s $IPSECSG --sport 500 --dport 500 -j ACCEPT
$IPTABLES -A OUTPUT -o $EXTERNAL_INT -p udp -d $IPSECSG --sport 500 --dport 500 -j ACCEPT

$IPTABLES -A INPUT -i $EXTERNAL_INT -p 50 -s $IPSECSG -j ACCEPT
$IPTABLES -A OUTPUT -o $EXTERNAL_INT -p 50 -d $IPSECSG -j ACCEPT

$IPTABLES -A INPUT -i $EXTERNAL_INT -p 51 -s $IPSECSG -j ACCEPT
$IPTABLES -A OUTPUT -o $EXTERNAL_INT -p 51 -d $IPSECSG -j ACCEPT

$IPTABLES -A INPUT -i $FREESWANVI -s $ANYWHERE -d $ANYWHERE -j ACCEPT

$IPTABLES -A OUTPUT -o $FREESWANVI -s $ANYWHERE -d $ANYWHERE -j ACCEPT

$IPTABLES -A FORWARD -p all -s 192.168.99.0/24 -d 192.168.0.0/24 -j ACCEPT
$IPTABLES -A FORWARD -p all -s 192.168.0.0/24 -d 192.168.99.0/24 -j ACCEPT


где

$EXTERNAL_INT
- внешний интерфейс сети, в нашем случае $EXTERNAL_INT="eth0"

$FREESWANVI
- интерфейс OpenS/Wan сети, в нашем случае $FREESWANVI="ipsec0"

$IPSECSG
- IP адрес шлюза на противолополженном конце сети, в нашем случае
$IPSECSG=81.200.2.30 для base.tesnet.org и $IPSECSG=195.14.50.1 для
head.testnet.org

Кроме того, необходимо изменить политику для NAT, а именно не
производить маскарадинг для пакетов, которые отправляются в
противоложенную часть VPN сети:

для base.testnet.org:

$IPTABLES -t nat -A POSTROUTING -s $LAN_1 -d! 192.168.99.0/24 -j SNAT --to-source $IPADDR
$IPTABLES -t nat -A POSTROUTING -s $IPADDR -d 192.168.99.0/24 -j SNAT --to-source $LOCALIP


для head.testnet.org:

$IPTABLES -t nat -A POSTROUTING -s $LAN_1 -d! 192.168.0.0/24 -j SNAT --to-source $IPADDR
$IPTABLES -t nat -A POSTROUTING -s $IPADDR -d 192.168.0.0/24 -j SNAT --to-source $LOCALIP


где

$LAN_1
- ваша внутрення сеть, для base.tesnet.org $LAN_1="192.168.0.0/24",
для head.tetnet.org LAN_1="192.168.99.0/24".

$IPADDR
- ip адрес шлюзовой машины, для base.testnet.org $IPADDR=195.14.50.1
а для head.testnet.org $IPSECSG=81.200.2.30.

$LOCALIP
- внутренний ip адрес шлюзовой машины, для base.testnet.org
$LOCALIP=192.168.0.99 а для head.testnet.org $LOCALIP=192.168.99.99.


Запуск и тестирование.

Переходим к окончательной части реализации VPN. Осталось запустить
организованную нами сеть и проверить ее работоспособность. Для этого
стартуем на обоих шлюзах демон ipsec:

# /etc/inint.d/ipsec start
* Starting IPSEC ... ...ipsec_setup: Starting Openswan IPsec 2.3.1... [ ok ]


На любом из них запускаем нашу тестовую сеть:

# ipsec auto --up testnet-vpn
104 "net-net" #223: STATE_MAIN_I1: initiate
106 "net-net" #223: STATE_MAIN_I2: sent MI2, expecting MR2
108 "net-net" #223: STATE_MAIN_I3: sent MI3, expecting MR3
004 "net-net" #223: STATE_MAIN_I4: ISAKMP SA established
112 "net-net" #224: STATE_QUICK_I1: initiate
004 "net-net" #224: STATE_QUICK_I2: sent QI2, IPsec SA established


при этом получаем на консоль вывод, из которого убеждаемся что
соединение успешно установлено. Осталось протестировать как работает
наша сеть. Пробем пингануть с любой машины внутри локальной сети
head.testnet.org любую машину внутри сети base.testnet.org:

# ping 192.168.0.100
PING 192.168.0.100 (192.168.0.100) 56(84) bytes of data.
64 bytes from 192.168.0.100: icmp_seq=1 ttl=127 time=15.2 ms
64 bytes from 192.168.0.100: icmp_seq=2 ttl=127 time=15.6 ms
64 bytes from 192.168.0.100: icmp_seq=3 ttl=127 time=16.2 ms

--- 192.168.0.100 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2024ms
rtt min/avg/max/mdev = 15.231/15.735/16.283/0.442 ms


пинг проходит, осталось убедиться, что он проходит зашифрованным в
пакетах IpSec. Для этого, в то время как вы пингуете с _любой_ машины
_кроме_ шлюза одной сети _любую_ машину, _кроме_ шлюза второй сети на
любом из шлюзов запускаем

# tcpdump icmp -i ipsec0


В случае, если IpSec работает корректно, вы должны наблюдать примерно
следующую картину:

19:16:32.046220 192.168.0.2 > 192.168.99.9: ESP(spi=0x3be6c4dc,seq=0x3)
19:16:32.085630 192.168.99.9 > 192.168.0.2: ESP(spi=0x5fdd1cf8,seq=0x6)


На этом осталось совершить финальный акорд, включив автозапуск VPN сети.
Для этого в файлах /etc/ipsec/ipsec.conf срочку auto=add заменяем на auto=start.

Vyacheslav Khudyakov <slava@in4net.info.>
501 Прочтений •  [Организация VPN соединений вида сеть-сеть с использованием IpSec OpenS/WAN. (tunnel crypt ipsec vpn linux)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Организация VPN соединений вида сет... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка