前書き
一部の内部(ホーム)サービスをインターネットから利用できるようにする1つの方法は、VPNを使用することです。もちろん、sshを介して個々のポートを公開することもできますが、より完全な通信を行うには、他のソリューションを使用することをお勧めします。私はすでにZeroTierとOpenVPNについて書いていて、Wireguardについて不当に忘れていたという非難を受けました...
どういうわけか、スタンドアロンサーバー上のVPNクライアント(Wireguardを含む)を見逃し始めました。ホームネットワーク全体をいくつかのリソースで接続する必要がありました(この場合、AzureのvNetを使用しますが、これは必須ではありません)。そして、本格的なサイト間で、ルーターを介してそれを行う時が来たと判断しました。
Keeneticは新しいファームウェアでWireguardをサポートすることを学びましたが、古いUltra用のものは見つかりませんでした。OpenWRTでも機能しませんでした(Ultra IIには機能しますが、私のモデルは古すぎます)。それで、私はアップグレードする時が来たと決めました。そして、Mikrotik RouterOSがWireguardでベータ7を公開したので、私はこの奇跡を研究する時が来たと判断しました。
現実は思ったよりやや複雑でしたが、すべてうまくいきました。そして今、どこにも見つからなかった、自分自身に到達しなければならなかった要点を説明します。
ハイライト
MikroTik hAPac2を使用しました。モデルは古く、飾り気はありませんが、必要なことはすべて実行します。
私はこれまでMikrotikを扱ったことがありませんでしたが、十分に迅速に立ち上げました。DHCPサーバーをセットアップする際に、このネットワークから配布されるIPアドレスのネットワークを設定するだけでは不十分であるという事実にはいくつかの問題がありました。別のIPプールもあることが判明しました。しかし、これらは些細なことです。すぐにWireguardの構成を開始しました。
もちろん、何も機能しませんでした。さらに、「反対側」では、着信パケットすら見えませんでした。
次に、[エンドポイント]フィールドにIPアドレスのみが表示されているのに、ポートがないことに気付きました。明示的に指定しようとしましたが、うまくいきませんでした。フィールドが赤に変わり、検証に失敗します。
. , 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
それで全部です。OpenWRTを使用してMikrotikにWireguardをインストールする方法がネット上にあります。しかし、私にとって、これは倒錯です。ただし、ネイティブのRouterOSで数分で上げることができます。あなたがすでに方法を知っているとき。うまく機能し、苦情はまったくありません。
PSもちろん、アドレスを変更しました。しかし、間違いではallowed-address=192.168.66.128/25
ありadd address=192.168.66.253/24
ません。2つのサーバーに接続しているだけです。一方のサーバーにクラスCネットワークの半分、もう一方のサーバーに半分。
PPSなぜOpenVPNではなくWireguardなのか?パフォーマンスの例:
https://blog.entrostat.com/openvpn-vs-wireguard-network-performance-tests/
また、セットアップのしやすさとちょっとした雑用もあります。