
Я настраиваю маршрутизатор 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
}
Так что теперь я убежден, что либо я делаю что-то неправильно, либо брандмауэр не работает так, как должен.
решение1
Работает так, как и должно. Вы применяете правила брандмауэра к зонам или интерфейсам? Если вы настраиваете правила для зон, вам также необходимо создать политики зон. т.е. WAN-LOCAL,