Чтобы запустить Wireguard на MikroTik, обновите его прошивку до RouterOS 7.x.
Допустим, Wireguard на зарубежном хостинге выдал нам вот такой конфиг:
[Interface]PrivateKey = PrIvaTeKeYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=Address = 10.8.0.7/24DNS = 8.8.8.8,1.1.1.1
[Peer]PublicKey = PuBlIcKeYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=PresharedKey = PrEsHaReDkEyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=AllowedIPs = 0.0.0.0/0, ::/0PersistentKeepalive = 25Endpoint = 193.188.21.123:12674Тогда настройка MikroTik будет выглядеть следующим образом:
1. Создайте интерфейс Wireguard на RouterOS
/interface wireguardadd name=wg1 private-key="PrIvaTeKeYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx="Значение параметра private-key измените на соответствующие из полученного конфига Wireguard.
2. Назначьте IP-адрес для интерфейса Wireguard
/ip addressadd address=10.8.0.7/24 interface=wg1Где 10.8.0.7/24 - адрес из полученного конфига Wireguard.
3. Добавьте пир (узел) с параметрами из конфига
/interface wireguard peersadd allowed-address=0.0.0.0/0,::/0 endpoint-address=193.188.21.123 endpoint-port=12674 interface=wg1 name=peer1 persistent-keepalive=25s preshared-key="PrEsHaReDkEyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=" public-key="PuBlIcKeYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx="Все параметры измените на соответствующие из полученного конфига Wireguard.
4. Проверьте работу Wireguard
/ping 8.8.8.8 interface=wg15. Создайте списки частных сетей, сетей YouTube и Viber
/ip firewall address-listremove [find dynamic=no and list=PRIVATE-LANS]add address=10.0.0.0/8 list=PRIVATE-LANSadd address=172.16.0.0/12 list=PRIVATE-LANSadd address=192.168.0.0/16 list=PRIVATE-LANS
/ip firewall address-listremove [find dynamic=no and list=YOUTUBE]add address=8.8.4.0/24 list=YOUTUBEadd address=8.8.8.0/24 list=YOUTUBEadd address=8.34.208.0/20 list=YOUTUBEadd address=8.35.192.0/20 list=YOUTUBEadd address=23.236.48.0/20 list=YOUTUBEadd address=23.251.128.0/19 list=YOUTUBEadd address=34.0.0.0/10 list=YOUTUBEadd address=34.64.0.0/10 list=YOUTUBEadd address=34.128.0.0/10 list=YOUTUBEadd address=35.184.0.0/13 list=YOUTUBEadd address=35.190.0.0/15 list=YOUTUBEadd address=35.192.0.0/14 list=YOUTUBEadd address=35.196.0.0/15 list=YOUTUBEadd address=35.198.0.0/16 list=YOUTUBEadd address=35.199.0.0/17 list=YOUTUBEadd address=35.199.128.0/18 list=YOUTUBEadd address=35.200.0.0/13 list=YOUTUBEadd address=35.208.0.0/12 list=YOUTUBEadd address=64.18.0.0/15 list=YOUTUBEadd address=64.233.128.0/18 list=YOUTUBEadd address=66.102.0.0/20 list=YOUTUBEadd address=66.249.64.0/18 list=YOUTUBEadd address=66.249.80.0/20 list=YOUTUBEadd address=70.32.128.0/19 list=YOUTUBEadd address=72.14.192.0/18 list=YOUTUBEadd address=74.114.24.0/21 list=YOUTUBEadd address=74.125.0.0/16 list=YOUTUBEadd address=104.132.0.0/14 list=YOUTUBEadd address=104.152.0.0/14 list=YOUTUBEadd address=104.156.64.0/18 list=YOUTUBEadd address=104.196.0.0/14 list=YOUTUBEadd address=104.237.160.0/19 list=YOUTUBEadd address=107.167.160.0/19 list=YOUTUBEadd address=108.59.80.0/20 list=YOUTUBEadd address=108.170.192.0/18 list=YOUTUBEadd address=108.176.0.0/15 list=YOUTUBEadd address=130.211.0.0/16 list=YOUTUBEadd address=136.112.0.0/12 list=YOUTUBEadd address=142.248.0.0/14 list=YOUTUBEadd address=146.148.0.0/14 list=YOUTUBEadd address=162.216.144.0/21 list=YOUTUBEadd address=162.222.176.0/21 list=YOUTUBEadd address=172.110.32.0/21 list=YOUTUBEadd address=172.217.0.0/16 list=YOUTUBEadd address=172.253.0.0/16 list=YOUTUBEadd address=173.194.0.0/16 list=YOUTUBEadd address=173.255.112.0/20 list=YOUTUBEadd address=185.38.0.76/31 list=YOUTUBEadd address=192.158.28.0/22 list=YOUTUBEadd address=192.178.0.0/15 list=YOUTUBEadd address=193.186.4.0/24 list=YOUTUBEadd address=199.36.154.0/23 list=YOUTUBEadd address=199.36.156.0/24 list=YOUTUBEadd address=199.192.112.0/21 list=YOUTUBEadd address=199.223.232.0/21 list=YOUTUBEadd address=207.126.144.0/20 list=YOUTUBEadd address=207.223.160.0/20 list=YOUTUBEadd address=208.65.152.0/22 list=YOUTUBEadd address=208.68.108.0/22 list=YOUTUBEadd address=208.81.188.0/22 list=YOUTUBEadd address=208.117.224.0/19 list=YOUTUBEadd address=209.85.128.0/17 list=YOUTUBEadd address=212.188.32.0/21 list=YOUTUBEadd address=216.58.192.0/19 list=YOUTUBEadd address=216.239.32.0/19 list=YOUTUBE
/ip firewall address-listremove [find dynamic=no and list=VIBER]add address=3.67.81.0/27 list=VIBERadd address=3.101.175.128/27 list=VIBERadd address=3.105.5.64/29 list=VIBERadd address=3.112.85.80/29 list=VIBERadd address=3.209.202.16/28 list=VIBERadd address=18.195.4.0/23 list=VIBERadd address=18.201.0.0/16 list=VIBERadd address=44.192.201.128/25 list=VIBERadd address=52.0.252.0/22 list=VIBERadd address=177.71.100.0/22 list=VIBER
6. Создайте еще правила для доменов
viber.com
ggpht.com
googleapis.com
googleusercontent.com
googlevideo.com
gstatic.com
l.google.com
nhacmp3youtube.com
play.google.com
youtu.be
youtube.com
ytimg.com
Эти правила будут направлять нужные нам запросы вместе с поддоменами на DNS 77.88.8.88, а полученные ответы автоматически заносить в адрес-листы YOUTUBE и VIBER, где они будут жить до протухания кэша DNS:
/ip dns staticadd address=127.0.0.1 comment="Blocking Patchwall on AndroidTV" name=ru.tv.global.mi.comadd address-list=VIBER forward-to=77.88.8.88 match-subdomain=yes name=viber.com type=FWDadd address-list=YOUTUBE forward-to=77.88.8.88 match-subdomain=yes name=ggpht.com type=FWDadd address-list=YOUTUBE forward-to=77.88.8.88 match-subdomain=yes name=googleapis.com type=FWDadd address-list=YOUTUBE forward-to=77.88.8.88 match-subdomain=yes name=googleusercontent.com type=FWDadd address-list=YOUTUBE comment="Slowdown by ISP" forward-to=77.88.8.88 match-subdomain=yes name=googlevideo.com type=FWDadd address-list=YOUTUBE forward-to=77.88.8.88 match-subdomain=yes name=gstatic.com type=FWDadd address-list=YOUTUBE forward-to=77.88.8.88 match-subdomain=yes name=l.google.com type=FWDadd address-list=YOUTUBE comment="Slowdown by ISP" forward-to=77.88.8.88 match-subdomain=yes name=nhacmp3youtube.com type=FWDadd address-list=YOUTUBE comment="Blocking by ISP" forward-to=77.88.8.88 match-subdomain=yes name=play.google.com type=FWDadd address-list=YOUTUBE forward-to=77.88.8.88 match-subdomain=yes name=youtu.be type=FWDadd address-list=YOUTUBE forward-to=77.88.8.88 match-subdomain=yes name=youtube.com type=FWDadd address-list=YOUTUBE forward-to=77.88.8.88 match-subdomain=yes name=ytimg.com type=FWDВместо DNS от Яндекса (77.88.8.88) можно использовать любой симпатичный вам DNS, например от Cloudflare: 1.1.1.1.
7. Создайте таблицу маршрутизации для VPN
/routing tableadd fib name=bypass-vpn8. Создайте правила, маркирующее трафик к YouTube и Viber
/ip firewall mangleadd action=accept chain=prerouting comment="ACCEPT ALL FROM PRIVATE-LANS TO PRIVATE-LANS" dst-address-list=PRIVATE-LANS src-address-list=PRIVATE-LANS
add action=mark-connection chain=prerouting comment="MARK CONNECTIONS ALL FROM PRIVATE-LANS TO YOUTUBE AS BYPASS-VPN-CONN" connection-mark=no-mark connection-state=new dst-address-list=YOUTUBE new-connection-mark=bypass-vpn-conn passthrough=yes src-address-list=PRIVATE-LANS
add action=mark-connection chain=prerouting comment="MARK CONNECTIONS ALL FROM PRIVATE-LANS TO VIBER AS BYPASS-VPN-CONN" connection-mark=no-mark connection-state=new dst-address-list=VIBER new-connection-mark=bypass-vpn-conn passthrough=yes src-address-list=PRIVATE-LANS
add action=mark-routing chain=prerouting comment="MARK ROUTING ALL FROM PRIVATE-LANS MARKED BYPASS-VPN-CONN AS BYPASS-VPN" connection-mark=bypass-vpn-conn new-routing-mark=bypass-vpn passthrough=no src-address-list=PRIVATE-LANSПервое правило не позволит локальным адресам улететь в туннель.
9. Создайте правило, которое согласует MTU с VPN-интерфейсом
/ip firewall mangleadd action=change-mss chain=forward comment="CHANGE MSS FOR TCP SYN TO BYPASS-VPN-IF" new-mss=clamp-to-pmtu out-interface=wg1 passthrough=yes protocol=tcp tcp-flags=syn10. Создайте правила маскарадинга для VPN-трафика
/ip firewall natadd action=accept chain=srcnat comment="ACCEPT ALL FROM PRIVATE-LANS TO PRIVATE-LANS FOR VPN" dst-address-list=PRIVATE-LANS src-address-list=PRIVATE-LANS
add action=masquerade chain=srcnat comment="MASQ ALL FROM PRIVATE-LANS MARKED AS BYPASS-VPN --> BYPASS-VPN-IF" out-interface=wg1 routing-mark=bypass-vpn src-address-list=PRIVATE-LANSПервое правило не позволит маскарадить трафик из приватных сетей к приватным сетям.
11. Настройте маршрутизацию VPN-трафика через интерфейс Wireguard
/ip routeadd dst-address=0.0.0.0/0 gateway=wg1 routing-table=bypass-vpn12. Проверьте маршрутизацию с клиентского ПК
Трассировка ya.ru после нашего роутера НЕ ДОЛЖНА проходить через хоп из сети 10.8.0.0/24:
C:\>tracert ya.ru
Трассировка маршрута к ya.ru [5.255.255.242]с максимальным числом прыжков 30:
1 2 ms 1 ms 1 ms router [10.255.253.1] 2 5 ms 6 ms 6 ms 96.234.80-1.samtel.ru [80.234.96.1]А трассировка googlevideo.com после нашего роутера ДОЛЖНА проходить через хоп из сети 10.8.0.0/24:
C:\>tracert googlevideo.com
Трассировка маршрута к googlevideo.com [142.251.1.106]с максимальным числом прыжков 30:
1 2 ms 1 ms 2 ms router [10.255.253.1] 2 75 ms 74 ms 74 ms 10.8.0.1Если все так - поздравляю, вы сломали чебурнет!
Ссылки по теме:
Смотрим рекламу на Youtube в 4K
Настройка клиента Wireguard на Mikrotik RouterOS для подключения к VPS, VDS серверу или готовой конфигурации
Wireguard в Mikrotik
Как определить оптимальный размер MTU?
YouTube Blocked hosts in Russia
Диапазон IP-адресов Instagram, Netflix, ChatGPT, Youtube, Twitter