为什么 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 在没有防火墙规则的情况下是开放的,而在有防火墙规则的情况下是关闭的。

更新

为了检查防火墙是否正常工作,我制定了一条规则来阻止来自 WAN 接口的 SSH。当我检查主 WAN 地址上的端口 22 时,它显示该端口仍处于打开状态,尽管我完全阻止了该端口。

这是我使用的规则;

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

所以现在我确信要么是我做错了什么,要么是防火墙没有正常工作。

答案1

它按应有的方式工作。您是否将防火墙规则应用于区域或接口?如果您正在针对区域配置规则,则还必须制定区域策略。即 WAN-LOCAL,

相关内容