[Sysadmins] iptables

Москаленко Алексей Владимирович mav на elserv.msk.su
Пт Мар 15 16:53:01 MSK 2019


Фаизов Алишер писал 15.03.2019 16:36:
> Коллеги, подскажите какие правила необходимо прописать в iptables в
> следующей ситуации?
> 
> Есть шлюз, у него интерфейс с внешним ip и с внутренним, за внутренним
> веб-сервер. Снаружи вижу сайт. А вот с самого веб сервера curl
> отвечает connection refused.

Здравствуйте.

Скорее всего, у Вас DNS-запись указывает на внешний IP вашего сайта, 
поэтому он пытается обращаться к себе по внешнему IP. Вариантов решения 
проблемы у Вас два:

1. Прописать в /etc/host на web-сервере или в локальном DNS A-запись для 
сайта, указывающую на внутренний адрес web-сервера; или
2. На шлюзе прописать правило NAT вида iptables -t nat -A PREROUTING -i 
${INTERNAL_IFNAME} -s ${INTERNAL_NET} -d {EXTERNAL_IP} -p tcp -m 
multiport --dports ${WEB_SERVER_PORTS} -j DNAT --to-destination 
${WEB_SERVER_IP} и (возможно) соответствующее ему правило FORWARD 
(обратите внимание, что пакеты будут приходить и уходить с одного и того 
же внутреннего интерфейса).

Мне первый вариант кажется более правильным.




Подробная информация о списке рассылки Sysadmins