Добавление подсети через аппаратный VPN (VPN уже настроен.)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

qux
Сообщения: 23

Добавление подсети через аппаратный VPN

Сообщение qux »

Приключения продолжаются. :)

Есть:
ОС Linux Debian,
Две сетевых карты,
Роутер d-link DI-804HV (внутренний ip 10.0.1.1)

/etc/network/interfaces:

auto lo
iface lo inet loopback

# смотрит в локальную сеть
auto eth0
iface eth0 inet static
address 10.0.0.1
netmask 255.255.255.0

# смотрит в интернет
auto eth1
iface eth1 inet static
address 10.0.1.2
netmask 255.255.255.0
gateway 10.0.1.1

Пинг на второй vpn роутер (10.0.2.1) идет успешно.

Необходимо сделать доступными рабочие станции сети 10.0.2.1 сделать доступными с рабочих станций местной сети.

Добавил роутинг:

Код: Выделить всё

route add -net 10.0.2.0 netmask 255.255.255.0 gw 10.0.0.1 eth0


Неправильно.

route add -net 10.0.2.0 netmask 255.255.255.0 gw ???????? eth0

Подскажите, пожалуйста.
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: Добавление подсети через аппаратный VPN

Сообщение Alex2ndr »

Маршрутизатор должен быть в той же подсети что и ваш комп.
Если я правильно понял структуру сети то так -
route add -net 10.0.2.0 netmask 255.255.255.0 gw 10.0.1.1 eth0
Спасибо сказали:
qux
Сообщения: 23

Re: Добавление подсети через аппаратный VPN

Сообщение qux »

Пробовал. Пишет: Unreachable host

Птался настроить по аналогии со следующим примером (http://www.openkazan.info/linux-routing)

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.17.8
hwaddress ether 00:E0:4C:A2:C4:48
netmask 255.255.255.0
broadcast 192.168.17.255
auto eth1
iface eth1 inet static
address 192.168.254.2
netmask 255.255.255.0
gateway 192.168.254.1
broadcast 192.168.254.255

Интерфейс eth0 это связь с локальной сетью состоящей из 20 подсетей 192.168.1.х-192.168.20.х
Интерфейс eth1 это связь с ADSL модемом с выходом в интернет. Так большинство запросов идут в Инет на этом интерфейсе прописываем шлюз (gateway 192.168.254.1) данный параметр указывает в системе шлюз по-умолчанию, обращаю внимание, что шлюз надо прописывать только на одном интерфейсе, иначе в системе появятся 2 маршрута по умолчанию и естно будет затупление в работе. С интернетом разобрались.
Но требуется еще просматривать ресурсы локальной сети
для этого надо выполнить вот эти команды
Код:

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.17.254 eth0
route add -net 192.168.12.0 netmask 255.255.255.0 gw 192.168.17.254 eth0
route add -net 192.168.21.0 netmask 255.255.255.0 gw 192.168.17.254 eth0

На этом примере маршрутизируются 3 подсети


Из примера мне не совсем ясно откуда взялся шлюз 192.168.17.254 ???
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Добавление подсети через аппаратный VPN

Сообщение watashiwa_daredeska »

qux писал(а):
09.02.2010 15:31
Из примера мне не совсем ясно откуда взялся шлюз 192.168.17.254 ???
Это маршрутизатор для локальной сети. Он прописан не как default (опция gateway в /etc/network/interfaces), а явно для определённых подсетей. Обычно, список подсетей и адрес маршрутизатора надо узнавать у провайдера.
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: Добавление подсети через аппаратный VPN

Сообщение Alex2ndr »

Вы бы набросали примерную схемку вашей сети - нам бы было проще вам помочь. Лично мне пока не ясно что и как у вас устроено.
Спасибо сказали:
qux
Сообщения: 23

Re: Добавление подсети через аппаратный VPN

Сообщение qux »

Схема вот такая (а вот художник из меня никакой):

Код: Выделить всё

Интернет <-- роутер      <------->     роутер --> интернет
                      10.0.2.1          VPN       10.0.1.1
                           |                                       |
                           |                                       |
                           |                                       |
                           |                                eth1 10.0.1.2
                 локальная сеть         Прокси, маршрутизатор
                      10.0.2.0                        eth0 10.0.0.1
                                                                   |
                                                                   |
                                                                   |
                                                     локальная сеть
                                                          10.0.0.0
Спасибо сказали:
qux
Сообщения: 23

Re: Добавление подсети через аппаратный VPN

Сообщение qux »

Пишет при:

Код: Выделить всё

route add -net 10.0.2.0 netmask 255.255.255.0 gw 10.0.1.1 eth0

Network unreachable
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Добавление подсети через аппаратный VPN

Сообщение pelmen »

Я так и не понял:)
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: Добавление подсети через аппаратный VPN

Сообщение Alex2ndr »

qux писал(а):
10.02.2010 14:28
Схема вот такая (а вот художник из меня никакой):

Код: Выделить всё

Интернет <-- роутер      <------->     роутер --> интернет
                      10.0.2.1          VPN       10.0.1.1
                           |                                       |
                           |                                       |
                           |                                       |
                           |                                eth1 10.0.1.2
                 локальная сеть         Прокси, маршрутизатор
                      10.0.2.0                        eth0 10.0.0.1
                                                                   |
                                                                   |
                                                                   |
                                                     локальная сеть
                                                          10.0.0.0

Может тупо картинку тупо в паинте(если линух то есть замечательная Dia)? А то что-то стало еще менее понятно.
Спасибо сказали:
qux
Сообщения: 23

Re: Добавление подсети через аппаратный VPN

Сообщение qux »

pelmen писал(а):
10.02.2010 15:22
Я так и не понял:)


Какую часть? Так как я весьма заинтересован в решении, то старательно попытаюсь привести свой вопрос к понятному виду.

Ок. :)

Пошел за красками. Мин через 15 постараюсь выложить.

:)
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Добавление подсети через аппаратный VPN

Сообщение pelmen »

Не забудьте отметить на схеме расположение компьютера с ОС Linux Debian
Спасибо сказали:
qux
Сообщения: 23

Re: Добавление подсети через аппаратный VPN

Сообщение qux »

Ых. Вот схема сети:

Изображение
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Добавление подсети через аппаратный VPN

Сообщение pelmen »

Так, у клиентов в сетке 10.0.0.0/24 шлюзом идет 10.0.0.1, а им нужно достучаться до 10.0.2.0/24... Если Debian пингует 10.0.2.1, то и клиенты из локальной сети должны его пинговать. Укажите еще адрес сети у VPN-подключения. Если роутеры NAT-ят все пакеты из их локальных сетей не только в интернет, но и в vpn-сеть, то тут ничего не выйдет.
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: Добавление подсети через аппаратный VPN

Сообщение Alex2ndr »

Все таки должно работать такое правило как я давал. Вот попробуйте без указания интерфейса -

Код: Выделить всё

route add -net 10.0.2.0 netmask 255.255.255.0 gw 10.0.1.1

Если не работает то вывод route -n с вашего сервера
Спасибо сказали:
qux
Сообщения: 23

Re: Добавление подсети через аппаратный VPN

Сообщение qux »

pelmen писал(а):
10.02.2010 16:42
Так, у клиентов в сетке 10.0.0.0/24 шлюзом идет 10.0.0.1, а им нужно достучаться до 10.0.2.0/24... Если Debian пингует 10.0.2.1, то и клиенты из локальной сети должны его пинговать. Укажите еще адрес сети у VPN-подключения. Если роутеры NAT-ят все пакеты из их локальных сетей не только в интернет, но и в vpn-сеть, то тут ничего не выйдет.


Debian пингует и 10.0.2.1 и все рабочие станции из удаленной сети (например 10.0.2.3, 10.0.2.4 и т.д)

А рабочие станции из сети 10.0.0.0 не пингуют сеть 10.0.2.0 ...

Код: Выделить всё

route -n

route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Iface
10.0.5.2         0.0.0.0       255.255.255.255     UH     0      0       tun0
10.0.5.0        10.0.5.2      255.255.255.0         UG     0      0       tun0
10.0.0.0        0.0.0.0        255.255.255.0         U       0      0       eth0
10.0.1.0        0.0.0.0        255.255.255.0         U       0      0       eth1
0.0.0.0         10.0.1.1       0.0.0.0                   UG     0      0       eth1


Alex2ndr писал(а):
10.02.2010 16:47
Все таки должно работать такое правило как я давал. Вот попробуйте без указания интерфейса -

Код: Выделить всё

route add -net 10.0.2.0 netmask 255.255.255.0 gw 10.0.1.1

Если не работает то вывод route -n с вашего сервера


после вашего route маршрут встал в интерфейс...

Код: Выделить всё

route -n

route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Iface
10.0.5.2         0.0.0.0       255.255.255.255     UH     0      0       tun0
10.0.5.0        10.0.5.2      255.255.255.0         UG     0      0       tun0
10.0.0.0        0.0.0.0        255.255.255.0         U       0      0       eth0
10.0.1.0        0.0.0.0        255.255.255.0         U       0      0       eth1
10.0.2.0       10.0.1.1       255.255.255.0         U       0      0       eth1
0.0.0.0         10.0.1.1       0.0.0.0                   UG     0      0       eth1


Но пинга с рабочих станций все равно нет.

На Linux стоит Squid. Может необходимо в его настройка что-то дописать...
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: Добавление подсети через аппаратный VPN

Сообщение Alex2ndr »

Такс - посмотрел еще раз на схему и задумался... чтож это я так туплю?
правило
route add -net 10.0.2.0 netmask 255.255.255.0 gw 10.0.1.1
не добавится по той простой причине, что 10.0.1.1 это гейт по умолчанию - зачем еще какое-то правило через него. Чтобы из 10.0.0.0 пинговалась 10.0.2.0 надо настраивать маршрутизацию на 10.0.1.1. А так как она там уже настроена (впн то поднят) то пакеты до 10.0.2.0 доходят без проблемм (можете проверить tcpdump). А вот обратные пакеты... Чтобы они добрались до 10.0.0.0 шлюз на 10.0.2.1 должен знать что путь к 10.0.0.0 лежит через 10.0.1.1, а 10.0.1.1 в свою очередь должен знать что 10.0.0.0 лежит за 10.0.1.2. Вот такая засада. Думайте чего у вас не хватает. В принципе одно звено отсюда можно выкинуть - если на вашем Server Linux Debian поднят NAT, то надо только чтобы 10.0.2.1 знал путь к 10.0.1.2

PS Squid тут совершенно не при чем.

UPD
Опять туплю. Если дебиан пингует все компы из 10.0.2.0 то 10.0.2.1 знает путь к 10.0.1.2. Значит или пишите везде маршрут к 10.0.0.0 или поднимайте NAT
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Добавление подсети через аппаратный VPN

Сообщение pelmen »

Debian не пингует компы сети 2.0, равно как и компы сети 0.0 не пингуют компы сети 2.0 Это все потому что сеть 2.0 сидит за натом (роутер 2.1)
Спасибо сказали:
crazyuser
Сообщения: 10

Re: Добавление подсети через аппаратный VPN

Сообщение crazyuser »

таблицы маршрутизации с d-link'ов покажите.
Спасибо сказали:
quux
Сообщения: 9

Re: Добавление подсети через аппаратный VPN

Сообщение quux »

pelmen писал(а):
10.02.2010 17:26
Debian не пингует компы сети 2.0, равно как и компы сети 0.0 не пингуют компы сети 2.0 Это все потому что сеть 2.0 сидит за натом (роутер 2.1)


Стойте стойте, я тут писал:

Debian пингует и 10.0.2.1 и все рабочие станции из удаленной сети (например 10.0.2.3, 10.0.2.4 и т.д)


А вот рабочие станции из сети 10.0.0.0 не пингуют сеть 10.0.2.0 ...
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Добавление подсети через аппаратный VPN

Сообщение pelmen »

ААааа..... В таком случае все должно работать :) (если SNAT настроен правильно, а он настроен правильно, т.к. компы из локальной сети пингуют роутер второй сети)
Спасибо сказали:
qux
Сообщения: 23

Re: Добавление подсети через аппаратный VPN

Сообщение qux »

pelmen писал(а):
10.02.2010 19:43
ААааа..... В таком случае все должно работать :) (если SNAT настроен правильно, а он настроен правильно, т.к. компы из локальной сети пингуют роутер второй сети)


Уточняю :) компы из локальной сети пингуют интерфейс (10.0.1.2) сервера Linux Debian направленный к роутеру (10.0.1.1)
а вот сам роутер (10.0.1.1) и роутер (10.0.2.1) и компы второй подсети не пингуют.

а сам Linux Debian пингует все.
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Добавление подсети через аппаратный VPN

Сообщение pelmen »

А интернет у них есть? Если есть, то почему он есть, если 1.1 у них не пингуется?
Короче, чего ходить вокруг да около. На Debian выполни так:
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to-source 10.0.1.2
Спасибо сказали:
qux
Сообщения: 23

Re: Добавление подсети через аппаратный VPN

Сообщение qux »

pelmen писал(а):
10.02.2010 20:23
А интернет у них есть? Если есть, то почему он есть, если 1.1 у них не пингуется?
Короче, чего ходить вокруг да около. На Debian выполни так:
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to-source 10.0.1.2


Инет раздается squid. Шлюз у всех рабочих станций из подсети 10.0.0.0 настроен как 10.0.0.1.

Сейчас я уже дома. Команду выполню завтра. Завтра же будет ясен результат.
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Добавление подсети через аппаратный VPN

Сообщение pelmen »

А вы помимо сквида форвардинг и нат настраивали на шлюзе?
Спасибо сказали:
crazyuser
Сообщения: 10

Re: Добавление подсети через аппаратный VPN

Сообщение crazyuser »

Для того чтобы рабочии станции видили другдруга, маршрутизаторы которые находятся между ними должны знать маршруты до них. Маршруты до тех сетей которые непосредственно подключены к d'link'ам они и так знают. Остальные надо добавить вручную.
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Добавление подсети через аппаратный VPN

Сообщение pelmen »

crazyuser писал(а):
10.02.2010 20:44
Для того чтобы рабочии станции видили другдруга, маршрутизаторы которые находятся между ними должны знать маршруты до них. Маршруты до тех сетей которые непосредственно подключены к d'link'ам они и так знают. Остальные надо добавить вручную.
qux писал(а):
10.02.2010 20:05
а сам Linux Debian пингует все.
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: Добавление подсети через аппаратный VPN

Сообщение Alex2ndr »

Вот на мой ответ не обратили внимания - а зря...
Короче так -
1. Если хотите чтобы из сети 10.0.0.0 были доступны компы из 10.0.2.0, то настраивайте NAT -

Код: Выделить всё

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to-source 10.0.1.2

Только учтите - компы из сети 10.0.2.0 будут видеть только ваш дебиановый сервер - а остальные компы из 10.0.0.0 не увидят. Можно через DNAT осуществлять проброс портов - но это не особо удобно.
2. Если хотите чтобы из сети 10.0.0.0 были доступны компы из 10.0.2.0, а из сети 10.0.2.0 были бы доступны компы 10.0.0.0, то прописывайте на ваших dlink`ах маршрут к сети 10.0.0.0. Причем на обоих.
Спасибо сказали:
qux
Сообщения: 23

Re: Добавление подсети через аппаратный VPN

Сообщение qux »

Alex2ndr писал(а):
10.02.2010 22:03
Вот на мой ответ не обратили внимания - а зря...
Короче так -
1. Если хотите чтобы из сети 10.0.0.0 были доступны компы из 10.0.2.0, то настраивайте NAT -

Код: Выделить всё

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to-source 10.0.1.2

Только учтите - компы из сети 10.0.2.0 будут видеть только ваш дебиановый сервер - а остальные компы из 10.0.0.0 не увидят. Можно через DNAT осуществлять проброс портов - но это не особо удобно.
2. Если хотите чтобы из сети 10.0.0.0 были доступны компы из 10.0.2.0, а из сети 10.0.2.0 были бы доступны компы 10.0.0.0, то прописывайте на ваших dlink`ах маршрут к сети 10.0.0.0. Причем на обоих.



Запустил ваш код. Ноль результата.
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: Добавление подсети через аппаратный VPN

Сообщение Alex2ndr »

qux писал(а):
11.02.2010 10:36
Запустил ваш код. Ноль результата.

а

Код: Выделить всё

echo 1 > /proc/sys/net/ipv4/ip_forward

сделали?
Спасибо сказали:
Аватара пользователя
keir
Сообщения: 317
ОС: linux

Re: Добавление подсети через аппаратный VPN

Сообщение keir »

Хост 10.0.2.1 знает о существовании сети 10.0.0.0/24 ?
Городить nat-ы внутри локальной сети это ужас.
Trust №1
Спасибо сказали: