なぜ vyatta はファイアウォールを介した SMTP を許可しないのでしょうか?

なぜ vyatta はファイアウォールを介した SMTP を許可しないのでしょうか?

VMware ESXiにVyattaルーターをセットアップしています。

しかし、大きな問題に遭遇したようです。ファイアウォールと NAT を正しく動作させることができませんでした。

NAT の何が問題だったのかはわかりませんが、今は「どうやら」機能しているようです。しかし、ファイアウォールは WAN インターフェイス (eth0) から LAN (eth1) へのトラフィックを許可していません。ファイアウォール ルールをすべて無効にし、NAT だけですべてが機能したので、ファイアウォールの問題だと断言できます。ファイアウォール (WAN と LAN) を元の場所に戻すと、ポート 25 に何も通過できなくなります。

問題が何なのかよくわかりません。私はかなり基本的なファイアウォール ルールを使用していますが、ルールは vyatta のドキュメントを見ながら作成したので、ドキュメントに何かおかしな点がない限りは「動作するはず」です。

これまでの私の NAT ルールは次のとおりです。

vyatta@gateway# show service nat
 rule 20 {
     description "Zimbra SNAT #1"
     outbound-interface eth0
     outside-address {
         address 74.XXX.XXX.XXX
     }
     source {
         address 10.0.0.17
     }
     type source
 }
 rule 21 {
     description "Zimbra SMTP #1"
     destination {
         address 74.XXX.XXX.XXX
         port 25
     }
     inbound-interface eth0
     inside-address {
         address 10.0.0.17
     }
     protocol tcp
     type destination
 }
 rule 100 {
     description "Default LAN -> WAN"
     outbound-interface eth0
     outside-address {
         address 74.XXX.XXX.XXX
     }
     source {
         address 10.0.0.0/24
     }
     type source
 }

次に、私のファイアウォール ルールを示します。ここに問題があると考えられます。

vyatta@gateway# show firewall
 all-ping enable
 broadcast-ping disable
 conntrack-expect-table-size 4096
 conntrack-hash-size 4096
 conntrack-table-size 32768
 conntrack-tcp-loose enable
 ipv6-receive-redirects disable
 ipv6-src-route disable
 ip-src-route disable
 log-martians enable
 name LAN_in {
     rule 100 {
         action accept
         description "Default LAN -> any"
         protocol all
         source {
             address 10.0.0.0/24
         }
     }
 }
 name LAN_out {
 }
 name LOCAL {
     rule 100 {
         action accept
         state {
             established enable
         }
     }
 }
 name WAN_in {
     rule 20 {
         action accept
         description "Allow SMTP connections to MX01"
         destination {
             address 74.XXX.XXX.XXX
             port 25
         }
         protocol tcp
     }
     rule 100 {
         action accept
         description "Allow established connections back through"
         state {
             established enable
         }
     }
 }
 name WAN_out {
 }
 receive-redirects disable
 send-redirects enable
 source-validation disable
 syn-cookies enable

サイドノート

このウェブサイトを使用して開いているポートをテストするには、http://www.yougetsignal.com/tools/open-ports/ファイアウォール ルールがない場合、ポート 25 は開いていると表示され、ファイアウォール ルールがある場合、ポート 25 は閉じていると表示されました。

アップデート

ファイアウォールが正しく動作しているかどうかを確認するために、WAN インターフェイスからの SSH をブロックするルールを作成しました。プライマリ WAN アドレスのポート 22 をチェックしたところ、ポートを完全にブロックしたにもかかわらず、ポートはまだ開いていると表示されました。

私が使用したルールは次のとおりです。

 rule 21 {
     action reject
     destination {
         address 74.219.80.163
         port 22
     }
     protocol tcp
 }

したがって、私は何か間違ったことをしているか、ファイアウォールが正常に動作していないかのどちらかであると確信しています。

答え1

正常に動作しています。ファイアウォール ルールをゾーンまたはインターフェイスに適用していますか? ゾーンに対してルールを設定する場合は、ゾーン ポリシーも作成する必要があります。たとえば、WAN-LOCAL などです。

関連情報