Pull to refresh

Comments 50

UFO just landed and posted this here
Х-м… пока не понял о чем речь. Можно подробнее?
UFO just landed and posted this here
Понял, спасибо! Попробую.
UFO just landed and posted this here
Вариант, не плох, но есть нюансы.
А вдруг у ресурса есть поддомены, например, их тоже тогда надо все описать/вписать верно?
Не проще ли из базы whois вытянуть список подсетей ресурса (если мы конечно говорим не про маленький сайт визитку) и завернуть их через нужный GW?
Следующий нюанс, адрес резолвится в IP (а списки таки да, динамические, хранятся именно по IP) создаются или при добавлении ресурса или при первом старте микротика — те ситуация когда вдруг на ресурсе измениться IP может быть исправлена либо пересозданием записи в списке или перезагрузкой микротика, что тоже не по феншую.

Вообщем, имхо, ваш вариант имеет место быть, но я бы честно говоря, несколько раз подумал прежде чем использовать именно его.
Я подумаю на предмет использования встроенного скриптинга в Микротик для автоматического обновления адресов в маршрутах.
Я поступил проще:
/ ip firewall filter add action=add-src-to-address-list address-list=toVPN address-list-timeout=3d chain=forward content="Location: http://адрес заглушки провайдера\?" in-interface=WAN protocol=tcp src-port=80
Дальше mangle и маршрут как описал AcidVenom.
При попытке открыть сайт отображается заглушка и ip сайта добавляется в address-list, при повторном открытии он уже открывается через туннель. Время жизни записи в моем случае 3 дня. Можно менять по желанию.
Не сработает с https сайтами.
UFO just landed and posted this here
Вот за этот отсыл к мануал спасибо, сразу эту инфу не нашел — тогда да, вполне годное решение.
Но вопрос с сабдоменами все равно открыт получается.
У себя я решил этот вопрос заворотом подсетей а вот с вашим предложением даже не знаю как быть…
UFO just landed and posted this here
Забыли маскарад на ВПН интерфейс сделать (если не настроено, или настроено на другой интерфейс, не пойдет трафик).

/ip firewall nat add chain=srcnat action=masquerade out-interface=*имя_ВПН_интерфейса*
UFO just landed and posted this here
Не забыл. Я это и не планировал делать. Ubuntu тоже мой и через него пакеты от LAN проходят с неизменным src IP. Ну и пусть. Двойная трансляция мне нужна.
Согласен. Пост читал вдоль. У меня частный случай, когда впн сервер не маскарадит.
Попробовал. Работает почему-то заметно медленнее. Предположу, что теряет первые пакеты и переписылает.
Я уже делал нечто подобное правда без GRE. Там же и про RoadWarriors написано (т.е. L2TP+IPSec). Единственный момент — на мой взгляд лучше использовать libreswan, т.к. у strongswan проблемы с apple-девайсами (причем на момет начала 2016 года проект был заморожен, и разработчик не спешил фиксить баги. libreswan это, собственно, форк strongswan).
Спасибо, поизучаю эту тему. Вопрос с Apple-девайсами у меня действительно остался открытым…
Если мне не изменяет память, то libreswan — форк Openswan, который, в свою очередь, форк FreeS/WAN.

StrongSwan — имеет корни от FreeS/WAN, но почти полностью переосмысленный.
Возможно, что и так, но главная моя мысль была в том, что когда я этой задачей занимался, strongswan почти не развивался, и в репах Debian 8 лежала битая версия (latest). Хорошо, если ситуация изменилась
На офицальном сайте стронгсвана последнее обновление датируется 14.08.2017.
*просмотрел по диагонали*
эм… а не лучше ли будет OpenVPN с сертификатами заюзать?
Давайте определимся откуда и куда… Тема с OpenVPN для Apple-девайсов у меня пока не раскрыта. Что-то конкретное говорить про LAN2WAN через OpenVPN я пока тоже не готов. Может есть пример такой конфигурации?
да везде :)
у самого к продукции эпл неприязнь, но если погуглить, то можно такое найти
habrahabr.ru/post/168853
ну и
itunes.apple.com/ru/app/openvpn-connect/id590379981?mt=8
а пример конфигурации… если vps делаем ovpn сервером, на микротике просто добавляем интерфейс, ну и также например маршрутами необходимый трафик в него посылаем по адресу назначения…
просто gre… наблюдал уже, что некоторые провайдеры ни с того ни с сего резать начинают… imho openvpn более гибок, да и с сертификатами безопаснее, чем с psk…
Спасибо. Подумаю на тему OpenVPN на досуге.
Я не сталкивался с тем, чтобы провайдеры «резали» gre. Какого-то разумного объяснения тому, зачем им это делать не нахожу. В любом случае, у меня получился уже не GRE, а ESP. Вот его как раз могут начать «резать» по требованию властей…
OpenVPN сильно медленнее ipsec в силу работы в userspace.
Ну и как упоминали ниже, микротики не умеют его через udp, что тоже накладывает ограничения в производительности. Ситуация такая уже много лет и меняться не собирается.
и чего вы за udp ухватились? :)
а если почитать пост между строк, то видно, что автору 443/tcp будет лучшим вариантом :)
хотя тут еще про sstp писали… не знаю — его еще не щупал.
да и медленнее… у меня тут интернеты сильно медленнее столичных. и ничего — меня устраивает :)
а в цифрах можно про медленнее? у меня конечно не hEX… но и аплинк всего 5120/896…
UFO just landed and posted this here
Ну… зависит от железки конечно. У меня 3011, который в разы быстрее хекса, и он не выжимает 100 мбит, ну в районе 50-70 где-то. Ipsec разгоняется до ~150.
А зачем 443/tcp собственно? Если говорить про тотальную секьюрность и антицензуру, то надо смотреть в сторону udp2raw или govpn, но это уже не микротик будет.
Микротик хреново с ними дружит.
ну у меня туннельчик до VPS настроен — вроде полгода пока — полет нормальный…
на каком железе, какая версия и в чем хреновость заключается?
Микротик не умеет UDP и LZO с OVPN, и разработчики это допиливать не собираются, официальная позиция — используйте SSTP…
UFO just landed and posted this here
ну меня интересовал именно tcp на 443ий порт
а сжатие… так ли оно необходимо? если учесть, что большинство по объему трафика плохо сжимается, ибо данные и так уже сжаты?
В планах настроить IKEv2 туннель с моих устройств (я использую технику Apple) непосредственно на сервер с использованием сертификатов.

Предложил бы использовать для этой цели SSH. На стороне клиента делаем что-то вроде:
ssh -w 0:0 root@server_ip
Мне неизвестно о существовании аналога /etc/network/interfaces на OS X, так что видимо tun0 на стороне Apple придётся настраивать вручную (и маршрутизацию тоже). Но зато поддержка сертификатов и шифрования из коробки.
Если MacOS это может сработать, то в iOS скорее всего нет.
В Apple-устройствах есть встроенные VPN клиенты. Подключение через них производится «в один клик».
SSH клиенты, даже бесплатные, для iOS есть, и они поддерживают как минимум проброс портов.
Но в общем да, неаккуратненько. Тема интересная, подумаю тоже на досуге, как заставить заработать встроенный VPN клиент на iOS.
Да, эта статья у меня есть в закладках, но это пока не заработало (бился над этим дня 3). Там есть лайфкак связанный xauth, который мне применять не хочется.
Еще у меня и на Mасbook и на iPad стоят последние бетты. Может что с ними не так… Я на досуге еще раз поиграюсь.
Обращаю внимание на то, что не сконфигурирован keepalive. Мне так и не удалось включить ответную часть на Ubuntu. Если не будет трафика, то интерфейс на MikroTik будет «уходить» из running и подниматься, только если пойдет трафик со стороны Ubuntu.

Попробуйте использовать netwatch, отправляя пинг на Ubuntu — это будет работать вместо keepalive
За 1 евро доступны VM только в Италии и Чехии :)
Спасибо, не знал. Меня пока устраивает Чехия. Дальше посмотрим…
Тоже пользуюсь связкой mikrotik + ubuntu сервер на VPS от Arubcloud для vpn. Только использую не тоннель сайт-ту-сайт, а l2tp+ipsec сервер (strongswan) на убунту, с ручным подключением.
Но есть вопрос, может тут кто ответит, почему с клиента windows l2tp+ipsec, находящийся за NAT, я без проблем подключаюсь к удаленному l2tp ipsec серверу mikrotik, а чтобы подключиться к серверу l2tp+ipsec ubuntu, приходится править реестр windows, так как ошибка 809 (ms рекомендует, если клиент за NAT то внести изменения в реестр HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent\AssumeUDPEncapsulationContextOnSend )
P.S. Пробовал разных провайдеров, со статикой. В роли шлюза и сервера использовал, mikrotik, ubuntu server, 10/14/16 версий. Алгоритм шифрования ipsec на убунте тот же, что и на mikrotik.
При этом клиенты ios/android без проблем випиенятся за nat'ом той же сети, как к mikrotik, так и к ubuntu.
Пробую такую конфигурацию (с ubuntu 16.04) и… не работает. Пинговать машины друг друга пингуют (пришлось на микротике в явном виде прописать адрес на gre-интерфейс), добавляю машруты — пинг/трейсроут (с машины за микротиком) на добавленные адреса проходят а что то большее — нет и в логе ubuntu IPv4: martian source <ip_куда_обращаемся> from <публичный ip микротика>, on dev tun1
Спасибо! Добавил настройку IP адреса на интрефейсе MikroTik.
Что касается маршрутизации и forwarding-а пакетов, то нужно tcpdump-ить трафик и смотреть что видно. В логах следов ping/traceroute ничего не будет.
У меня была проблема в том, что при добавления сайта в список, микротик брал его ip адреса из ДНС провайдера, а он отдавал свою заглушку. Поправил глобальный ДНС на 1.0.0.1 и все заработало. Но кроме linkedin.com. В чем с ним проблема так и не понял.

У меня была проблема с MTU, в tcpdump-е было что-то вроде:


ICMP x.x.x.x unreachable - need to frag (mtu 1426), length 556

Пробовал устанавливать MTU на GRE-интерфейсе (и вообще где торько можно), не получалось.
Долго искал решение, помогло только добавление tcp-mss для интерфейсов GRE, например:


/ip firewall mangle
add action=change-mss chain=forward new-mss=1300 out-interface=gre passthrough=yes protocol=tcp tcp-flags=syn tcp-mss=1420-65535
add action=change-mss chain=forward new-mss=1300 in-interface=gre passthrough=yes protocol=tcp tcp-flags=syn tcp-mss=1420-65535
Sign up to leave a comment.

Articles