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

Экземпляр Apache в частной подсети не возвращает пакеты

Как мы можем заставить работать экземпляр Apache в частной подсети?

Конфигурация
Публичная подсеть с 1 экземпляром NAT
Частная подсеть с 1 экземпляром приложения

подробности
1. Маскарадинг включен NAT через

    iptables -t nat -A POSTROUTING -j MASQUERADE

2. ПЕРЕДАЧА включена через
iptables -t nat -A PREROUTING -p tcp --port 80 -j DNAT --to-destination 10.0.10.102:80
3. Переадресация портов включена в /proc/sys/net/ipv4/ip_forward
4. Группа безопасности как для NAT, так и для приложения (никогда не будет держать их в рабочем состоянии, а просто для того, чтобы показать, что все порты открыты)

    Inbound All Traffic 0.0.0.0/0
    Outbound All Traffic 0.0.0.0/0

5. Сетевые ACL

    Inbound All Ports 0.0.0.0/0
    Outbound All Ports 0.0.0.0/0

6. Работа ping и wget для внешних запросов

    ping google.com
    wget google.com

7. Apache прослушивает экземпляр приложения в частной подсети.

    netstat -tulpn
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp6       0      0 :::80                   :::*                    LISTEN      -

Трафик Apache
Публичные запросы к серверу Apache в частной подсети не работают.

wget http://127.0.0.0.1/index.html   => success
# public IP requests
wget http://xxx.x.x.x/index.html   => failure
Connecting to xxx.x.x.x:80...      => hangs

С главного терминала NAT

sudo tcpdump -i any -n port 80
sudo: unable to resolve host ip-10-0-0-71
15:22:17.668089 IP 10.0.10.102.54033 > X.X.X.X.80: Flags [S], seq 848018267, win 26883, options [mss 8961,sackOK,TS val 19553465 ecr 0,nop,wscale 7], length 0
15:22:17.668111 IP 10.0.0.71.54033 > X.X.X.X.80: Flags [S], seq 848018267, win 26883, options [mss 8961,sackOK,TS val 19553465 ecr 0,nop,wscale 7], length 0

Что нам нужно сделать, чтобы Apache работал из частной подсети?