3台のコンピュータ間にWireguard VPNネットワークが設定されています。
- A)私の家のPCはwireguardクライアントを実行しており、私のオフィスサーバーのsambashareに接続しようとしています。 C)。
- B)マイホームサーバーはマイワイヤーガードサーバー/エンドポイントとして機能します。 A)とC)がこれに接続されています。
- C)私のオフィスサーバーにwireguardを介してアクセスしたいSamba共有があります。
次の理由で配信が正しく機能しているようです。
- A)からC)へ、C)からA)へのpingを送ることができます。 C)のwireguardインターフェイスIPを使用している場合。
- A)からC)までSSH経由で接続することもできます。 C)のwireguardインターフェイスIPを使用している場合。
問題は、smb.confまたはsmbd.serviceがsmb.confで指定されたインターフェイスにバインドされる方法にあると思います。その理由は次のとおりです。
- 私できないWireguard IPアドレスを使用してC)からSamba共有にアクセスできます。
- 私できるeth0 IPアドレスを指定すると、C)から私のSamba共有にアクセスします。
私のsmb.confファイルは次のとおりです。
####ネットワーキング#### #バインドする特定のインターフェイス/ネットワークセット #これはインターフェイス名またはIPアドレス/ネットマスクです。 # 通常、インターフェイス名が優先されます。 ;インターフェース=127.0.0.0/8 eth0 インターフェイス=lo eth0 wg-buero-tunnel #指定されたインターフェイスおよび/またはネットワークにのみバインドする必要があります。 #上記の「インターフェース」オプションを使用してください。 #Sambaシステムが次の場合は、この機能を有効にすることをお勧めします。 #ファイアウォールまたはファイアウォール自体で保護されていません。しかし、 #オプションは動的または非ブロードキャストインターフェイスを正しく処理しません。 ;インターフェイスのみバインド=はい バインドインターフェイスのみ=はい
これはの出力ですnetstat -tulpen | grep smbd
tcp 0 0 127.0.0.1:139 0.0.0.0:* リスニング中 0 17353 1023/smbd tcp 0 0 192.168.124.177:139 0.0.0.0:* リスニング中 0 17349 1023/smbd tcp 0 0 127.0.0.1:445 0.0.0.0:* リスニング中 0 17352 1023/smbd tcp 0 0 192.168.124.177:445 0.0.0.0:* リスニング中 0 17348 1023/smbd
ここのIPはsmb.confで指定したデバイスと一致する必要がありますが、まだIP /デバイスがありません。
ルオ127.0.0.1
イーサネット0192.168.124.177
WG-ブエロトンネルWireguard IPが完全に失われました。
本当にアイデアが足りません。
ベストアンサー1
インターフェイスアドレス/マスクが明示的に指定されていない場合、インターフェイスがによって制限されるinterfaces = ...
と、bind interfaces only = yes
SambaはWireguardインターフェイスを受信しません。
解決策はWireguardインターフェイスのIPアドレス/マスクの指定。例えば
interfaces = lo eth0 10.8.0.0/24
Sambaのドキュメントでもこれを明確に説明します。 smb構成ファイル:相互作用
...デフォルトでは、Sambaはカーネルにすべてのアクティブインターフェイスのリストを照会し、127.0.0.1以外のブロードキャスト機能を持つすべてのインターフェイスを使用します。 ...
...「マスク」パラメータは、ビット長(クラスCネットワークの場合は24)、またはドットで区切られた10進形式のフルネットワークマスクです。
私たち全員が知っているように、Wireguardはブロードキャストをサポートしていません。これはSambaの結果です。 Wireguardはブロードキャストをサポートしていないため、2)インターフェース名、3)IPアドレスのみ、または4)ブロードキャストアドレス/マスクなど、そこに説明されているインターフェースを指定するために他の3つの選択肢を使用することは不可能です。
ip link
次のコマンドで確認することもできます。
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
link/ether ...
wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> ... # without "BROADCAST"
link/none