Firewalld: ポート 80/443 のポート転送を設定すると、クライアントのインターネット アクセスがブロックされます

Firewalld: ポート 80/443 のポート転送を設定すると、クライアントのインターネット アクセスがブロックされます

私はここに来たのは初めてなので、正しい場所に来ていることを願っています。また、このレベルの複雑さのネットワークも初めてなので、これは愚かな質問かもしれません。あらかじめお詫びします。何らかの理由で、イーサネットのみの NAS (Synology) を所有していますが、これを設置場所の有線ネットワークに接続することはできません。そのため、NAS を Wi-Fi 経由でネットワークに接続するために、ルーター/インターネット接続共有デバイスとして機能する Raspberry Pi を設定しています。これが設定です。

workplace(wifi) <---> rpi(wifi、dhcp)---rpi(dhcp サーバー、firewalld)---rpi(ethernet) <---> nas(ethernet、dhcp)

私は、WiFi とイーサネット接続の両方を適切に構成し、DHCP サーバーを適切に (eth0 に) セットアップし、NAS がインターネットにアクセスできるように、firewalld でマスカレードを有効にすることができました。NAS は、Web サーバーなどをホストすることになっているため、ポート 80 と 443 を NAS に直接転送する必要があります。ここで問題が始まります。現在、firewalld はどのように構成されていますか。

  • wlan0 と eth0 は両方ともパブリックゾーン(デフォルトゾーン)にあります
  • パブリックゾーンのマスカレードが有効
  • パブリックゾーンでサービス http および https が有効になっている

ポート 80 を次のように転送すると:

firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=80:toaddr=NAS_IP

NAS ウェブサーバーは職場ネットワーク内の他のマシンから見ることができますが、http リクエストはインターネットではなく、NAS 自身のウェブサーバーにリダイレクトされるため、NAS 自体はインターネットにアクセスできません。ポート転送を削除すると接続は回復しますが、もちろんウェブサーバーにアクセスできなくなります。

簡単な解決策としては、ウェブサーバーを別のポートに移動することですが、ユーザーにとって使いやすいようにポート80のままにしておきたいのです。このバグレポートこれは私が抱えている問題のようですが、すでに解決されているようにも見えます (ただし、システムにインストールされているバージョンは 0.6.3 なので、完全にはわかりません)。これがプログラムのバグなのか、それとも私の設定が間違っているだけなのか (たとえば、2 つのインターフェイスが同じゾーンにあるべきではないなど) を知りたいです。ご助言をいただければ幸いです。

答え1

NAS をpublicゾーンに配置しましたが、別のゾーンに配置する必要があります。既存のゾーンを選択するか、新しいゾーンを作成することができます。

関連情報