Выход в интернет через туннель.

Обсуждение оборудования и его настройки
dmitriyK
Сообщения: 22
Зарегистрирован: 05 дек 2018, 17:47

Здравствуйте!
Возможно, эта тема уже обсуждалась и есть решение, но что то толковое я не нашел.
Есть действующий туннель IPIP, установлен ipsec secret, адресация в офисах 10.0/24 и 11.0/24.
Как выпустить группу компьютеров через туннель в интернет?


anad
Сообщения: 185
Зарегистрирован: 24 ноя 2016, 21:14

добрый, а я не понимаю что мешает:
прописать на обоих дейвайсах роутинг ( наверное он есть если туннель действующий) на роутере, который не должен выходить в интернет default на стыковый адрес другого, на том где выход, дописываем nat


dmitriyK
Сообщения: 22
Зарегистрирован: 05 дек 2018, 17:47

Маршруты, конечно, прописаны:
ОФИС 1 - A S 192.168.11.0/24 192.168.10.1 ipip-tunnel1
ОФИС 2 - A S 192.168.10.0/24 192.168.11.1 ipip-tunnel1
В нате прописывал так: chain=srcnat action=src-nat to-addresses=хх.xx.xx.xx src-address=192.168.10.22 out-interface=ipip-tunnel1 log=no log-prefix="" , но это не работает.


Аватара пользователя
Vlad-2
Модератор
Сообщения: 2531
Зарегистрирован: 08 апр 2016, 19:19
Откуда: Петропавловск-Камчатский (п-ов Камчатка)
Контактная информация:

Надо делать правильнее:

1) в манглах делаем правило, что если идут пакеты с адресов, которые есть
в адрес-листе IP-Global, то делаем марк-роутинг
2) создаём маршрут с меткой созданной правилом марк-роутингом
3) и уже на пограничном роутере, приняв адресацию эту, НАТим перед выходом.
(обобщённо)



На работе(ах): 2xCCR1016-12G, RB3011UiAS и hAP lite (RB941)
Дома: CCR1016-12G, RBcAP2n (standalone), RB wAP LTE kit
Для тестов(под рукой): RB3011UiAS, hAP mini (RB931) и что-то ещё по мелочи
MTCNA
MTCRE
dmitriyK
Сообщения: 22
Зарегистрирован: 05 дек 2018, 17:47

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


Аватара пользователя
Vlad-2
Модератор
Сообщения: 2531
Зарегистрирован: 08 апр 2016, 19:19
Откуда: Петропавловск-Камчатский (п-ов Камчатка)
Контактная информация:

dmitriyK писал(а): 28 фев 2019, 17:55 Простите, я только начал использовать mikrotik
Напишите, пожалуйста, более подробно...
Заранее благодарю.
Вопросы у Вас и желания не начинающего.... :mi_ga_et:

1) уточните, Интернет есть только в одном офисе?
2) нарисуйте хотя бы от руки, две сети, два офиса, два роутера, связь между ними,
назовите роутеры например R1 и R2, чтобы можно было как-то явно
и конкретно и предметно общаться.

3) суть задачи перед Вами стоит = если та сеть, которой нужен Интернет,
хочет именно Интернет, её надо завернуть в туннель, на тот роутер, который уже
с Интернетом, и уже пришедших "гостей" отправить в Интернет.
(это я так понимаю.....)

4) как у Вас офисы сделаны? в каждом офисе свой роутер? для компов офисных,
что является шлюзом? какая вообще логика сетей?

5) к сожалению, выше были даны очень подробные инструкции, взять айпи компа(ов),
их "пометить", и уже помеченные завернуть в отдельную таблицу маршрутизации.
Это позволит именно тех, кто хочет Интернета = направлять нам туда, где он есть.

6) ну и отвечая на Ваш вопрос в первом сообщении, что типа решения есть,
но я не нашёл явного, тут тоже увы, лукавите, на 100% не будет так, что команды
взяли и они подойдут...нет, есть условие, есть решение,
в пункте выше, я описал словами даже как строится логика.

Команды дать не проблема, но они скорее не заработают, так как в командах надо использовать
название интерфейсов, адресацию и т.д.



На работе(ах): 2xCCR1016-12G, RB3011UiAS и hAP lite (RB941)
Дома: CCR1016-12G, RBcAP2n (standalone), RB wAP LTE kit
Для тестов(под рукой): RB3011UiAS, hAP mini (RB931) и что-то ещё по мелочи
MTCNA
MTCRE
dmitriyK
Сообщения: 22
Зарегистрирован: 05 дек 2018, 17:47

спасибо за пояснение.
попытался сделать так:
В Mangle:
chain=prerouting action=mark-routing new-routing-mark=ipip-tunnel1 passthrough=yes src-address=192.168.10.22 log=no log-prefix=""
В Route:
0 A S 0.0.0.0/0 ipip-tunnel1 1

Задача: один/группу компьютеров из офиса R1 выпускать в интернет с ip офиса R2, сохраняя доступ к локальным ресурсам.

Два офиса, оба имеют свой интернет.
R1
RB3011UiAS (OS 6.44)
Public IP: 1.1.1.1
Local net: 192.168.10.0/24
IP с примера: 192.168.10.22

R2
hap ac lite (OS 6.44)
Public IP: 2.2.2.2
Local net: 192.168.11.0/24

IPIP (пока без шифрования)
Настройки стандартные, устройства из офиса R1 видят все устройства из офиса R2 и наоборот.

Название интерфейса туннеля : ipip-tunnel1
R1
172.16.30.1/30 в Addresses назначено интерфейсу ipip-tunnel1
Маршрут:
A S 192.168.11.0/24 192.168.10.1 ipip-tunnel1 1
NAT:
chain=srcnat action=accept src-address=192.168.10.0/24 dst-address=192.168.11.0/24 log=no log-prefix=""
R2
172.16.30.2/30 в Addresses назначено интерфейсу ipip-tunnel1
Маршрут:
A S 192.168.10.0/24 192.168.11.1 ipip-tunnel1 1
NAT:
chain=srcnat action=accept src-address=192.168.11.0/24 dst-address=192.168.10.0/24 log=no log-prefix=""

Схему вложил.


PS: Ctrl+C/Ctrl+V не лучший вариант, пытаюсь разобраться.

Изображение


Аватара пользователя
Vlad-2
Модератор
Сообщения: 2531
Зарегистрирован: 08 апр 2016, 19:19
Откуда: Петропавловск-Камчатский (п-ов Камчатка)
Контактная информация:

(ну вот, уже солидно описано, красиво подано, :co_ol: )

Маркировка:
dmitriyK писал(а): 01 мар 2019, 13:06 спасибо за пояснение.
попытался сделать так:
В Mangle:
chain=prerouting action=mark-routing new-routing-mark=ipip-tunnel1 passthrough=yes src-address=192.168.10.22 log=no log-prefix=""
Уже неплохо, но, нам надо по критерию делать маркировку и только. Поэтому правило в данном случаи не должно содержать
явных признаков откуда идёт пакет, мало ли что будет.
И для удобства, чтобы в правило не лезть, надо делать адрес-лист в который (как я и писал будет тот/те) которых мы и
должны увидев = промаркировать.
Поэтому показываю своё правило, а Вы слегка его адаптируйте.

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

/ip firewall mangle
add action=mark-routing chain=prerouting connection-mark=no-mark dst-address-list=!LocalNet new-routing-mark=ISP2_rout passthrough=no src-address-list=to_ISP2
Поясню:
если приходит пакет, без метки ранее (стоит no-mark), если он ссылается на НЕ локальные сети (адрес-лист LocalNet,
то есть в адрес-лист LocalNet Вы должны внести все Ваши локальные сети, то есть 192.168.10.0/24 и 192.168.11.0/24), если он состоит в списке
(в адрес-листе to_ISP2, в этот список Вы потом и будете добавлять кого Вы хотите завернуть/дать Интернет), то при этих
лишь условиях промаркировать пакет, и дать ему метку.
Я Вам правило скопировал с рабочего роутера, поэтому метки у меня связаны со вторым провайдером, у Вас метки могут
быть как угодно.

Маршрут:
dmitriyK писал(а): 01 мар 2019, 13:06 В Route:
0 A S 0.0.0.0/0 ipip-tunnel1 1
Ну тут не совсем правильно, смотрите, Вы метку сделали (Ваш роутер сделал),
поэтому Вы должны такой маршрут сделать, он верен, но Вы должны при создании маршрута,
или уже в этом маршруте отредактировать его и добавить метку.
Мы то и специально и маркируем нужных нам клиентов, чтобы именно их и именно туда, куда
нам надо и гнать трафик.
Поэтому вверху, данный маршрут должен быть с маркировкой с Вашим названием.
Лишь как пример:

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

/ip route
add check-gateway=ping distance=1 gateway="gre-tun13A-to-Office (L-via-LAN)" pref-src=10.10.10.8 routing-mark=ISP2_rout
NAT:
И последняя частая ошибка, это пере-за-НАТ.
У Вас локальные сети, взаимодействие, поэтому тут обобщённый НАТ не нужен.
А значит, как придёт пакет от компа которого Вы завернули,
то на том роутере, на который он пришёл, Вы именно там и должны сделать НАТ.
Но НАТ правило должно быть точным, а именно:
что если пришёл пакет от того компа/компов, и если они идут в глобал (то есть не
в локальную сеть), то только именно при таких данных производить НАТ и выпускать
в интернет.

Пока вот такие советы.



На работе(ах): 2xCCR1016-12G, RB3011UiAS и hAP lite (RB941)
Дома: CCR1016-12G, RBcAP2n (standalone), RB wAP LTE kit
Для тестов(под рукой): RB3011UiAS, hAP mini (RB931) и что-то ещё по мелочи
MTCNA
MTCRE
dmitriyK
Сообщения: 22
Зарегистрирован: 05 дек 2018, 17:47

В вашем примере: pref-src=10.10.10.8 - публичный адрес R2?
Про NAT не понял)
Сейчас у меня есть правила:
R1 chain=srcnat action=accept src-address=192.168.10.0/24 dst-address=192.168.11.0/24 log=no log-prefix=""
R2 chain=srcnat action=accept src-address=192.168.11.0/24 dst-address=192.168.10.0/24 log=no log-prefix=""
Они позволяют взаимодействовать двум сетям.

НА R1 добавил еще одно, с ним на на 192.168.10.22 интернета нет :
0 chain=srcnat action=src-nat to-addresses=2.2.2.2 src-address=192.168.10.22 dst-address=!192.168.10.0/24 log=no
log-prefix=

PS: 2.2.2.2 это внешний адрес R2.


Аватара пользователя
Vlad-2
Модератор
Сообщения: 2531
Зарегистрирован: 08 апр 2016, 19:19
Откуда: Петропавловск-Камчатский (п-ов Камчатка)
Контактная информация:

dmitriyK писал(а): 04 мар 2019, 11:38 В вашем примере: pref-src=10.10.10.8 - публичный адрес R2?
Нет, это серый адрес
dmitriyK писал(а): 04 мар 2019, 11:38 Про NAT не понял)
Очень плохо.
dmitriyK писал(а): 04 мар 2019, 11:38 НА R1 добавил еще одно, с ним на на 192.168.10.22 интернета нет :
0 chain=srcnat action=src-nat to-addresses=2.2.2.2 src-address=192.168.10.22 dst-address=!192.168.10.0/24 log=no
log-prefix=
PS: 2.2.2.2 это внешний адрес R2.
Боже...ну вот скажите, Вы можете управлять тем, что у Вас нет в руках?
И тут также: как Вы хотите заНАТить за адресом внешним, который находиться на другом роутере,
при этом делать правила на R1 и прописывать внешний адрес чужого роутера,
который находиться в другом месте?!

ЕЩЁ раз:
1) мы должны засунуть комп сети одной чтобы он пришёл на роутер второй сети со своим адресом
2) и уже на роутере (как на пограничном устройстве) Вы этот адрес отправляете в Интернет.
(аллегория)
То есть мы должны с одного района добраться до другого, и если мы доберёмся,
там будет вечеринка и мы на нём попадём.
Задача добраться!

Перечитайте, возьмите схему, и проанализируйте две Ваши сети.



На работе(ах): 2xCCR1016-12G, RB3011UiAS и hAP lite (RB941)
Дома: CCR1016-12G, RBcAP2n (standalone), RB wAP LTE kit
Для тестов(под рукой): RB3011UiAS, hAP mini (RB931) и что-то ещё по мелочи
MTCNA
MTCRE
Ответить