Проблема NAT Shorewall

Проблема NAT Shorewall

Я установил и настроил Shorewall у двух провайдеров. Хочу предоставить клиентам доступ в Интернет, а другое подключение — для подключения серверов и NAT.

Я могу перемещаться как из клиентской зоны, так и из зоны DMZ, но не могу пользоваться услугами серверов за пределами LAN. Я прослушал пакеты на обоих сайтах (LAN и за пределами LAN) и вижу, что серверы в DMZ получают пакеты NAT и отвечают на них, но, похоже, пакеты не возвращаются внешнему клиенту.

Кто-нибудь может мне помочь? Вот файлы конфигурации моей установки:

    > cat interfaces
#ZONE   INTERFACE       BROADCAST       OPTIONS
net     eth0            detect          dhcp,routeback,blacklist,tcpflags,nosmurfs,routefilter,logmartians
net     eth1            detect          dhcp,routeback,blacklist,tcpflags,nosmurfs,routefilter,logmartians
loc     eth2            detect          dhcp,routeback,blacklist,tcpflags,nosmurfs,routefilter,logmartians
dmz     eth3            detect          dhcp,routeback,blacklist,tcpflags,nosmurfs,routefilter,logmartians


> cat zones
#ZONE   TYPE    OPTIONS                 IN                      OUT                            OPTIONS                 OPTIONS
fw      firewall
net     ipv4
loc     ipv4
dmz     ipv4


>  cat providers
#NAME   NUMBER  MARK    DUPLICATE       INTERFACE       GATEWAY         OPTIONS         COPY
ADSL2   2       0x2     main            eth1            8x.xx.1x7.1     track,balance           eth2,eth3
ADSL1   1       0x1     main            eth0            8y.yy.2y1.2     track,balance           eth2,eth3


> cat mask
#INTERFACE              SOURCE          ADDRESS         PROTO   PORT(S) IPSEC   MARK
eth0                    8y.yy.2y1.yy6   8x.xx.1x7.xx2
eth0                    eth2            8y.yy.2y1.yy6
eth0                    eth3            8y.yy.2y1.yy6
eth1                    8x.xx.1x7.xx2   8y.yy.2y1.yy6
eth1                    eth2            8x.xx.1x7.xx2
eth1                    eth3            8x.xx.1x7.xx2


> cat rules
DROP:info       net:192.168.0.0/24      all
DROP:info       net:192.168.4.0/22      all
DNS(ACCEPT)     $FW             net:eth0
DNS(ACCEPT)     dmz             net:eth0
HTTP(ACCEPT)    dmz             net:eth0
HTTPS(ACCEPT)   dmz             net:eth0
ACCEPT          net:eth0        dmz
DNAT            net:eth0        dmz:192.168.0.252       tcp     80
Ping(DROP)      net:eth1        $FW
Ping(DROP)      net:eth0        $FW
Ping(ACCEPT)    loc             $FW
Ping(ACCEPT)    loc             dmz
Ping(ACCEPT)    dmz             loc
Ping(ACCEPT)    dmz             net:eth0
Ping(ACCEPT)    dmz             $FW
ACCEPT          $FW             loc             icmp
ACCEPT          $FW             dmz             icmp
SSH(ACCEPT)     dmz             $FW


> cat tcrules
#MARK   SOURCE                  DEST        PROTO    DEST_PORT(S)
1:P     192.168.0.0/24          -
2:P     192.168.4.0/22          -
1       $FW

решение1

Первая ошибка, которую я вижу, это то, что cat maskдолжно быть cat masq.

Если у вас есть masqфайл с именем mask, он будет использовать конфигурацию по умолчанию для masq.

Связанный контент