Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

Добрый день. Пробежался по статьям на сайте zyxel и ответам на вопросы и не удалось выяснить то, что мне нужно. Собираюсь организовать IPSec туннель между двумя Ultra II (прошивки самые последние) по статье "Организация туннеля IPSec VPN между двумя интернет-центрами Keenetic Ultra II и Giga III". Там вроде все понятно написано, но нет главного ответа на мой вопрос, как сделать так, чтобы IPSec "клиент" в виде одной из Ultra II забирал интернет с IPSec "сервера" в виде другой Ultra II. Т.е. суть проста, у меня за городом дом, там стоит LTE антенна с модемом ZTE MF823, воткнутым в Ultra II и получаю интернет от мобильного оператора. В городе у меня офис и стоит роутер Ultra II и сверх быстрый интернет со статическим внешним IP. Мне по факту нужно из загородного дома использовать мой офисный интернет (доступ к офисной сети и компам даже не нужен), т.к. во-первых на каждом сайте у меня не будут просить вводить сложнейшую рекапчу из-за того, что с таким IP ходит в интернет тысячи людей и во-вторых рассчитываю на более стабильный доступ в интернет (насколько он получится стабильным это уже узнаю на практике конечно). Поискал здесь на форуме, тоже есть некоторые похожие вопросы, но боюсь там настолько краткие ответы и устаревшие прошивки, что просто не понимаю где искать какие-то дефолтные маршруты и надо ли. Друзья, если не сложно, подскажите по пунктам как это правильно организовать. Заранее благодарен.

Опубликовано

Для того чтобы ходить в интернет через туннель, вам нужен IPIP или GRE-туннель с IPsec. Далее на работе делаете туннель private или protected, делаете условно ip nat IPIP0; дома тип public, ставите ip global 1000 и у вас всё должно начать работать само.

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

Опубликовано
12 минуты назад, KorDen сказал:

Для того чтобы ходить в интернет через туннель, вам нужен IPIP или GRE-туннель с IPsec. Далее на работе делаете туннель private или protected, делаете условно ip nat IPIP0; дома тип public, ставите ip global 1000 и у вас всё должно начать работать само.

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

Еще default route надо дома добавить, автоматом не добавлялся, когда я с такой схемой экспериментировал.

Опубликовано (изменено)

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

Исходные параметры: 

а) офисная сеть 192.168.2.0/24, адрес роутера 192.168.2.1 (внешний статический IP - пусть будет 92.9.9.1)

б) домашняя сеть 192.168.1.0/24, адрес роутера 192.168.1.1 (внешний IP серый/динамический/мне не подконтролен)

В общем порядок моих действий:

1. Устанавливаю на оба роутера пакет "Туннели IPIP" (прошивка у роутеров 2.10+, это на момент написания поста еще отладочная прошивка, т.е. даже не бета).

2. На офисном Ultra II по телнету открываю командную строку и ввожу следующее:

(config)> interface IPIP0
(config-if)> description ConnectWithHome
(config-if)> security-level private
(config-if)> ip address 192.168.255.1 255.255.255.0
(config-if)> ip tcp adjust-mss pmtu
(config-if)> ipsec preshared-key MyLongSuperKey
(config-if)> ipsec ikev2
(config-if)> tunnel source auto
(config-if)> up
(config-if)> exit
(config)> ip nat IPIP0
(config)> system config-save

4. На домашнем Ultra II по телнету открываю командную строку и ввожу следующее:

(config)> interface IPIP0
(config-if)> description ConnectWithOffice
(config-if)> security-level public
(config-if)> ip address 192.168.255.2 255.255.255.0
(config-if)> ip tcp adjust-mss pmtu
(config-if)> ip global 1000
(config-if)> ipsec preshared-key MyLongSuperKey
(config-if)> ipsec ikev2
(config-if)> tunnel destination 92.9.9.1
(config-if)> up
(config-if)> exit
(config)> ip route default 192.168.255.1 IPIP0
(config)> system config-save

Далее идем в веб интерфейс домашней Ultra II, вкладка Интернет-Прочее, добавляем статический "маршрут до узла". В адрес узла назначения вписываем внешний IP офиса (92.9.9.1) и ниже выбираем только интерфейс модема (у меня это CdcEthernet0) и жмем "Применить". Судя по всему адрес шлюза роутер выбирает сам исходя из текущего адреса шлюза модема.

 

Изменено пользователем intelworker
Опубликовано (изменено)

@intelworker Ipsec туннель организуется силами самого IPIP(пункт 2 не нужен), смотрите настройку в соответствующей теме

После этого откорректируйте свой пост.

ЗЫ адресация IPIP не должна пересекаться с вашими сетями.

Изменено пользователем r13
Опубликовано

На офисном роутере нужно ввести tunnel source auto, при этом tunnel destination не заполнять.

На домашнем роутере ввести tunnel destination.

Везде ввести

> ipsec preshared-key <key>

key должен совпадать на обоих концах.

Еще неплохо бы включить IKEv2

> ipsec ikev2

Адресация IPIP0 на офисном роутере должна быть

> ip address 192.168.3.1 255.255.255.0

Адресация IPIP0 на домашнем роутере должна быть

> ip address 192.168.3.2 255.255.255.0

При этом никаких дополнительных действий по установке подключения IPsec производить не нужно - все будет организовано само.

Не забудьте сохранить настройки

> system config-save

Опубликовано (изменено)
7 минут назад, intelworker сказал:

@Le ecureuil@r13 спасибо друзья, проверьте пожалуйста мой второй пост, правильно ли все по вашим замечаниям поправил?

Команды 

(config)> ipsec preshared-key MyLongSuperKey

(config)> ipsec ikev2

Выполняются в контексте туннеля, так что их переместить после (config-if)> interface IPIP0

Команда 

ip nat IPIP0

Выполняется вне контекста туннеля.

 

В остальном ок

ЗЫ, как уже писал выше может понадобиться default route через туннель

@Le ecureuil Можно добавить автоматическое добавление default route при настройке ip global у туннеля?

Изменено пользователем r13
Опубликовано
1 час назад, r13 сказал:

 

@Le ecureuil Можно добавить автоматическое добавление default route при настройке ip global у туннеля?

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

Опубликовано (изменено)

Рабочий пример, чуть адаптированный вам:

Дома:

interface IPIP4
    description Office
    security-level public
    ip address 192.168.255.2 255.255.255.252
    ip global 1000
    ip tcp adjust-mss pmtu
    ipsec preshared-key <MySecretKey>
    ipsec ikev2
    tunnel destination 92.9.9.1
    up
!
ip route default 192.168.255.1 IPIP4

На работе

interface IPIP4
    description Home
    security-level protected
    ip address 192.168.255.1 255.255.255.252
    ip tcp adjust-mss pmtu
    ipsec preshared-key <MySecretKey>
    ipsec ikev2
    tunnel source ISP
    up
!
ip nat IPIP4

ipsec ikev2 работает только на 2.10. При его использовании индексы интерфейса (в моем примере это IPIP4) должны совпадать. IP адрса интефейса надо править только если у вас где-то вдруг есть сеть 192.168.255.x, в остальных случаях достаточно оставить так, это P2P линк. Возможно потребуется указать MTU с обоих сторон (если внешний MTU 1500, то "ip mtu 1420")

Вроде ничего не забыл

Изменено пользователем KorDen
Опубликовано (изменено)

Спасибо ребята, буду пробовать! Внес последние правки в свой второй пост для истории, чтобы другие смогли воспользоваться моей инструкцией, если она верна. А вот в ТП Keenetic отписали коротко и ясно:

Цитата

В интернет-центрах Keenetic маршрутизировать трафик в IPSec нельзя.
Для описанной схемы можно использовать PPTP-сервер

Как чувствовал, что лучше просто спросить тут у ребят на форуме.

@KorDen немного смутили поля description, они у вас перепутаны для моего случая :) Но спасибо! Разобрался быстро!

Изменено пользователем intelworker
Опубликовано
8 минут назад, intelworker сказал:

немного смутили поля description, они у вас перепутаны для моего случая :)

Не-а, не перепутаны. дескрипшен показывает ЧТО подключено через это соединение, т.е. дома у вас отображается соединение _с_ Office, ну и наоборот.

Опубликовано (изменено)

@KorDen по поводу MTU, в офисе внешний MTU на интерфейсе PPPoE0 равен 1492. На интерфейсе модема дома CdcEthernet0 равен 1500. Надо ли все-таки что-то менять в IPIP0 на обеих сторонах?

Изменено пользователем intelworker
Опубликовано

@KorDen У вас такая конструкция работает?

Попробовал сейчас порезвиться:

IPIP типа всегда поднят, и в режиме default route становится интерфейсом по умолчанию, все ок.

Но при этом он пытается через себя же установить ipsec туннель до сервера, что естественно не удается.

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

У вас так же или я где-то что-то перемудрил?

Опубликовано
26 минут назад, r13 сказал:

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

Да, про это я забыл. И необходимость вполне логична. У меня маршруты уже давно были прописаны, еще когда туннелей не было.

Опубликовано (изменено)

@KorDen а по MTU что скажете? И хотелось бы уточнений про этот маршрут, где его добавлять и что понимается под "нормальным" интерфейсом :) А лучше командной строкой сразу, чтобы уж вопрос был полностью решен)))

Изменено пользователем intelworker
Опубликовано
17 минут назад, intelworker сказал:

@KorDen а по MTU что скажете? И хотелось бы уточнений про этот маршрут, где его добавлять и что понимается под "нормальным" интерфейсом :) А лучше командной строкой сразу, чтобы уж вопрос был полностью решен)))

Нужно прописать маршрут до ip роутера сервера через интерфейс с интернетом (модема в вашем случае) и очень желательно чтобы этот ip был статическим. 

Прописать можно или в вебе (вкладка интернет-прочее) или продолжать через cli

Опубликовано

@r13 Что-то пока не получается. Пакеты уходят, но с офиса ничего не приходит в ответ. Можете пояснить с учетом моей конфигурации какие данные вписывать? Открыл вкладку Интернет-Прочее, нажал добавить статический маршрут. Выбрал "Маршрут до узла", в адрес узла назначения вписал внешний статический IP офиса (у нас это 92.9.9.1), поставил галку добавлять автоматически, интерфейс выбрал модема CdcEthernet0, вот в адрес шлюза не понимаю что вписывать и метрику не знаю какую указать.

Опубликовано (изменено)

Методом проб и ошибок (в адрес шлюза просто ничего не вписал, как и в метрику) в итоге вроде как заработало, не знаю надолго ли, и что произойдет когда у модема очередной раз будет реконнект и IP сменится.

PS: для истории: как не странно канал очень стабильный, проседаний по скорости не заметил, даже наверно наоборот, но может и самовнушение (спидтест до провайдера - 27 Мбит/с входящий, 14 Мбит/с исходящий, даже без туннеля канал временами выдавал результаты похуже).

Изменено пользователем intelworker
Опубликовано
7 часов назад, intelworker сказал:

Методом проб и ошибок (в адрес шлюза просто ничего не вписал, как и в метрику) в итоге вроде как заработало, не знаю надолго ли, и что произойдет когда у модема очередной раз будет реконнект и IP сменится.

PS: для истории: как не странно канал очень стабильный, проседаний по скорости не заметил, даже наверно наоборот, но может и самовнушение (спидтест до провайдера - 27 Мбит/с входящий, 14 Мбит/с исходящий, даже без туннеля канал временами выдавал результаты похуже).

Все верно, того что сделали достаточно. 

Опубликовано

@Le ecureuil А можно ли при соединении динамически добавлять маршрут до tunnel destination через интерфейс определенный на этапе резолва tunnel source, подобно тому как это делается например при подключении через PPTP?

Опубликовано (изменено)

Напомните пожалуйста какие туннели не работают за NAT? 

Или достаточно чтоб на сервере был белый IP?

Изменено пользователем ICMP
Опубликовано (изменено)
4 минуты назад, ICMP сказал:

Напомните пожалуйста какие туннели не работают за NAT? 

Все(IPIP, EoIP, GRE), без ipsec подложки. Если нужно через нат, то запускать туннель через ipsec.

Изменено пользователем r13
Опубликовано
15 минут назад, r13 сказал:

@Le ecureuil А можно ли при соединении динамически добавлять маршрут до tunnel destination через интерфейс определенный на этапе резолва tunnel source, подобно тому как это делается например при подключении через PPTP?

Добавлять на клиенте или на сервере?

Можно конечно, сделаем, просто опишите подробнее.

Опубликовано
Только что, Le ecureuil сказал:

Добавлять на клиенте или на сервере?

Можно конечно, сделаем, просто опишите подробнее.

На клиенте, так как он выполняет соединение.

При соединении добавлять маршрут до ip узла определенного при резолве tunnel destination

Через интерфейс определенный при резолве tunnel source ip адреса.(если на клиенте указан конкретный интерфейс tunnel source то все просто, если auto то думаю тоже возможно)

Таким образом получится использовать туннель как маршрут по умолчанию и в том числе для динамического ip сервера.

Опубликовано
4 минуты назад, r13 сказал:

На клиенте, так как он выполняет соединение.

При соединении добавлять маршрут до ip узла определенного при резолве tunnel destination

Через интерфейс определенный при резолве tunnel source ip адреса.(если на клиенте указан конкретный интерфейс tunnel source то все просто, если auto то думаю тоже возможно)

Таким образом получится использовать туннель как маршрут по умолчанию и в том числе для динамического ip сервера.

Ок, мысль понял, сделаем.

Опубликовано (изменено)

Ну да было бы идеально если бы не приходилось прописывать маршруты, т.к. все само у меня не заработало (активным отображалось подключение модема, а не туннеля IPIP), пока я не прописал дефолтный маршрут и не добавил маршрут до узла сервера.

ps: Конечно ошибки "ndm kernel: hw_nat: not found ip host: 192.168.1.44, ifindex: 7(7)" весь журнал забивают) Читал в соседней теме, что работаете над этим, ждем. Спасибо.

Изменено пользователем intelworker
Опубликовано (изменено)
10 минут назад, intelworker сказал:

Ну да было бы идеально если бы не приходилось прописывать маршруты, т.к. все само у меня не заработало (активным отображалось подключение модема, а не туннеля IPIP), пока я не прописал дефолтный маршрут и не добавил маршрут до узла сервера.

Необходимости добавлять default route это не отменит, но это однократная операция, так что не проблема.

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

Скрытый текст

Да, человек смертен, но это было бы ещё полбеды. Плохо то, что он иногда внезапно смертен, вот в чём фокус! (с)

 

Изменено пользователем r13

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.