OVPN маршрутизация

Базовая функциональность RouterOS
Unb0rn
Сообщения: 7
Зарегистрирован: 31 мар 2017, 12:20

OVPN маршрутизация

Сообщение Unb0rn »

Доброго времени суток! Ситуация следующая, есть роутер MikroTik RB2011, ему на 9 порт по PPPoE приходит интернет.
Далее интернет раздаётся через NAT. (Srcnat-masquerade-out interface pppoe-out1)
Внутренняя локальная сеть получает всё по DHCP (Подсеть 10.0.2.0/23)
Гигабитные порты 1-5 свитчатся с мастер портом 1. Сам ether1 включен в bridge, к которому цепляется OVPN server binding при подключении.
Нужны разные VPN (OVPN, IPSec-IKEv1 и IKEv2), всё настроил, сертификаты создал, подключение проходит нормально. Клиенты получают IP из той же подсети (10.0.2.0/23, а именно 10.0.3.150-10.0.3.250) Кстати, здесь есть ещё один вопрос, каким нужно ставить Local Address в PPP профиле для OVPN при работе сервера в режиме L2(Ethernet)? Оставить как основной гейтвей (10.0.2.1)? Или отдать на откуп DHCP пулу локальному?
Проблема появляется дальше-после подключения все машины в локальной сети пингуются нормально, а дальше трафик не идёт-то бишь пропинговать гейт 10.0.2.1 я могу, а вот 8.8.8.8-нет. Фильтры фаервола убивал полностью, ничего не изменилось. Я так понимаю, проблема в роутинге, но знать бы, что с этим делать...
Аватара пользователя
Chupaka
Сообщения: 4088
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: OVPN маршрутизация

Сообщение Chupaka »

Трассировку на 8.8.8.8 смотрели? OVPN-клиент создаёт маршрут по умолчанию? Возможно, проблема, как тут: viewtopic.php?f=2&t=280
Unb0rn
Сообщения: 7
Зарегистрирован: 31 мар 2017, 12:20

Re: OVPN маршрутизация

Сообщение Unb0rn »

Chupaka писал(а): 04 апр 2017, 19:04 Трассировку на 8.8.8.8 смотрели? OVPN-клиент создаёт маршрут по умолчанию? Возможно, проблема, как тут: viewtopic.php?f=2&t=280
Трассировка выглядит так:

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

traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  10.0.3.242 (10.0.3.242)  3048.654 ms !H  3048.615 ms !H  3048.605 ms !H
Пинг даёт

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

ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 10.0.3.242 icmp_seq=1 Destination Host Unreachable
Догадываюсь, что проблема с маршрутами, только не знаю, как её решить-микротик не умеет пушить дефолт гейтвей?
Пробовал на линуксовом клиенте route add default gw 10.0.2.1, результат тот же...
Аватара пользователя
Chupaka
Сообщения: 4088
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: OVPN маршрутизация

Сообщение Chupaka »

Ничего не умеет пушить. redirect-gateway def1 не помог?
Unb0rn писал(а): 05 апр 2017, 10:20 Пробовал на линуксовом клиенте route add default gw 10.0.2.1, результат тот же...
У машины появлялся default gw, но при этом она сама говорила, что Host Unreachable? Я бы тут уже на файрвол местный смотрел...
Unb0rn
Сообщения: 7
Зарегистрирован: 31 мар 2017, 12:20

Re: OVPN маршрутизация

Сообщение Unb0rn »

В том-то и беда, я уже в отчаянии...
Выглядит это следующим образом:
Добавляем маршурт (верный ли?)

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

sudo ip route add default via 10.0.2.1
Далее, пингуем гейт:

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

ping 10.0.2.1
PING 10.0.2.1 (10.0.2.1) 56(84) bytes of data.
64 bytes from 10.0.2.1: icmp_seq=1 ttl=64 time=267 ms
64 bytes from 10.0.2.1: icmp_seq=2 ttl=64 time=244 ms
64 bytes from 10.0.2.1: icmp_seq=3 ttl=64 time=94.9 ms
Ну и, наконец, пингуем что-нибудь за гейтом:

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

ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 10.0.3.240 icmp_seq=1 Destination Host Unreachable
From 10.0.3.240 icmp_seq=2 Destination Host Unreachable
Все до одного правила фаервола убиты, остался только NAT и одно или два правила форвардинга. Создаётся впечатление, что либо бага, либо я что-то делаю не так, но не пойму, что именно...
Аватара пользователя
Chupaka
Сообщения: 4088
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: OVPN маршрутизация

Сообщение Chupaka »

Вопрос про redirect-gateway специально игнорируете?

route -n говорит, что всё хорошо?

10.0.3.240 - это адрес самой машины?
Unb0rn
Сообщения: 7
Зарегистрирован: 31 мар 2017, 12:20

Re: OVPN маршрутизация

Сообщение Unb0rn »

Понять бы по redirect-gateway... Соединение настраивал через networkmanager плагин для гнома. Обычно эта строчка прописывается в конфиг клиента?
Вывод route -n

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

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.251      255.255.254.0   UG    50     0        0 tap0
0.0.0.0         0.0.0.0         0.0.0.0         U     50     0        0 tap0
0.0.0.0         192.168.42.129  0.0.0.0         UG    100    0        0 enp0s20f0u14u4
10.0.2.0        0.0.0.0         255.255.254.0   U     50     0        0 tap0
88.87.69.78     192.168.42.129  255.255.255.255 UGH   100    0        0 enp0s20f0u14u4
192.168.42.0    0.0.0.0         255.255.255.0   U     100    0        0 enp0s20f0u14u4
192.168.42.129  0.0.0.0         255.255.255.255 UH    100    0        0 enp0s20f0u14u4
Причём, таблица остаётся одинаковой, даже после ip route add.
10.0.3.240-это IP адрес, который получаем после подключение (тот, что remote address в микротике) Подсеть /23 и броадкаст опознаёт верно
Аватара пользователя
Chupaka
Сообщения: 4088
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: OVPN маршрутизация

Сообщение Chupaka »

Да, в конфиг клиента строчку "redirect-gateway def1" добавить

А что там за хитрый шлюз 10.0.2.251 вылез?..
Unb0rn
Сообщения: 7
Зарегистрирован: 31 мар 2017, 12:20

Re: OVPN маршрутизация

Сообщение Unb0rn »

Хитрый шлюз, судя по его адресу-это "локальный" адрес OVPN Server Binding, и, видимо, именно его надо указывать в качестве шлюза...
После подключения напрямую через openvpn без networmanager gui с опцией редирект гейтвей, оно таки заработало, только теперь я не совсем понимаю, какой адрес я должен указать в профие openvpn в поле "local address". С "remote address" я понимаю-это адреса, которые присваиваются подключаемым клиентам, а вот с "local address"-неясно. Это может быть адрес шлюза 10.0.2.1? Достаточно ли одного адреса для всех подключающихся клиентов? Или же сюда тоже необходимо прописать dhcp пул? И есть ли какая то возможность сделать подклчюение через NetworkManager?
Получившаяся таблица выглядит так:

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

route -n
\Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.77       128.0.0.0       UG    0      0        0 tap0
0.0.0.0         192.168.42.129  0.0.0.0         UG    100    0        0 enp0s20f0u14u4
10.0.2.0        0.0.0.0         255.255.254.0   U     0      0        0 tap0
88.87.69.78     192.168.42.129  255.255.255.255 UGH   0      0        0 enp0s20f0u14u4
128.0.0.0       10.0.2.77       128.0.0.0       UG    0      0        0 tap0
192.168.42.0    0.0.0.0         255.255.255.0   U     100    0        0 enp0s20f0u14u4
В любом случае, огромное спасибо за помощь!
Аватара пользователя
Chupaka
Сообщения: 4088
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: OVPN маршрутизация

Сообщение Chupaka »

Local address в других PPP - это, по сути, любой адрес, под которым клиент будет знать другой внутренний конец тоннеля. Для всех может быть одинаковым. Не думаю, что у OVPN будет что-то специфическое в этом плане.
Unb0rn
Сообщения: 7
Зарегистрирован: 31 мар 2017, 12:20

Re: OVPN маршрутизация

Сообщение Unb0rn »

А совпадать с основным гейтом (10.0.2.1) может?
Аватара пользователя
Chupaka
Сообщения: 4088
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: OVPN маршрутизация

Сообщение Chupaka »

Не совсем понимаю архитектуру сети. Если клиент подключен Ethernet'ом к этому же роутеру - то, наверное, не надо его пугать ещё одним таким шлюзом на другом интерфейсе. А вот каким-нибудь 100.64.0.1 - может (в смысле, привязываться к текущим используемым подсетям нет необходимости)
Unb0rn
Сообщения: 7
Зарегистрирован: 31 мар 2017, 12:20

Re: OVPN маршрутизация

Сообщение Unb0rn »

Внутренние клиенты подключены к тому же роутеру через ether1, на этом же роутере крутится ovpn сервер в режиме бриджинга, то бишь, удалённый клиент будет подключаться в ту же подсеть. Диапазоны IP у них разнесены-внутренние получают 10.0.2.10-10.0.2.199, внешние-10.0.3.200-10.0.3.250(маска /23, потому, это та же подсеть) Сам ether1(а точнее бридж, у которого он является портом) имеет адрес 10.0.2.1 и является основным шлюзом для всей подсети. И вот здесь и появляется вопрос-куда сажать тот самый локальный адрес-поставить его, как и основной шлюз на 10.0.2.1, или назначить некий свободный IP, например 10.0.3.251? В первом случае получается как раз второй одинаковый адрес на отличном интерфейсе. Назначить же адрес в духе 100.64.0.1, я так понимаю, не получится, если подсеть клиентов остаётся 10.0.2.0/23
Аватара пользователя
Chupaka
Сообщения: 4088
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: OVPN маршрутизация

Сообщение Chupaka »

Unb0rn писал(а): 06 апр 2017, 15:35 Назначить же адрес в духе 100.64.0.1, я так понимаю, не получится, если подсеть клиентов остаётся 10.0.2.0/23
не исключаю, что у OVPN могут быть свои фишки в этом плане, но в целом
Chupaka писал(а): 06 апр 2017, 12:57 привязываться к текущим используемым подсетям нет необходимости
никто не мешает попробовать 10.0.2.1 - всегда ведь можно изменить :)