У цьому покроковому посібнику я розповім, як налаштувати Mikrotik, щоб заборонені сайти автоматично відкривалися через цей VPN і ви могли уникнути танців з бубнами: один раз налаштував і все працює.
Як VPN я вибрав SoftEther: він настільки ж простий у налаштуванні як і
Як альтернативу розглядав RRAS, але Mikrotik не вміє з ним працювати. З'єднання встановлюється, VPN працює, але підтримувати з'єднання без постійних реконнект і помилок в лозі Mikrotik не вміє.
Налаштування проводилося на прикладі RB3011UiAS-RM на прошивці версії 6.46.11.
Тепер по порядку, що й навіщо.
1. Встановлюємо VPN з'єднання
Як VPN рішення було обрано, звичайно, SoftEther, L2TP з попереднім ключем. Такого рівня безпеки достатньо будь-кому, тому що ключ знає тільки роутер та його власник.
Переходимо до розділу interfaces. Спочатку додаємо новий інтерфейс, а потім вводимо ip, логін, пароль та загальний ключ до інтерфейсу. Тиснемо бл.
Те саме командою:
/interface l2tp-client
name="LD8" connect-to=45.134.254.112 user="Administrator" password="PASSWORD" profile=default-encryption use-ipsec=yes ipsec-secret="vpn"
SoftEther запрацює без зміни ipsec proposals та ipsec profiles, їх налаштування не розглядаємо, але скріншоти своїх профілів, про всяк випадок, автор залишив.
Для RRAS IPsec Proposals достатньо змінити PFS Group на none.
Тепер потрібно стати за NAT цього VPN сервера. Для цього нам потрібно перейти до IP > Firewall > NAT.
Тут включаємо маскерад для конкретного, або всіх PPP інтерфейсів. Роутер автора підключений відразу до трьох VPN, тому зробив так:
Те саме командою:
/ip firewall nat
chain=srcnat action=masquerade out-interface=all-ppp
2. Додаємо правила до Mangle
Насамперед хочеться, звичайно, захистити все найцінніше та беззахисне, а саме DNS та HTTP трафік. Почнемо з HTTP.
Переходимо в IP → Firewall → Mangle та створюємо нове правило.
У правилі, Chain вибираємо Prerouting.
Якщо перед роутером стоїть Smart SFP або ще один роутер, і ви хочете до нього підключатися через веб-інтерфейс, в полі Dst. Address потрібно ввести його IP-адресу або підсіти і поставити знак заперечення, щоб не застосовувати Mangle до адреси або цієї підмережі. Автор має SFP GPON ONU в режимі бриджу, таким чином автор зберіг можливість підключення до його вебморди.
За замовчуванням Mangle буде застосовувати своє правило до всіх NAT State'ам, це унеможливить прокидання порту по вашому білому IP, тому в Connection NAT State ставимо галочку на dstnat і знак заперечення. Це дозволить нам відправляти через мережу вихідний трафік через VPN, але все ще прокидати порти через свій білий IP.
Далі на вкладці Action вибираємо mark routing, обзиваємо New Routing Mark так, щоб було надалі зрозуміло і їдемо далі.
Те саме командою:
/ip firewall mangle
add chain=prerouting action=mark-routing new-routing-mark=HTTP passthrough=no connection-nat-state=!dstnat protocol=tcp dst-address=!192.168.1.1 dst-port=80
Тепер переходимо до захисту DNS. У цьому випадку потрібно створити два правила. Одне для роутера, інше для пристроїв, підключених до роутера.
Якщо ви користуєтеся вбудованим у роутер DNS, що робить і автор, його потрібно також захистити. Тому для першого правила, як і вище, ми вибираємо chain prerouting, для другого ж потрібно вибрати output.
Output це ланцюг, який використовує сам роутер для запитів за допомогою свого функціоналу. Тут все за аналогією з HTTP, протокол UDP, порт 53.
Те саме командами:
/ip firewall mangle
add chain=prerouting action=mark-routing new-routing-mark=DNS passthrough=no protocol=udp
add chain=output action=mark-routing new-routing-mark=DNS-Router passthrough=no protocol=udp dst-port=53
3. Будуємо маршрут через VPN
Переходимо в IP → Routes та створюємо нові маршрути.
Маршрут для маршрутизації HTTP через VPN. Вказуємо назву наших VPN інтерфейсів та вибираємо Routing Mark.
На цьому етапі ви вже відчули, як ваш оператор перестав
Те саме командою:
/ip route
add dst-address=0.0.0.0/0 gateway=LD8 routing-mark=HTTP distance=2 comment=HTTP
Так само будуть виглядати правила для захисту DNS, просто вибираємо потрібну мітку:
Тут ви відчули, як ваші запити DNS перестали прослуховувати. Те саме командами:
/ip route
add dst-address=0.0.0.0/0 gateway=LD8 routing-mark=DNS distance=1 comment=DNS
add dst-address=0.0.0.0/0 gateway=LD8 routing-mark=DNS-Router distance=1 comment=DNS-Router
Ну під кінець, розблокуємо Rutracker. Вся підмережа належить йому, тому вказана підмережа.
Ось так було просто повернути собі інтернет. Команда:
/ip route
add dst-address=195.82.146.0/24 gateway=LD8 distance=1 comment=Rutracker.Org
Так само, як і з рутрекером ви можете прокладати маршрути корпоративних ресурсів та інших заблокованих сайтів.
Автор сподівається, що ви оціните зручність заходу на рутрекер і корпоративний портал одночасно не знімаючи светр.
Джерело: habr.com