Перенаправить в локальную сеть без allow_localnet

Я бы хотел перенаправить входящий внешний трафик на службу, которая прослушивает на 127.0.0.1. Перенаправление очень просто - просто:

iptables -t nat -A PREROUTING \
    -d local_ip --dport 80 \
    -j DNAT --to-destination 127.0.0.1:port

, но это оставляет пакет на eth0 , и он просто регистрируется как марсианский и по умолчанию отбрасывается. Я могу включить route_localnet на eth0 , чтобы исправить это, но это подвергает весь интерфейс странным трюкам маршрутизации.

Как правильно перенаправить его без route_localnet ?

3
задан 27 December 2015 в 05:08
1 ответ

Правильный правильный способ справиться с этим заключается в том, чтобы приложение прослушивало правильный интерфейс и/или IP-адрес, а не 127.0.0.1, и использовало iptables только для того, чтобы разрешить трафик, а не для того, чтобы разыгрывать странные NAT-трюки.

.
1
ответ дан 3 December 2019 в 07:25

Теги

Похожие вопросы