Назад | Перейти на главную страницу

Почему vyatta не разрешает SMTP через мой брандмауэр?

Я настраиваю роутер vyatta на VMware ESXi,

Но я вижу, что столкнулся с серьезной проблемой, я не мог заставить мой брандмауэр и 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 как открытый без правил брандмауэра и закрытый по правилам брандмауэра.

ОБНОВИТЬ

Чтобы проверить, правильно ли работает брандмауэр, я сделал правило блокировать SSH из интерфейса WAN. Когда я проверил порт 22 на моем основном WAN-адресе, он сказал, что он все еще открыт, хотя я полностью заблокировал порт.

Вот правило, которое я использовал;

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

Итак, теперь я убежден, что либо я делаю что-то не так, либо брандмауэр не работает должным образом.

Он работает так, как должен. Применяете ли вы правила брандмауэра к зонам или интерфейсам? Если вы настраиваете свои правила для зон, вам также необходимо создать политики для зон. т.е. WAN-LOCAL,