====== Настройка VPN на Mikrotik ======

<WRAP center round tip 60%>
Везде, **__кроме L2TP + IpSec__** будет использоваться статья [[Центр сертификации на Mikrotik|Центр сертификации на Mikrotik]]
</WRAP>


===== L2TP + IpSec =====

  - Создаем IP Pool в IP -> Pool <code bash>/ip pool
add name=l2tp_pool ranges=10.20.0.100-10.20.0.199</code>
  - Создаем профиль <code bash>/ppp profile 
add change-tcp-mss=yes local-address=192.168.111.140 name=vpn remote-address=vpn_pool1 use-encryption=required</code>
  - Добавляем Secret <code bash>/ppp secret
add name=test1 password=123 profile=default-encryption service=pptp</code>
  - Настраиваем сервер <code bash>/interface l2tp-server server
set authentication=mschap2 enabled=yes default-profile=default-encryption ipsec-secret=myIPsecPreKey use-ipsec=yes</code>
  - Добавляем правило в firewall <code bash>/ip firewall filter
add action=accept chain=input dst-port=500,1701,4500 in-interface=ether1 protocol=udp
add action=accept chain=input in-interface=ether1 protocol=ipsec-esp</code>
  - Создаем Proposal <code bash>/ip ipsec proposal
set [ find default=yes ] auth-algorithms=sha256,sha1 pfs-group=ecp384</code>
  - Создаем IPSEC profile <code bash>/ip ipsec profile
set [ find default=yes ] dh-group=ecp256,ecp384,modp2048 enc-algorithm=aes-256</code>
  - Элемент нумерованного списка

===== OpenVPN =====

  - Создаем IP Pool в IP -> Pool <code bash>/ip pool
add name=ovpn_pool ranges=10.20.0.100-10.20.0.199</code>
  - Создаем [[ Центр сертификации на Mikrotik| Центр сертификации на Mikrotik]]
  - Создаем сертификат пользователя. На вкладке Key Usage указываем только tls-client и также подписываем сертификат ключом нашего CA. <code bash>/certificate 
add name=mikrotik country="RU" state="31" locality="BEL" organization="Interface LLC" unit="IT" common-name="mikrotik" key-size=2048 days-valid=365 key-usage=tls-client 
sign mikrotik ca="ca"</code>
  - Подписываем сертификат клиента CA
  - PPP -> Profile <code bash>/ppp profile
add local-address=10.8.8.1 name=ovpn remote-address=ovpn_pool0</code>
  - <code bash>/ppp aaa
set accounting=yes</code>
  - Создаем пользователей в PPP -> Secret <WRAP center round important 60%>
Логин пользователя должен совпадать с **Common Name** его сертификата
</WRAP><code bash>/ppp secret
add name=mikrotik password=123 profile=ovpn service=ovpn</code>
  - Настраиваем сервер <code bash>/interface ovpn-server server
set auth=sha1 certificate=ovpn-server cipher=aes256 default-profile=ovpn enabled=yes require-client-certificate=yes</code>
  - Настраиваем firewall <code bash>/ip firewall filter
add action=accept chain=input  dst-port=1194 protocol=tcp</code>

===== SSTP =====

  - Создаем IP Pool в IP -> Pool <code bash>/ip pool
add name=sstp_pool ranges=10.20.0.100-10.20.0.199</code>
  - В разделе PPP -> Profiles создадим новый профиль со следующими настройками <code bash>/ppp profile
add local-address=10.20.0.1 name=SSTP-profile remote-address=sstp-pool</code>
  - Затем переместимся в PPP -> Secrets и создадим учетные записи пользователей, указываем имя пользователя, пароль, в поле Service выбираем sstp. В поле Profile указываем созданный нами профиль. <code bash>/ppp secret
add name=Ivanov password=Pa$$word profile=SSTP-profile service=sstp</code>
  - Настроим SSTP сервер <code bash>/interface sstp-server server
set authentication=mschap2 certificate=sstp.interface31.lab default-profile=SSTP-profile enabled=yes force-aes=yes pfs=yes tls-version=only-1.2</code>

<WRAP center round info 60%>
Как создать сертифика для сервера смотрите в [[Центр сертификации на Mikrotik|Центр сертификации на Mikrotik]]
</WRAP>

===== WireGuard =====

  - Создаем интерфейс WG <code bash>/interface wireguard
add listen-port=34567 mtu=1420 name=wireguard-sts</code>
  - Задаем IP на интерфейсе <code bash>/ip address
add address=10.10.0.1/24 interface=wireguard-sts network=10.10.0.0</code>
  - Настраиваем firewall <code bash>/ip firewall filter
add action=accept chain=input dst-port=34567 in-interface=ether1 protocol=udp</code>
  - Добавляем пиров <code bash>/interface wireguard peers
add allowed-address=10.10.0.2/32,192.168.233.0/24 interface=wireguard-sts public-key="9pVP67ehKtQEr6BV46X9SuQrdvys+1QeVT0oeUg71wo="</code>
<WRAP center round info 60%>
Ключ пира - это его публичный ключ
</WRAP>
<WRAP center round tip 60%>
Так же смотрите [[Клиентский конфиг для WG|Клиентский конфиг для WG]]
</WRAP>


