Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Несколько филиалов в одну сеть - философия.  (Прочитано 938 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн saber

  • Автор темы
  • Участник
  • *
  • Сообщений: 224
    • Просмотр профиля
    • Блог админа
Доброго времени суток.
есть простая задачка, но каким из сотни способов решить не знаю.
Имеются десяток филиалов разбросанных по сибири, у всех ADSL (через ubuntu LTS )

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

Вопрос первый, каким макаром это просто и надёжно сделать?, заморочиться с OpenVPN или простым iptables


ЗЫ Отчёт с пошаговой настройкой  по завершения гарантирую :)
odmin4eg.ru - Мои шпаргалки по ubuntu

Оффлайн solmedas

  • Участник
  • *
  • Сообщений: 101
  • все это рейв
    • Просмотр профиля
    • solmedas.blogspot.com
с ип телефонией проще. астерикс все делает
ubuntu 10.04 x_86_64, x86

Оффлайн vadim-nsk

  • LoCo команда
  • Старожил
  • *
  • Сообщений: 1318
  • Жить надо так, как горит пламя!
    • Просмотр профиля
    • Linux в Новосибирске
Доброго времени суток.
есть простая задачка, но каким из сотни способов решить не знаю.
Имеются десяток филиалов разбросанных по сибири, у всех ADSL (через ubuntu LTS )

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

Вопрос первый, каким макаром это просто и надёжно сделать?, заморочиться с OpenVPN или простым iptables


ЗЫ Отчёт с пошаговой настройкой  по завершения гарантирую :)
ebox-platform же!!! если из Новосибирска свяжись со мной.

Оффлайн saber

  • Автор темы
  • Участник
  • *
  • Сообщений: 224
    • Просмотр профиля
    • Блог админа
Красноярск, про ебокс я узнал позже, чем развёз сервера по филиалам :(
Везде закатил 8.04 LTS
odmin4eg.ru - Мои шпаргалки по ubuntu

Оффлайн Tokh

  • Активист
  • *
  • Сообщений: 705
    • Просмотр профиля
заморочиться с OpenVPN или простым iptables

Первое даёт возможность шифрования трафика. Передаются ведь пароли там всякие по POP3 протоколу, информация из базы со списком клиентов и подобное. Второе к вопросу имеет отношение, но ИМХО второстепенное.

Шлюз в интернет в каждом филиале может иметь вход в VPN туннель к центру внутри себя только. В этот туннель стандартными средствами направляется трафик между центром и филиалом. Станд.ср-ва - это маршрутизация, команда route "руками" или через автопилот программы обеспечивающей VPN. NAT для VPN будет не нужен. Iptables могут быть всего лишь постольку, поскольку фаервол полезно иметь и для обеспечения NAT при передаче/приёме инфы в/из инет. Вход в туннель в случае выбора OpenVPN - это виртуальный сетевой адаптер/интерфейс со своими IP адресами. Вход только внутри шлюза - означает ключи для шифрования только внутри шлюза и у пользователя вообще нет какой-либо нужды иметь эти ключи на свой машине, знать какие-либо пароли дающие доступ в локаную сеть извне.

Если шифрование, то отдельно возникает необходимость как-то управлять/настраивать наборы ключей. OpenSSL делает это. Примерно так: http://www.lissyara.su/articles/freebsd/security/openvpn/

VPN можно купить у провайдера. Как он её организует - его дело. Иногда это уместно.
« Последнее редактирование: 06 Март 2010, 14:19:05 от Somewhere there out there »
StarDict и Mueller помогут против английского мануала.

Оффлайн saber

  • Автор темы
  • Участник
  • *
  • Сообщений: 224
    • Просмотр профиля
    • Блог админа
Somewhere there out there и всётаки как бы вы сделали?
odmin4eg.ru - Мои шпаргалки по ubuntu

Оффлайн Tokh

  • Активист
  • *
  • Сообщений: 705
    • Просмотр профиля
Пусть, вообразим и допустим, все компьютеры оказываются в общей локальной сети, где одна сеть 172.27.0.0/12 по топологии "звезда", и состоит она из шлюзов филиалов, в центре шлюз "центра" и свитч, на концах лучей филиалы. К каждому шлюзу подключена или одна локальная сеть "центра" или каждого филиала, каждая локалка, например, 10.0.n.0/24, где n номер филиала. На каждый шлюз по одной локалке. Все шлюзы соединены с центром напрямую патчкордом. В каждом шлюзе есть ещё третья сетевая плата, через которую есть выход в интернет, но для топологии VPN эта сетевая карта отдельная и можно временно забыть про неё.

Следствие - каждый комп на предприятии имеет уникальный для предприятия IP адрес. Хотя можно устроить NAT, но ИМХО это только если уже раньше было сделано, что в разных филиалах одинаковые адреса в локалке, а переделывать нет возможности и т.п.

Появляется возможность филиалы выпускать в интернет через шлюз в центре.

OpenVPN позволяет реализовать это. Она создаёт виртуальный, программный сетевой интерфейс. Формально получается, что когда запущен канал, то центр и филиал напрямую соединены через виртуальный патчкорд "подключённый" к виртуальным интерфейсам OpenVPN. Этакий "прямой" провод. При этом эти виртуальные интерфейсы все находятся в одной подсети, эта подсеть не пересекается с адресами локальных сетей филиалов и центра. Попутно получается, что всё необходимое для защиты от прослушивания этого патчкорда находится только на шлюзах. Все комп-ы предприятия могут обращаться друг к другу по IP адресам их локальных сетей, не нужен NAT внутри сетей предприятия.

Маршруты OpenVPN создаёт сама, берёт их из конфигураций. Можно сделать, что эта часть конфигураций берётся с центрального сервера, для каждого филиала своя. Есть адаптивное сжатие трафика. Вообще, много у неё разных опций и фич.

Прочие и технические детали тут:
*) Настройка OpenVPN с использованием сертификатов X.509 http://www.sergeysl.ru/freebsd-openvpn-x509/
*) Назначение статических IP-адресов клиентам OpenVPN http://www.sergeysl.ru/freebsd-openvpn-client-static-ip/
Если из статьи убрать вопросы инсталяции софта и вопросы настройки фаервола, то она без изменений применима так же и к другим ОС.
Кухню с X.509 ключами имеет смысл автоматизировать скриптом. Можно сделать ключи зашифрованные паролем, но тогда перезапуск сервера требует ввода пароля во время чтения ключа при старте канала.
Можно на все филиалы сделать единый HMAC ключ, т.е. защищать только средствами OpenVPN, без TLS, в принципе можно.


Я режу ICMP вообще весь, и должна не срабатывать авто-регулировка MTU. Возможно из-за этого не получается запустить связь на скорости близкой к полной скорости по тарифу провайдера, скорость болтается на низком уровне 60Кб/сек. У других людей этой проблемы нет. В планах разобраться, разрешить ICMP, но получившийся "шейпер" :) полезен в моём случае...

Засекал отключения VPN, демон завершает работу со ссылками на определённые ошибки. Забыл какие, можно попробовать поднять по логам. Сделал контроль того, что демон запущен: по расписанию, раз в минуту
[ -z "$( ps aux | grep -v grep | grep /path/name.ovpn )" ] && echo "$( date ) channel failed." >> /path/name.ovpn.log && /usr/sbin/openvpn --config /path/name.ovpnСлучалось редко, раз в месяц и реже. В эксплуатации беспокойство не вызывало.

Кроме этой пары, других проблем не заметил. Других технологий не использовал.

P.S. Не знаю что есть на практике ebox-platform, не внедрял.
« Последнее редактирование: 07 Март 2010, 22:08:41 от Somewhere there out there »
StarDict и Mueller помогут против английского мануала.

Оффлайн saber

  • Автор темы
  • Участник
  • *
  • Сообщений: 224
    • Просмотр профиля
    • Блог админа
Какой развёрнутый пост, у меня примерно так и получилось. 8)

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

1 центральный сервер, имеет на себе eth1 - выход в инет с реал ипом tun0 - 10.10.10.1 - сервер openvpn

Маршрутизация на нём

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.10.10.2      0.0.0.0         255.255.255.255 UH    0      0        0 tun0
217.117.176.96  0.0.0.0         255.255.255.240 U     0      0        0 eth1
192.168.100.0   10.10.10.2      255.255.255.0   UG    0      0        0 tun0
192.168.5.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.10.10.0      10.10.10.2      255.255.255.0   UG    0      0        0 tun0
0.0.0.0         217.117.176.97  0.0.0.0         UG    100    0        0 eth1


2 клиент в регионе eth0 - ADSL соединение (воткнуто в модем) через него поднято ppp0 (PPPoE соединение) Поверх него поднят tun0 (openVPN)

Маршрутизация на нём.

 
# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
213.228.116.39  0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
10.10.10.5      0.0.0.0         255.255.255.255 UH    0      0        0 tun0
192.168.5.0     10.10.10.5      255.255.255.0   UG    0      0        0 tun0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.10.10.0      10.10.10.5      255.255.255.0   UG    0      0        0 tun0
192.168.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth1
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0



на сервере 1 настроен маскарад

 
-A POSTROUTING -s 10.10.10.0/255.255.255.0 -o eth1 -j MASQUERADE

На клиенте 2 настроен маскарад

 
-A POSTROUTING -s 192.168.0.0/255.255.0.0 -o tun0 -j MASQUERADE

но трафик не ходит, я так понимаю из-за default gateway на клиенте2.

что мне надо прописать на нём, при этом не обрушив ppp0 и не потеряв связь с ним (ребут долгий и не желательный совсем совсем)
odmin4eg.ru - Мои шпаргалки по ubuntu

 

Страница сгенерирована за 0.066 секунд. Запросов: 22.