私のホームサーバーはUbuntuを実行しています(デスクトップ環境がインストールされています)。これは、Webインターフェイス(Transmission、Sickrage、Openhab、Unifiコントローラーなど)によって管理されるいくつかのサービス用のいくつかのDockerコンテナーをホストします。
好みに応じて、コンテナのネットワーク化に以下を使用しました。
--net=macvlan
--ip=192.168.0.211
このように、私はポートの問題を抱えていません(最初のものをポート8080にインストールし、次のものはデフォルトで8080も使用しますが、8081に置く必要がありますが、デフォルトで8081を持つ新しいサービスをインストールしたいしかし、それでも、別のものに変更する必要があります...)、ここでは、次のサービスと出来上がりのために次に利用可能なIPアドレスを取得します。
外部アクセスに関しては、セキュリティ上の理由から、外部からホームサーバーへのSSHアクセス用に1つのポートのみを開き、トンネリングを介してVNCアクセスも利用できます。
私の問題:ホームサーバー自体を除いて、ローカルネットワーク内の任意のコンピューターからコンテナーのWebインターフェイスにアクセスできます。コンテナは相互にアクセスすることもできます。自宅ではそれは大きな問題ではありませんが、外部からアクセスする場合は大きな問題です。
その結果、VNCアクセスを使用してこれらのサービスを管理することができません。
この問題を解決するにはどうすればよいですか?
実際にmacvlanとブリッジしている新しいネットワークインターフェイスを作成する必要がありました。
ip link add mac0 link enp3s0 type macvlan mode bridge
ip addr add 192.168.0.199/24 dev mac0
ifconfig mac0 up
コマンドには昇格された特権が必要です。
すべてすぐにOKになりました。