Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> VPN непростой конфигурации 
:(
    Опции темы
apache2
Дата 27.8.2008, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 6.8.2006

Репутация: нет
Всего: нет



Здравствуйте!
Подскажите пожалуйста как можно реализовать с помощью OpenVPN такую конфигурацию на FreeBSD:


Client1----Server1--->Server2------>Internet

тоесть выход в Интернет будет идти через второй сервер 
по частям все получается:
1. Client1 коннектится к Server1 по OpenVPN
2. Server1 коннектится к Server2 по OpenVPN

Но вот как "связать" эти отдельные коннекты? пробуем ставить NAT на Server1 - но пакеты не уходят с него на Server2 :(

Подскажите пожалуйста что делать? Хотябы схему действий - скрипты и софт уже настроим сами

Спасибо!
PM MAIL   Вверх
apache2
Дата 28.8.2008, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 6.8.2006

Репутация: нет
Всего: нет



вот еще подробнее:

с Сервера1 соединяемся с Сервером2 и получаем такой интерфейс на Сервере2:

tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
        inet 10.8.7.1 --> 10.8.7.2 netmask 0xffffffff
        Opened by PID 2177

на Сервере1 получаем такой интерфейс:

tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
        inet 10.8.7.10 --> 10.8.7.9 netmask 0xffffffff
        Opened by PID 74283

теперь Клиент1 соединяется с Сервером1 и на Сервере1 поднимается еще один интерфейс:

tun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
        inet 10.8.8.1 --> 10.8.8.2 netmask 0xffffffff
        Opened by PID 78220

на Сервере1 запускам NAT
natd -p 8672 -n tun0 -log -log_denied

тоесть мы его ставим на интерфейс который смотрит на Сервер2

и еще на Сервере1 в файрволе конечно добавляем правило
ipfw add 359 divert 8672 all from 10.8.8.1/24 to any via tun1
ipfw add 360 divert 8672 all from any to 10.8.8.1/24 via tun1

это заворачивает пакеты с Клиента1 на NAT на интерфейсе tun0, также в файрволе разрешаем пакеты от подсети 10.8.8.* наружу через интерфейсы tun0/1

пробуем с Клиент1 коннект к почтовому сервису на Сервер2 и NAT нам показывает такое:

In  {default}[TCP]  [TCP] 10.8.8.6:4288 -> Сервер2:25 aliased to
           [TCP] 10.8.8.6:4288 -> Сервер2:25
In  {default}[TCP]  [TCP] 10.8.8.6:4288 -> Сервер2:25 aliased to
           [TCP] 10.8.8.6:4288 -> Сервер2:25
In  {default}[TCP]  [TCP] 10.8.8.6:4288 -> Сервер2:25 aliased to
           [TCP] 10.8.8.6:4288 -> Сервер2:25

получается что пакеты не поворачиваются на линию которая идет на Сервер2, а так и вращаются на том интерфейсе куда пришли

вот такая "картина маслом" - подскажите что нужно еще править?
PM MAIL   Вверх
gcc
Дата 28.8.2008, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 3
Всего: 17



Код

netstat -rn

PM WWW ICQ Skype GTalk Jabber   Вверх
Glip
Дата 6.9.2008, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 473
Регистрация: 30.12.2006

Репутация: нет
Всего: 18



как-то все слишком сложно реализовано на первый взгляд. возможно нашлось бы более простое решение если знать каким образом между собой связаны серверы и клиент.

и что мешает на тунеле между серверами сделать одинаковые ip? например:
Сервере2:
        inet 10.8.7.1 --> 10.8.7.2

на Сервере1:
        inet 10.8.7.2 --> 10.8.7.1

или 

Сервере2:
        inet  10.8.7.9 --> 10.8.7.10

на Сервере1:
        inet 10.8.7.10 --> 10.8.7.9

на мой взгляд, так меньше путанницы, а возможно это и решит проблему


--------------------
user posted image
PM MAIL   Вверх
apache2
Дата 13.9.2008, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 6.8.2006

Репутация: нет
Всего: нет



Цитата(Glip @  6.9.2008,  08:03 Найти цитируемый пост)
как-то все слишком сложно реализовано на первый взгляд. возможно нашлось бы более простое решение если знать каким образом между собой связаны серверы и клиент


все связываются между собой по Интернету - хотя для VPN это не суть важно, адресация все равно идет как локальная

Цитата
и что мешает на тунеле между серверами сделать одинаковые ip? например:


это как одинаковые IP? а как пакеты будут "знать" в какую сторону им идти, ведь с обеих сторон одинаковый IP? в принципе я пока не совсем хорошо знаю технологию VPN, но кажется это странный вариант smile


PM MAIL   Вверх
apache2
Дата 14.9.2008, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 6.8.2006

Репутация: нет
Всего: нет



[quota]netstat -rn[/quota]

после поднятия всех коннектов такие роуты:

на Сервере2:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            88.хх.хх.хх        UGS         0 3343724965   bge0
10.8.8/24          10.8.8.2           UGS         0        0   tun1
10.8.8.2           10.8.8.1           UH          1        0   tun1
88.хх.хх.хх/27     link#1             UC          0        0   bge0
............

на Сервере1:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            2хх.ххх.х.ххх      UGS         0  1120190    em0
10.8.7.0/24        10.8.7.2           UGS         0        0   tun0
10.8.7.2           10.8.7.1           UH          1        0   tun0
10.8.8.0/24        10.8.8.1           UGS         0        0   tun1
10.8.8.1           10.8.8.2           UH          1        0   tun1
..............................

на Клиенте1 (winXP):
Сетевой адрес           Маска сети      Адрес шлюза       Интерфейс  Метрика
          0.0.0.0          0.0.0.0        10.0.18.1     10.0.18.116       31
          0.0.0.0          0.0.0.0         10.8.7.5        10.8.7.6       1
        10.0.18.0    255.255.255.0      10.0.18.116     10.0.18.116       30
      10.0.18.116  255.255.255.255        127.0.0.1       127.0.0.1       30
         10.8.7.0    255.255.255.0         10.8.7.5        10.8.7.6       1
         10.8.7.4  255.255.255.252         10.8.7.6        10.8.7.6       30
         10.8.7.6  255.255.255.255        127.0.0.1       127.0.0.1       30
..................

пока не могу никак соединить переброску на Сервере1 между 10.8.7.1 и 10.8.8.2 - ведь там эти два сегмента должны связываться - причем дело в том, что не нужно это делать _default_ шлюзом - там на Сервере1 есть свой основной интернет - нужно именно завернуть пакеты которые идут _из_ 10.8.7.0/24, а команда "route add" указывает шлюз для пакетов "куда"
тоесть нужно пакеты с 10.8.7.0/24 идущие в интернет завернуть на 10.8.8.2 - натом пробовал - что-то не доходят, толком ведь не могу просмотреть что и куда идет
или как еще можно?

PM MAIL   Вверх
Glip
Дата 5.10.2008, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 473
Регистрация: 30.12.2006

Репутация: нет
Всего: 18



Цитата(apache2 @  13.9.2008,  11:18 Найти цитируемый пост)
это как одинаковые IP? а как пакеты будут "знать" в какую сторону им идти, ведь с обеих сторон одинаковый IP? 

ну вот допустим у вас тунель между сервером1 и сервером2 имеет разную адресацию
Код

tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
        inet 10.8.7.1 --> 10.8.7.2 netmask 0xffffffff
        Opened by PID 2177

на Сервере1 получаем такой интерфейс:

tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
        inet 10.8.7.10 --> 10.8.7.9 netmask 0xffffffff
        Opened by PID 74283


я предлагаю на эту "трубу" задать такие адреса чтобы на сервере 2 оно выглядело как AddressX --> AddressY
а на сервере 1 AddressY --> AddressX




--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Администрирование"
ZeeLax
Imple
nerezus
Этот форум предназначен для решения вопросов по администрации *n?x-систем, в частности по настройке сложных сетей и обслуживанию серверного оборудования.

  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование *NIX систем | Следующая тема »


 




[ Время генерации скрипта: 0.0912 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.