静的IPを使用するサーバーと私のホームローカルネットワーク上のクライアントがあります。私が達成したいのは、2つの間のVPN接続です(後でより多くのクライアントを追加できますが)。 VPNサーバーを介してインターネットに接続する必要はなく、直接接続するだけです。
サーバーでUbuntu 18.04 LTSを実行していても、サーバーがカーネルの変更を許可しないOpenVZ仮想サーバーであるため、wireguardカーネルモジュールは使用できません。だから私はサーバーでwireguard-goを使用しています。バラより私の以前の投稿その問題を議論するために。
サーバーは次のように構成されます。
[Interface]
PrivateKey = ...
ListenPort = 51944
[Peer]
PublicKey = ...
AllowedIPs = 192.168.177.5/32
そして
sudo ip addr add 192.168.177.4/32 dev wg0
IPアドレスを設定します。
クライアント(Ubuntu 18.04 LTS)も次のように構成されています。
[Interface]
PrivateKey = ...
Address = 192.168.177.5/32
[Peer]
PublicKey = ...
AllowedIPs = 192.168.177.4/32
Endpoint = [static IP of my server]:51944
PersistentKeepalive = 25
そして始まる
sudo wg-quick up wg0
サーバーとクライアントの出力でsudo wg
ハンドシェイクが機能していることがわかります。しかし、どちらかをpingしようとすると、コメントプロンプトが永遠に待機します。
私に何の問題があるのか知っている人はいますか?
答え1
問題は、WireGuardの問題ではなく、クライアントとサーバーのルーティングが失われているようです。
サーバーが 192.168.177.4/32 に指定されている場合、192.168.177.5/32 にはパスはありません。標準のルーティング部分の場合は、疑わしい場合はコマンドを実行して、パスがどこに行くかカーネルに尋ねます。例えば仕える人:
ip route get 192.168.177.5
答えがWireGuardインターフェイスを提供していない場合、ルータはそれを使用しないことを意味します(トンネルにトラフィックがまったくありません)。
可能なオプションは次のとおりです。
足りないパスを追加
sudo ip route add 192.168.177.5/32 dev wg0
自動ルーティングが含まれ、カーネルによって追加されるようにアドレスを別々に追加します。
ピアアドレスがある
sudo ip address add 192.168.177.4 peer 192.168.177.5/32 dev wg0
または、少なくとも/31(パスに192.168.177.5を含める場合)です。 / 24も利用可能
sudo ip address add 192.168.177.4/31 dev wg0
または、最も単純な/ 31などの構成にアドレスを追加するか、/ 24などのより大きなアドレスを追加します。サーバーとクライアントは同じ役割を持つため、異なる方法でアドレスを構成する理由はありません。
Address = 192.168.177.4/31
同様に、クライアント構成を変更します。
Address = 192.168.177.5/31
標準ルーティングとWireGuardの暗号化キールーティング(AllowedIPs
ここでこの設定に合ったものを選択するために使用します)作業結果は正確でなければなりません。ピアを追加する場合は、より広いルーティングを使用する必要があるかもしれませんが、AllowedIPs
暗号化キーのルーティングに必要な限り厳密な設定を維持する必要があります。