680 May 29, 2022, 9:57 a.m.

WireGuard вместо PPtP

Задачи:

  1. Ознакомиться с протоколом WireGuard
  2. Заменить старый протокол PPtP на WireGuard

Для начала, что такое WireGuard – это VPN на спидах. Он не использует различного формата legacy-инструменты что привело к уменьшению потребления ресурсов и увеличению скорости. Для установки соединения не требуется логин/пароль, всё работает через ключи (public & private). При использовании PPtP на Microtik не удается в настройках брандмауэра использовать конкретный интерфейс так как при сбросе канала он создается заново и правила перестают работать, что приводит к дальней поездке, поэтому приходится использовать all ppp что, на мой взгляд, менее безопасно если подключений VPN много.

Между двумя точками полностью за связь отвечают два роутера MicroTik c 7 версией прошивки. Один из них с белым адресом, он и будет центром, как на старом протоколе. Настройка не составит труда, для этого необходимо в Winbox или веб-версии: перейти в пункт WireGuard > Интерфейс Добавить новый интерфейс, дать название по желанию и нажать Применить. Появятся ключи Также необходимо изменить MTU на 1450, в противном случае, большая часть сайтов не будет отрываться, если через канал будет идти сетевой трафик в интернет.

UPD: если нет возможности реализовать MTU 1450, на сервере, то для этого можно использовать следующие правила на клиенте, в моём случае хватило первого с MTU 1300:

/ip firewall mangle add chain=forward action=change-mss new-mss=clamp-to-pmtu passthrough=no tcp-flags=syn protocol=tcp out-interface=*название WAN интерфеса* tcp-mss=1300-65535 log=no
/ip firewall mangle add chain=forward action=change-mss new-mss=clamp-to-pmtu passthrough=no tcp-flags=syn protocol=tcp in-interface=*название WAN интерфеса* tcp-mss=1300-65535 log=no

IP > Addresses > и назначить адрес для сервера WireGuard например 1.1.1.1/24, interface (выбрать название которое было дано этапом выше) WireGuard > Peers > Добавить пир в котором нужно указать

Interface (из 1 этапа), 
Allowed Address (это должен быть адрес клиента и подсеть за этим клиентом или в качестве первого опыта указать 0.0.0.0/0), 
Public Key из интерфейса КЛИЕНТА который будет создан этапом ниже.
Persistent Keepalive – 10

Для настройки клиента потребуется проделать почти всё тоже самое с небольшими поправками WireGuard > Interface > Добавить интерфейс > также нужно изменить MTU, установить такой же порт как и на сервере нажать применить и появившийся public key скопировать в пир СЕРВЕРА. IP > Addresses > и назначить адрес для клиента WireGuard например 1.1.1.2/24, interface (выбрать название которое было дано этапом выше) WireGuard > Peers > Добавить пир в котором нужно указать

Interface (из 1 этапа), 
Allowed Address (это должен быть адрес сервера и подсеть за этим сервером или в качестве первого опыта указать 0.0.0.0/0), 
Public Key из интерфейса СЕРВЕРА
Persistent Keepalive – 10
Endpoint – белый адрес сервера
Endpoint Port – порт сервера, который был указан в интерфейсе.

После данных этапов должен образоваться канал, наличие которого можно проверить через консоль.

Пару слов если вы всё сделали правильно у сайты через WireGuard не открываются, нужно установить NAT правило

Chain – srcnat
Out. Interface – название интерфейса WireGuard
Action – masquerade или src-nat и адрес в этой сети что будет более правильно.

Источники