Eu tenho alguns problemas conceituais fundamentais, devido aos quais não sou capaz de encaminhar o tráfego em um contêiner docker contendo uma rede.
O contêiner do Docker está escutando em 2123 / udp
Abordagem 0 Publicar todo o argumento não parece funcionar. Não houve mapeamento / alteração no iptables antes e depois deste comando.
docker run -d -P image
Abordagem 1 Eu quero enviar tráfego de qualquer interface / ip / port para um contêiner docker. Descobri que a maioria do meu tráfego está em eno1, ip = x.x.x.xe porta 22. Tentei vincular essa porta 22 ao docker usando
docker run -d -p 22:2123 image
As the port is active so it could not bind with port 22
Abordagem 2 Eu escolhi uma porta aleatória 80 e tentei publicá-la
docker run -d -p x.x.x.x:80:2123
Não imprimi nenhum erro. No entanto, quando eu envio pacotes para este ip e porta, a conexão é recusada.
Packets sent as follows.
dd if=/dev/zero bs=9000 count=1000 > /dev/tcp/x.x.x.x/80
Portanto, adicionei uma regra de encaminhamento de porta para encaminhar todo o tráfego recebido na porta 22 para x.x.x.x: 80.
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp --dport 22 -j DNAT --to-destination x.x.x.x:80
Ainda conexão recusada. Mesmo com essa conexão recusada, vi duas transações
tcpdump -i any port 2123
IP <dockerNWip>.37042 > <host>.2123: Flags [S], seq 1289990254, win 29200, options [mss 1460,sackOK,TS val 437161 ecr 0,nop,wscale 7], length 0
IP <dockerNWip>.37042 > <host>.2123: Flags [S], seq 1289990254, win 29200, options [mss 1460,sackOK,TS val 437161 ecr 0,nop,wscale 7], length 0
IP <host>.2123 > <dockerNWip>.37042: Flags [R.], seq 0, ack 1289990255, win 0, length 0
IP <host>.2123 > <dockerNWip>.37042: Flags [R.], seq 0, ack 1, win 0, length 0
Não sei onde está o problema. Minha pergunta
1) Do i need to bind x.x.x.x and port 80? I thought the rule would do that.
2) Do i need anything else besides the publishing the ports?
3) Is my way to tcpdumping the port correct to monitor the traffic?
Minha estratégia / suposição era que a porta do host de ligação 80 com a porta do contêiner 2123 deveria rotear automaticamente o tráfego.