introduction
Un VPN est une façon de rendre certains services internes (domestiques) disponibles sur Internet. Vous pouvez, bien sûr, publier des ports séparés via ssh, mais pour une communication plus complète, il est préférable d'utiliser d'autres solutions. J'ai déjà écrit sur ZeroTier, et sur OpenVPN, et j'ai reçu des reproches d'avoir oublié sans raison Wireguard ...
D'une manière ou d'une autre, j'ai commencé à manquer le client VPN (y compris Wireguard) sur un serveur autonome, j'avais besoin de connecter (dans ce cas avec vNet dans Azure, bien que ce ne soit pas essentiel) l'ensemble du réseau domestique avec plusieurs ressources. Et j'ai décidé qu'il était temps de le faire via un routeur, pour un site à site à part entière.
Bien que Keenetic ait appris à prendre en charge Wireguard sur un nouveau firmware, je n'en ai pas trouvé pour l'ancien Ultra. Cela ne fonctionnait pas non plus avec OpenWRT (pour Ultra II il y en a, mais mon modèle est trop ancien). J'ai donc décidé qu'il était temps de mettre à niveau. Et depuis que Mikrotik RouterOS a déployé la version bêta 7 avec Wireguard, j'ai décidé qu'il était temps d'étudier ce miracle.
La réalité s'est avérée un peu plus compliquée que ce à quoi je m'attendais, mais tout a fonctionné. Et maintenant je vais décrire les principaux points que je n'ai pu trouver nulle part, et que j'ai dû atteindre moi-même.
Points forts
J'ai pris MikroTik hAP ac2. Le modèle est vieux, sans fioritures, mais il fait tout ce dont il a besoin.
Bien que je n'avais jamais traité avec Mikrotik auparavant, je l'ai lancé assez rapidement. Il y avait quelques difficultés avec le fait que lors de la configuration du serveur DHCP, il ne suffisait pas de définir le réseau pour que les adresses IP soient distribuées à partir de ce réseau. Il s'est avéré qu'il existe également un pool IP séparé. Mais ce sont des bagatelles. J'ai donc commencé assez rapidement à configurer Wireguard.
Bien sûr, rien n'a fonctionné. De plus, "de l'autre côté", je n'ai même pas vu de paquets entrants.
Ensuite, j'ai remarqué que seule l'adresse IP est indiquée dans le champ Endpoint, mais il n'y a pas de port. J'ai essayé de le spécifier explicitement, mais il s'est interrompu. Le champ devient rouge et échoue à la validation.
. , RouterOS, , , . -, , . , , . .. /interface wireguard peers
. add . interface, public-key allowed-address. , :
add allowed-address=192.168.66.128/25,10.10.0.0/16 endpoint=66.166.166.42:51820 \
interface=wg0 persistent-keepalive=30 public-key="="
.. . , .
, wg0 web-. WinBox, . , -, . , Linux IP . . :
/ip address
add address=192.168.66.253/24 interface=wg0 network=192.168.66.0
C'est tout. Il y a des instructions sur le net pour installer Wireguard sur Mikrotik avec OpenWRT. Mais moi, c'est une perversion. Mais vous pouvez l'augmenter dans votre RouterOS natif en quelques minutes. Quand tu sais déjà comment. Fonctionne très bien, rien à redire du tout.
PS Bien sûr, j'ai changé les adresses. Mais allowed-address=192.168.66.128/25
aussi add address=192.168.66.253/24
pas une erreur. J'ai juste une connexion à deux serveurs. La moitié du réseau de classe C sur un serveur, la moitié sur l'autre.
PPS Pourquoi Wireguard et non OpenVPN? Par exemple, les performances:
https://blog.entrostat.com/openvpn-vs-wireguard-network-performance-tests/
Et aussi la facilité de personnalisation et un peu de trivia.