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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Вопрос про роутинг  (Прочитано 671 раз)

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

Оффлайн andrey465

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Вопрос про роутинг
« : 16 Ноября 2011, 23:35:26 »
Здравствуйте!

Объясните пожалуйста следующую ситуацию:

Имеем стандартную конфигурацию сети - локальная сеть (192.168.1.0/24), интернет любым вариантом подключения, как минимум два компьютера - собственно роутер(192.168.1.1) и клиент (192.168.1.2) (оба на линуксе). Все работает, натится, пингуется, порты при необходимости пробрасываются и т.д.

Ситуация чуть меняется - на роутере подключается дополнительная сеть(10.128.0.10/8) (например какой нибудь туннель куда нибудь).
Настраивается нат, разрешения, маршруты на роутере. Опять же - с роутера все пингуется, натится и т.д. Но вот не задача - клиент знать не знает ни про какой туннель (все маршурты на роутере и все разрешения имеются). Все это долго тестится/отлаживается с целью выяснить что и где забыли. В конце концов выясняется что при добавлении на клиент маршрута в туннель через роутер (10.128.0.0/8 via 192.168.1.1) все начинает работать как по маслу.

Собственно вопрос - как же так?

Насколько я знаю работу маршрутизации, клиенту в любой сети достаточно знать два маршрута - описание локальной сети и маршрут по умолчанию

192.168.1.0/24 dev eth0 src 192.168.1.2
default via 192.168.1.1

тоесть, если адрес не найден в локальной сети то маршрут спрашивается у роутера.
А тут получается что без добавления нового маршрута

192.168.1.0/24 dev eth0 src 192.168.1.2
10.128.0.0/8 via 192.168.1.1
default via 192.168.1.1

клиент сам не видет сеть и не собирается спрашивать у роутера.

Я так понимаю, чего то в описаниях механизма маршрутизации я упустил, дайте пожалуйста ссылку на толковый мануал а то я так и буду в потемках ходить. Заранее спасибо.

Оффлайн _set_

  • Участник
  • *
  • Сообщений: 227
    • Просмотр профиля

Оффлайн andrey465

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Re: Вопрос про роутинг
« Ответ #2 : 17 Ноября 2011, 21:25:53 »
Я так понял правило "если адрес не найден в локальной сети то маршрут спрашивается у роутера" действует только в одной подсети (локальная сеть или интернет), если же добавляется подсеть с другим адресным пространством то для ее работы нужны маршруты на каждом клиенте?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Вопрос про роутинг
« Ответ #3 : 17 Ноября 2011, 21:44:54 »
Нет, маршрут с шлюзом на дефолтный шлюз - маразм, потому если на роутере всё нормально настроено, то и костыли не нужны.
Давайте конкретику (для параноидальных случаев меняем вторую тетраду на хх).

Оффлайн andrey465

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Re: Вопрос про роутинг
« Ответ #4 : 17 Ноября 2011, 23:10:10 »
Роутер Ubuntu 11.04
на нем:
   Интернет
   Локальная сеть 192.168.1.0/24 адрес 192.168.1.1
   VPN pptp 10.128.0.0/24 адрес 10.128.0.1 (является vpn сервером)

Клиент в локальной сети Suse Linux
   адрес 192.168.1.2

Клиент в VPN сети Windows 7

Предположим что правила iptables чисты (политики везде ACCEPT), за исключением маскардинга и включенного форвардинга.
Подключается VPN клиент, получает адрес (например 10.128.0.10), адрес шлюза соответственно 10.128.0.1.
Проверяем, VPN клиент успешно пингует локальную сеть, роутер соответственно успешно пингует VPN клиента,
клиент в локальной сети не может пропинговать VPN клиента (пишет Destination Host Unreachable), conntrack на роутере не фиксирует запросов от клиента (я так понимаю что запросы даже не попадают на роутер).
Добавляем "маршрут с шлюзом на дефолтный шлюз" - работает.

Далее, первый ответ навел на мысль переделать конфигурацию VPN - настроить так, чтобы она маршрутизировалась как часть локальной сети - меняем адрес сервера в VPN на 192.168.1.1 и собственно выделяем для VPN клиентов адреса 192.168.1.100-150.
Попытка номер два ("спец маршрут" на локальном клиенте заранее удален) - VPN клиент подключается, получает адрес 192.168.1.100 и шлюз 192.168.1.1  - все пингуется, все друг друга видят.

Собственно сталкиваюсь с такой ситуацией уже второй раз (первый опыт был при настройке Debian 6), тогда решил что местный админ уже что-то наковырял с роутингом.

Оффлайн drako

  • Старожил
  • *
  • Сообщений: 1422
    • Просмотр профиля
Re: Вопрос про роутинг
« Ответ #5 : 17 Ноября 2011, 23:28:44 »
Предположим что правила iptables чисты (политики везде ACCEPT), за исключением маскардинга и включенного форвардинга.
Давайте теоретизирование оставим преподавателям в высших учебных заведениях - это их хлеб, а сами углубимся в конкретику настройки конкретного железа...
Кажите iptables-save, route -n, ifconfig -a для начала.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Вопрос про роутинг
« Ответ #6 : 17 Ноября 2011, 23:35:20 »
Ни разу с такой проблемой не сталкивался, хотя роутеров настроил достаточно...
Всё-таки было бы интересно посмотреть tracepath до клиента VPN

Боюсь, что ТС проблему решил обошедши её изменением структуры сети, и вопрос перешёл в статус [Решено]

Оффлайн andrey465

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Re: Вопрос про роутинг
« Ответ #7 : 18 Ноября 2011, 00:16:56 »
(Нажмите, чтобы показать/скрыть)


это параметры упомянутого роутера на Debian 6
к сожалению не могу дать конфиг роутера на Ubuntu так как там оч много придется крестиками закрывать

(Нажмите, чтобы показать/скрыть)

это соответственно параметры клиента Debian 6
iptables-save ничего не выдал (таблицы пусты) первые две строчки в route -n добавил я чтобы обойти обсуждаемую проблему

Цитировать
Всё-таки было бы интересно посмотреть tracepath до клиента VPN
я так понимаю от клиента в локальной сети до клиента в VPN? без строчек в роутинге или фокусами с конфигурацией VPN trace молчит как и ping (даже ответа роутера нет)

Оффлайн drako

  • Старожил
  • *
  • Сообщений: 1422
    • Просмотр профиля
Re: Вопрос про роутинг
« Ответ #8 : 18 Ноября 2011, 00:53:49 »
Подсети на сервере "порадовали" неудивительно что на клиенте приходится маршруты добавлять... Это -A POSTROUTING -j MASQUERADE тоже "красиво"...

P.S. Для тех кто не понял - сети 10.13.0.0/16 и 10.5.0.0/24 являются частью сети 10.0.0.0/8, поэтому комп и не пытается обраться к шлюзу, поскольку маршрут уже есть.
« Последнее редактирование: 18 Ноября 2011, 01:06:31 от drako »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Вопрос про роутинг
« Ответ #9 : 18 Ноября 2011, 08:32:40 »
Потому и просил конкретику. Сразу расставились все точки над i

А вот кто прояснит про дефолтный маршрут на роутере? Это результат iproute2?

Оффлайн andrey465

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Re: Вопрос про роутинг
« Ответ #10 : 18 Ноября 2011, 09:10:27 »
Цитировать
А вот кто прояснит про дефолтный маршрут на роутере? Это результат iproute2?
да, трафик может ходить по двум маршрутам, это определяется метками в iptables, а в основной таблице ставлю маршрут по умолчанию - lo чтоб им никто воспользоватся не мог (я искал тут проблемы, менял конфигурацию но ничего)

Цитировать
Подсети на сервере "порадовали" неудивительно что на клиенте приходится маршруты добавлять... Это -A POSTROUTING -j MASQUERADE тоже "красиво"...

P.S. Для тех кто не понял - сети 10.13.0.0/16 и 10.5.0.0/24 являются частью сети 10.0.0.0/8, поэтому комп и не пытается обраться к шлюзу, поскольку маршрут уже есть.
извиняюсь, не понял мысль даже после конкретики, объясните еще раз что не так.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Вопрос про роутинг
« Ответ #11 : 18 Ноября 2011, 09:32:47 »
а в основной таблице ставлю маршрут по умолчанию - lo чтоб им никто воспользоватся не мог
а не пробовали просто не указывать его, как все делают? А так, боюсь вас штормить будет...

извиняюсь, не понял мысль даже после конкретики, объясните еще раз что не так.
Да у Вас, батенька, с осознанием сети совсем беда. Бегом изучать построение сетей: адресация, маски.

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

ЗЫ Хотя есть некий механизм для снижения нагрузки на роутер в случае нахождения абонентов (или ещё одного шлюза с абонентом) в одной физической сети, но это совсем другая история.

Оффлайн andrey465

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Re: Вопрос про роутинг
« Ответ #12 : 18 Ноября 2011, 12:21:29 »
Цитировать
а не пробовали просто не указывать его, как все делают? А так, боюсь вас штормить будет...
интересный вариант, попробую :)

Цитировать
Да у Вас, батенька, с осознанием сети совсем беда. Бегом изучать построение сетей: адресация, маски.
кажется начинаю вкуривать, я все время ошибочно полагал что подсети с различными масками логически не связанны а получается что это только для удобства сделано...
в таком случае все "странности" легко объясняются

Всем большое спасибо за консультацию!

 

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