Автор Тема: VPN тунель  (Прочитано 1754 раз)

Оффлайн Yaroslavskiy

  • Участник
  • *
  • Сообщений: 89
VPN тунель
« : 21.12.2010 09:20:00 »
Добрый всем день. Имеется два офиса которые надо соединить в одну сеть. Ввиду того, что в Linux я пока не большой специалист, поэтому вопрос к Спецам. Покопался на просторах всемирной паутины, погуглил и отыскал вот такой вариант:

1. Сеть 192.168.1.0/24 (255.255.255.0) В которой есть машина подключенная
к интернет. Со стороны локальной сети машина имеет IP: 192.168.1.1 (на eth1)
а со стороны инета имеет IP: 195.64.21.123 (на eth0) Назовем эту машину ALPHA.

2. Сеть 192.168.2.0/24 (255.255.255.0) В которой есть машина подключенная
к интернет. Со стороны локальной сети машина имеет IP: 192.168.2.1 (на eth1)
а со стороны инета имеет IP: 62.5.195.124 (на eth0) Назовем эту машину BETTA.

Цель: Надо организовать тунель между машинами ALPHA и BETTA, чтобы компьютеры
одной сети имели доступ к компьютерам в другой сети.

Решение:
Пишется скрипт следующего содержания и запускается на машине ALPHA:
#!/bin/sh
#   insmod ip_gre
    tnl=tnl0
    remote=62.5.195.124
    local=195.64.21.123
    ip=192.168.1.1
    range=192.168.2.0/24
#   ip tunnel del $tnl
    ip tunnel add $tnl mode gre local $local remote $remote ttl 255
    ip addr add $ip dev $tnl
    ip link set $tnl up
    ip route add $range dev $tnl
-----------------------------------------------------------------------
А для машины BETTA пишется другой аналогичный скрипт и запускается:
#!/bin/sh
#   insmod ip_gre
    tnl=tnl0
    remote=195.64.21.123
    local=62.5.195.124
    ip=192.168.2.1
    range=192.168.1.0/24
#   ip tunnel del $tnl
    ip tunnel add $tnl mode gre local $local remote $remote ttl 255
    ip addr add $ip dev $tnl
    ip link set $tnl up
    ip route add $range dev $tnl

-------------------------------------------------------------------------
И ВСЕ. Тепрь две сетки связаны тунелем.
Теперь примечания:
1.) Ядро должно быть собрано с включенными опциями поддержки тунелей
(GRE в частности). А так же с включенной опцией поддержки Advanced Routing.
(У меня вообще все фичи того что касается IP сетей ВКЛЮЧЕНЫ БЫЛИ)
2.) Строка "insmod ip_gre" у меня закоментирована т.к. ядро собрано без модулей
(все в ядре). Если у вас используются модули для тунеля, то просто
раскоментируйте строку в скриптах.
3.) Строка "ip tunnel del $tnl" у меня закоментирована. Если ее раскоментировать
то все будет работать, но при ПЕРВОМ запуске скрипта он ругнется (что не страшно).
Она нужна для того, если вы хотите повторно запустить скрипт (например сделали
изменения в параметрах тунеля) Тогда эта строка прибьет существующий тунель и
потом будет создан новой. При первом запуске прибивать нечего, а потому скрипт
ругается :) Для того чтоб никого не смущать я ее закоментировал.
Это все. Если что пишите на alexey_fyodorov@mail.ru

PS: Испытания проводились на ядрах Linux 2.4.19 2.4.20


Мне это полностью подходит, а как с технической стороны??? Это правильно? На Серверах стоит ALTLinux.
« Последнее редактирование: 21.12.2010 09:23:29 от Yaroslavskiy »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 370
Re: VPN тунель
« Ответ #1 : 21.12.2010 10:28:07 »
Мне это полностью подходит, а как с технической стороны??? Это правильно? На Серверах стоит ALTLinux.
Для понимания процесса, наверное, хорошо. А для настройки именно в ALT - нет.
http://www.altlinux.org/Etcnet
Читать главу "Настройка и использование IP-туннелей"
Так же, есть примеры с конфигурациями в /usr/share/doc/etcnet-<версия>/examples

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: VPN тунель
« Ответ #2 : 21.12.2010 14:22:02 »
На серверах это можно сделать через Центр Управления Системы.

Оффлайн sudmal

  • Участник
  • *
  • Сообщений: 35
  • AdM
Re: VPN тунель
« Ответ #3 : 05.01.2011 14:59:07 »
На серверах это можно сделать через Центр Управления Системы.
O_o это где в ЦУС есть бэкенд  для gre и вообще ip туннелей?

Вообще в альте у меня настроено так:
папка /etc/net/ifaces/gre1:
/etc/net/ifaces/gre1/ipv4address:
172.17.0.2 peer 172.17.0.1/30/etc/net/ifaces/gre1/ipv4route:
{у меня пустой, т.к. использую OSPF, но здесь можно прописать маршрут на удалённую сеть, например:}
192.168.2.0/24 via 172.17.0.1
/etc/net/ifaces/gre1/options:
TUNLOCAL=x.x.x.x
TUNREMOTE=y.y.y.y
TUNTYPE=gre
TYPE=iptun
TUNTTL=64
TUNMTU=1476
TUNOPTIONS='ttl 64'
DISABLE=no

Встречная сторона - все-то же, только IP адреса между собой поменять соответственно.

Но по-хорошему нужно ещё этот канал и шифровать, если через него будет передаваться бизнес-информация, т.к. gre сам по себе не шифрует, а только инкапсулирует.
« Последнее редактирование: 05.01.2011 17:38:20 от sudmal »
Every human can make what has been done by another human
Сижу, никого не трогаю, примус починяю... C