Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

307
Visualizações
Restrinja el puerto expuesto de Docker solo de direcciones IP específicas

¿Cómo restringir el puerto de un contenedor expuesto por Docker solo de una lista de IP? Solo esta lista de IP podría acceder a este puerto.

Intenté eso:

 iptables -I DOCKER -p tcp --dport PORT_X -j REJECT --reject-with icmp-port-unreachable iptables -I DOCKER -p tcp --dport PORT_X --source EXTERNAL_IP_1 --destination HOST_IP_1 -j ACCEPT iptables -I DOCKER -p tcp --dport PORT_X --source EXTERNAL_IP_2 --destination HOST_IP_1 -j ACCEPT iptables -I DOCKER -p tcp --dport PORT_X --source EXTERNAL_IP_3 --destination HOST_IP_1 -j ACCEPT
about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Yo tuve el mismo problema. Lo resolví con estas reglas:

 iptables -I DOCKER-USER -i <your_interface_name> -j DROP iptables -I DOCKER-USER -i <your_interface_name> -s <your_first_ip> -j ACCEPT iptables -I DOCKER-USER -i <your_interface_name> -s <your_second_ip> -j ACCEPT

Atención, DOCKER-USER es una cadena que no se eliminará cuando service docker restart

Debería poder agregar su bandera de puerto, pero no soy un experto y no es mi necesidad.

about 4 years ago · Santiago Trujillo Relatório

0

Su política es la lista blanca, es mejor crear una chain personalizada de usuario para manejar esto solo.

Por ejemplo, tengo un contenedor redis , quiero que solo sirva para IP específicas:

 $ docker run -d -p 6379:6379 redis:2.8

Después de iniciar el contenedor Redis, las iptables se ven así:

 $ iptables -t filter -nL Chain DOCKER (1 references) target prot opt source destination ACCEPT tcp -- 0.0.0.0/0 172.17.0.2 tcp dpt:6379

Crea nuestra cadena personalizada:

 $ iptables -N CUSTOM_REDIS $ iptables -A CUSTOM_REDIS -p tcp --dport 6379 --source 172.31.101.37 --destination 172.17.0.2 -j ACCEPT $ iptables -A CUSTOM_REDIS -p tcp --dport 6379 --source 172.31.101.38 --destination 172.17.0.2 -j ACCEPT $ iptables -A CUSTOM_REDIS -p tcp --dport 6379 --source 0.0.0.0/0 --destination 172.17.0.2 -j DROP

Reemplace la regla original con una cadena personalizada:

 $ iptables -R DOCKER 1 -p tcp --source 0.0.0.0/0 --destination 172.17.0.2 --dport 6379 -j CUSTOM_REDIS

Ahora mi redis solo puede acceder por ip: 172.31.101.37 y 172.31.101.38 .

Nota:

  • 172.17.0.2 es la ip del contenedor redis
about 4 years ago · Santiago Trujillo Relatório

0

De la guía acoplable aquí :

Las reglas de reenvío de Docker permiten todas las direcciones IP de origen externo de forma predeterminada. Para permitir que solo una IP o red específica acceda a los contenedores, inserte una regla negada en la parte superior de la cadena de filtros DOCKER. Por ejemplo, para restringir el acceso externo de modo que solo la fuente IP 8.8.8.8 pueda acceder a los contenedores, se podría agregar la siguiente regla:

$ iptables -I DOCKER -i ext_if ! -s 8.8.8.8 -j DROP

En su caso, dado que desea permitir múltiples direcciones IP, creo que algo como esto debería funcionar:

 iptables -I DOCKER -s EXTERNAL_IP_1 -p tcp --dport PORT_X -j ACCEPT iptables -I DOCKER -s EXTERNAL_IP_2 -p tcp --dport PORT_X -j ACCEPT iptables -I DOCKER -s EXTERNAL_IP_3 -p tcp --dport PORT_X -j ACCEPT iptables -I DOCKER -p tcp --dport PORT_X -j REJECT --reject-with icmp-port-unreachable
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda