NICが1つしかないFreeBSD11.1-RELEASEマシンがあり、同じサーバー上の PFファイアウォール の背後でSamba共有を提供しています。
内部ネットワーク(/ 24)から接続しているクライアントからの接続のみを許可する必要があります。
現在、これは機能しているようです。
# Default deny policy
block in log all
# allow Samba connections only from internal IPs
pass in quick on $ext_if inet proto tcp from $ext_if:network to $ext_if:network port {135, 137, 138, 139, 445}
pass in quick on $ext_if inet proto udp from $ext_if:network to $ext_if:network port {135, 137, 138, 139, 445}
しかし、これらは適切で十分ですか?
PFファイアウォールを使用して内部LANからのみSamba接続を許可するためのより良い、より慣用的な方法はありますか?
pf-senseインストールに別のインターフェースを追加します。または、VLAN対応のスイッチが利用可能な場合は、pf-senseで追加の仮想インターフェイスを提供します。
samba共有を2番目のインターフェースに配置し、新しいサブネット(10.10.10.0/24のようなもの)を与えます。制御したいLANユーザーとは異なるサブネットである必要があるだけで何でも機能します。
次に、ユーザーが2番目のLANサブネットにアクセスできるルールを設定します。または具体的には、どのユーザーがIPでSamba共有にアクセスできるか。
編集:これを行うためのPF(フィルタリング):デフォルトのブロックルールの後>
トラフィックはファイアウォールを明示的に通過する必要があります。そうでない場合、デフォルトの拒否ポリシーによってドロップされます。ここで、送信元/宛先ポート、送信元/宛先アドレス、プロトコルなどのパケット基準が機能します。トラフィックがファイアウォールを通過することを許可されている場合は常に、ルールは可能な限り制限するように作成する必要があります。これは、意図されたトラフィックのみが通過を許可されるようにするためです。
"#ローカルネットワーク192.168.0.0/24からOpenBSDにdc0でトラフィックを渡します"
「#マシンのIPアドレス192.168.0.1。また、dc0でリターントラフィックを渡します。」
192.168.0.0/24から192.168.0.1へのdc0の受け渡し
dc0で192.168.0.1から192.168.0.0/24に渡します
"#Pass TCP OpenBSDマシンで実行されているWebサーバーへのトラフィック。"
いずれかから出力ポートwwwへの出力プロトコルtcpを渡します。
インターフェイス名を使用し、サブネットを追加してください。IPルールを使用してください。これがはるかに簡単になります。
あなたの投稿には2つのパスルールしかありません。tcpとudpの両方でイン/アウトが必要になると思います。