Cómo reenviar las direcciones IP de origen a los contenedores Docker sin dejar que Docker se meta con las iptables

si ejecuta algo (por ejemplo, nginx) en un contenedor Docker y publica uno de los puertos expuestos al mundo exterior (por ejemplo, Docker docker run -p 80:80 nginx ), Docker

  • exponer el puerto al público
  • configure iptables para que si algo se conecta al contenedor a través del puente de networking Docker (NAT), entonces nginx aún sepa la IP de origen adecuada
  • ! abre el firewall a ese puerto completamente

No quiero permitir que nadie se conecte al puerto publicado, pero Docker lo arruina. Así que --iptables=false daemon Docker con --iptables=false que me permite administrar el firewall yo mismo. Sin embargo, nginx ahora solo ve el puente (172.18.0.1) como la dirección de origen.

¿Cómo puedo mantener el control sobre el firewall y aún reenviar la dirección IP de origen al contenedor?