Объединение двух локальных сетей [Решено]

Здравствуйте. Помогите пожалуйста решить следующий вопрос:
Имеем две локальные сети, в каждой из которых имеется по одному серверу или шлюзу (не знаю как правильно назвать) с двумя сетевыми картами
Сервер_1 - IP: 192.168.2.12 MASK: 255.255.255.0 соединен с Сервером_2 через интернет IP: 10.10.10.12 MASK: 255.0.0.0
Сервер_2 - IP: 192.168.3.11 MASK: 255.255.255.0 соединен с Сервером_1 через интернет IP: 10.10.10.11 MASK: 255.0.0.0
Как мне сделать чтобы локальные сети были друг для друга прозрачными, то есть с любого ПК из одной сети можно было пинговать любой ПК другой сети и наоборот?
Заранее благодарен.

0
beginer - 20 Июнь, 2012 - 10:38

Смотрите в сторону openvpn. Поднимаете на одном из шлюзов сервер openvpn, на другом ставите клиента. Настраиваете маршрутизацию и вауля - готово. Более конкретно поищите в том же гугле, например. Помню попадалась мне статья где описывался примерно ваш случай.

0
DARIUS - 20 Июнь, 2012 - 11:46

Да я уже все обыскал. Попадается, но не совсем то. Есть много описания настройки под pptp, перепробовал все, но все равно не пингуется. Поэтому и написал сюда - если можно пошагово.

0
Flameflower - 20 Июнь, 2012 - 12:01
Изображение пользователя Flameflower.

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

0
Flameflower - 20 Июнь, 2012 - 12:08
Изображение пользователя Flameflower.

Попробуй почитать вот эту статейку.

0
DARIUS - 20 Июнь, 2012 - 13:14

А под freeBSD и под кубунтой будут одинаковые настройки?

0
Flameflower - 20 Июнь, 2012 - 13:23
Изображение пользователя Flameflower.

Конфиги - да.
Ну разве что немного изменить расположение файлов под себя.

0
beginer - 20 Июнь, 2012 - 12:37

Что бы более полно все объяснить не хватает информации.
1. Какая система на серверах и есть ли на них firewall
2. Что означает полный доступ? Нужен ли широковещательный трафик?
pptp не работал, но у меня несколько отделов поключены через openvpn. На серверах стоит debian.
Еще меня смущает вот это
соединен с Сервером_2 через интернет IP: 10.10.10.12 MASK: 255.0.0.0
Это такой ip получает сервер? Он что за nat'ом сидит?

0
DARIUS - 20 Июнь, 2012 - 13:12

Система стоит kubuntu 12.04
Полный доступ - это значит что я с любого компьютера одной сети могу зайти (пропинговать) любой компьютер другой сети. (Ну например с компьютера 192.168.2.17 должен пинговаться компутер 192.168.3.15) и т.д.
10.10.10.12 с маской 255.0.0.0 - это психоделические адреса (эмулируют выделенные IP)
То есть в данном случае я создал модель с двумя компьютерами которые соединены друг с другом по адресу с одной стороны 10.10.10.11 и с другой стороны 10.10.10.11 напрямую (шнурок между двумя сетевыми на сервере 1 и сервере 2). На второй сетевой карте первого сервера локалка 192.168.2.12, а второго соответственно 192.168.3.11 (ниже приведен схематический чертеж)

0
beginer - 20 Июнь, 2012 - 13:20

http://mannix.ru/security/ustanovska-i-nastrojka-openvpn-na-linux.html
Попробуйте по этому описанию. Если что конкретно не получится или возникнут вопросы пишите сюда.

0
DARIUS - 21 Июнь, 2012 - 11:25

Огромное спасибо за статью, сделал все как там описывалось (ну конечно же под свои настройки - то есть вместо 82.12.20.34 у меня 10.10.10.12 ...) Единственное что - у меня при не дает доступ к файлу vpn.log (хотя ввожу через sudo). И еще #echo tun >> /etc/modules тоже не дала доступ, пришлось через nano вводить, хотя это не айс - надо же потом настройки сохранять чтобы они при загрузке устанавливались.
В конечном итоге сервера пингуют друг друга (причем как тонельные адреса, так и локальные). Правда на этом все и закончилось. Другие компы в сетях не пингуются. ifconfig почему-то в tun1 выдает маску 255.255.255.255 (хотя может это так и должно быть). Подскажите как мне теперь добиться пинга с любого компа в одной сети любого компа в другой. Заранее спасибо.

0
Vlad_W_1999 - 21 Июнь, 2012 - 12:20

Боюсь, что теперь придётся настраивать каждый сервер отдельно. Ну, чтобы он пропускал и отдавал данные адреса. Хватит ли ковыряния в iptables я не знаю. Может возникнуть необходимость ковыряться ещё с чем-то.

Прочитал ещё раз. Если компьютеры не видны, то я бы очень серьёзно проверил команды "openvpn --remote" и "route add". Кроме них безобразничать некому.

0
beginer - 21 Июнь, 2012 - 12:27

Приведите таблицу маршрутов скажем на сервере1. Перенаправление пакетов между сетевыми интерфейсами разрешено? Параметр /proc/sys/net/ipv4/ip_forward - он должен быть в установлен в 1 Иначе ядро не будет перенаправлять пакеты между сетевыми интерфейсами. Еще бы хотелось посмотреть таблицу маршрутизации на клиентской машине.

0
Vlad_W_1999 - 21 Июнь, 2012 - 12:44

Нет-нет-нет! Мы всё неправильно делаем. Мы пытаемся дать человеку какую-то обрывочную информацию. Так делать нельзя -- понимание того, что он делает будет ускользать.

0
beginer - 21 Июнь, 2012 - 12:54

Понимание... Я сейчас еще раз внимательно посмотрел, что написано и понял, что он vpn поднимает просто командой. Гораздо же проще работать через конфигурационные файлы. Там в самом начале есть даже примеры конфигов как для сервера, так и для клиента. Когда давал ссылку думал, что DARIUS будет действовать именно так. Хотя разницы конечно нет.

0
Vlad_W_1999 - 21 Июнь, 2012 - 13:01

Это я как раз понимаю: человеку хотелось побыстрее, потому и не прописал конфиги. Пока ещё нету понимания, что здесь нахрапом не всегда получится. :-)

0
DARIUS - 21 Июнь, 2012 - 13:54

в ip_forward ставил 1 - никакой разницы.
Вот результат работы route при поднятом vpn^
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.2.1 0.0.0.0 UG 0 0 0 eth0
10.0.0.0 * 255.0.0.0 U 1 0 0 eth1
link-local * 255.255.0.0 U 1000 0 0 eth0
192.168.2.0 * 255.255.255.0 U 1 0 0 eth0
192.168.3.0 192.168.254.1 255.255.255.0 UG 0 0 0 tun1
192.168.254.2 * 255.255.255.255 UH 0 0 0 tun1

0
beginer - 21 Июнь, 2012 - 13:58

еще бы вывод команды ifconfig
И таблицу маршрутизации на машине из сети (за свичем)

0
DARIUS - 21 Июнь, 2012 - 14:28

ifconfig
eth0 Link encap:Ethernet HWaddr 50:e5:49:9d:e8:97
inet addr:192.168.2.12 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::52e5:49ff:fe9d:e897/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:146 errors:0 dropped:0 overruns:0 frame:0
TX packets:132 errors:0 dropped:0 overruns:0 carrier:1
collisions:0 txqueuelen:1000
RX bytes:14219 (14.2 KB) TX bytes:13555 (13.5 KB)
Interrupt:43

eth1 Link encap:Ethernet HWaddr 00:1b:21:ab:4c:f3
inet addr:10.10.10.12 Bcast:10.255.255.255 Mask:255.0.0.0
inet6 addr: fe80::21b:21ff:feab:4cf3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:65 errors:0 dropped:0 overruns:0 frame:0
TX packets:146 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:13799 (13.7 KB) TX bytes:23948 (23.9 KB)

lo Link encap:Локальная петля (Loopback)
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5850 (5.8 KB) TX bytes:5850 (5.8 KB)

tun1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.254.1 P-t-P:192.168.254.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:252 (252.0 B) TX bytes:1260 (1.2 KB)

Что касается машины из сети, то на них windows xp
ipconfig выдает:
IP адрес: 192.168.2.15
Маска подсети: 255.255.255.0
Основной шлюз: 192.168.2.1
И так на всех.
С сервера 1 они пингуются нормально, а вот с сервера 2 и его подсети 2 глухо

0
beginer - 21 Июнь, 2012 - 14:47

на ХР нужно выполнить route print. Но судя по тому, что написано нужно выполнить что то вроде этого (это на ХР)
route add 192.168.3.0 MASK 255.255.255.0 192.168.2.12

Просто шлюз по умолчанию задан как 192.168.2.1 тогда как VPN сервер имеет адрес 192.168.2.12
Со стороны второго сервера нужно на ХР машинах сделать тоже самое, если, конечно умолчательный шлюз не совпадает с адресом машины на которой поднят VPN. Да и про ip_forward не забывайте - на обоих машинах с VPN должен быть 1.

0
DARIUS - 25 Июнь, 2012 - 11:35

Огромное спасибо!!!!!!!!! На локальных машинах поменял шлюзы и все заработало :-) Теперь вот надо автоматизировать процесс, чтобы при загрузке сразу подключался vpn. Это возможно сделать?

0
dyug - 25 Июнь, 2012 - 11:53

указать название сети в файле /etc/default/openvpn ?

# This is the configuration file for /etc/init.d/openvpn

#
# Start only these VPNs automatically via init script.
# Allowed values are "all", "none" or space separated list of
# names of the VPNs. If empty, "all" is assumed.
#
#AUTOSTART="all"
#AUTOSTART="none"
AUTOSTART="crasher dyug khmara izmail local"
#
# Refresh interval (in seconds) of default status files
# located in /var/run/openvpn.$NAME.status
# Defaults to 10, 0 disables status file generation
#
STATUSREFRESH=20
#STATUSREFRESH=0
# Optional arguments to openvpn's command line
OPTARGS=""

Во всяком случае, у меня это работает.
Название туннелей у меня соответствует их количеству.
Кстати, пару можно уже погасить... :-(

0
dm - 25 Июнь, 2012 - 15:08
Изображение пользователя dm.

Создать конфигурационный файл с нужными параметрами и положить его в папочку /etc/openvpn. Файлу дать любое название с расширением .conf. В OpenVPN автоматически обрабатываются все файлы с расширением .conf находящиеся в папке /etc/openvpn

0
DARIUS - 21 Июнь, 2012 - 13:57

Да мне по большому счету побыстрее не надо, просто у меня опыта вообще нет в этом деле, вот я и спрашиваю профессионалов

0
beginer - 27 Июнь, 2012 - 23:46

Извиняюсь за долгое отсутствие. Проблема автоматизация решена? Или еще нет?

0
DARIUS - 28 Июнь, 2012 - 10:05

Еще нет, пока нужно было только настроить канал. Автоматизировать буду в августе (после отпуска). Большое спасибо за участие. Я в любом случае напишу о результатах.

0
Vlad_W_1999 - 21 Июнь, 2012 - 12:48

Стало быть, так. Необходимо прочитать вот этот документ. И спросить, если что неясно. Также, если данного документа не будет хватать, нужно пройтись по ссылке в нём и прочитать более развёрнутую документацию. На дату документа смотреть не нужно -- он до сих пор вполне актуален.

Если после этого положение не удастся исправить, тогда будем буквально построчно разбирать, что есть и чего нету в iptables. Все другие пути ведут к недопониманию.

0
beginer - 21 Июнь, 2012 - 12:58

мне кажется, что firewall тут не причем. Проблема именно в маршрутах. Хотя честно говоря информацию приходится вытаскивать клещами. На вопрос об настройках файрволла я спрашивал выше.

0
Vlad_W_1999 - 21 Июнь, 2012 - 13:03

Есть у меня мнение, что тривиально не прописаны всяческие "iptables -A INPUT -i eth0 -p TCP --dport 80 -j ACCEPT" и оно же OUT. Потому никого и никуда не пускают. Но я могу ошибаться: конфигов я ведь не видел.

0
DARIUS - 21 Июнь, 2012 - 13:56

а где это можно посмотреть?

0
beginer - 21 Июнь, 2012 - 14:08

sudo iptables -L

0
DARIUS - 21 Июнь, 2012 - 14:29

sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

0
Vlad_W_1999 - 22 Июнь, 2012 - 16:27

Читать тот документ, ссылку на который я дал. Боюсь, что без этого никак.

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры