From docker network to localhost port with snat iptable The 2019 Stack Overflow Developer Survey Results Are Iniptables port forwardingIptables stringHow to configure port-forwarding to enable internal service accessed by another machine?iptables - Redirect except list MAC AddressConfig differents external proxy to every VM with iptablesiptables port forwarding to server with different portRewrite source of incoming packets to 127.0.0.1 with iptablesCan't access docker bind port from public IPRedirect works from external network, but not internal(dnat|redirect) with masquerade doesn't work

Why doesn't shell automatically fix "useless use of cat"?

Why are there uneven bright areas in this photo of black hole?

Keeping a retro style to sci-fi spaceships?

Is it safe to harvest rainwater that fell on solar panels?

What is preventing me from simply constructing a hash that's lower than the current target?

How can I have a shield and a way of attacking with a ranged weapon at the same time?

Did Scotland spend $250,000 for the slogan "Welcome to Scotland"?

Can a flute soloist sit?

What can I do if neighbor is blocking my solar panels intentionally

Will it cause any balance problems to have PCs level up and gain the benefits of a long rest mid-fight?

"as much details as you can remember"

Is it ok to offer lower paid work as a trial period before negotiating for a full-time job?

How to quickly solve partial fractions equation?

Can you cast a spell on someone in the Ethereal Plane, if you are on the Material Plane and have the True Seeing spell active?

Is bread bad for ducks?

A female thief is not sold to make restitution -- so what happens instead?

How to type this arrow in math mode?

How to charge AirPods to keep battery healthy?

How do you keep chess fun when your opponent constantly beats you?

Dropping list elements from nested list after evaluation

Accepted by European university, rejected by all American ones I applied to? Possible reasons?

Geography at the pixel level

Short story: man watches girlfriend's spaceship entering a 'black hole' (?) forever

Short story: child made less intelligent and less attractive



From docker network to localhost port with snat iptable



The 2019 Stack Overflow Developer Survey Results Are Iniptables port forwardingIptables stringHow to configure port-forwarding to enable internal service accessed by another machine?iptables - Redirect except list MAC AddressConfig differents external proxy to every VM with iptablesiptables port forwarding to server with different portRewrite source of incoming packets to 127.0.0.1 with iptablesCan't access docker bind port from public IPRedirect works from external network, but not internal(dnat|redirect) with masquerade doesn't work



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I created a docker network with follow code:



docker network create --subnet=172.18.0.0/16 dockernet


After run a my docker container with:



 docker run -d --net=dockernet --ip 172.18.1.1 --name mycontainer mycontainer


Now my container run with 172.18.1.1 ip inside dockernet network, and with ifconfig I see that my host ip is 172.18.0.1.



After i run these commands:



sysctl -w net.ipv4.conf.dockernet.route_localnet=1
iptables -t nat -A PREROUTING -i dockernet -d 172.18.0.1 -p tcp --
dport 3306 -j DNAT --to-destination 127.0.0.1:3306
iptables -t nat -A POSTROUTING -s 172.18.0.0/16 -o lo -p tcp --dport 3306 -j SNAT --to-source 127.0.0.1


Now my container is avaiable to connect to localhost port 3306(mysql), but mysql see that source ip is "172.18.1.1" and not "127.0.0.1"... This means that "-j SNAT --to-source 127.0.0.1" doesn't work...



How can I do to replace source ip "172.18.1.1" with 127.0.0.1 into loopback interface?



P.S. I DON'T WANT USE "docker run --net=host..." AND I DON'T WANT ADD THE FOLLOW USER INTO MYSQL:



CREATE USER 'dockeruser'@'172.18.1.1' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON `mydb`.* TO 'dockeruser'@'172.18.1.1'
FLUSH PRIVILEGES









share|improve this question









New contributor




Davide is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • POSTROUTING should be named POSTROUTING-OUTGOING, because it normally doesn't catch the packets that go through INPUT and are consumed locally.

    – kubanczyk
    Apr 7 at 23:04

















0















I created a docker network with follow code:



docker network create --subnet=172.18.0.0/16 dockernet


After run a my docker container with:



 docker run -d --net=dockernet --ip 172.18.1.1 --name mycontainer mycontainer


Now my container run with 172.18.1.1 ip inside dockernet network, and with ifconfig I see that my host ip is 172.18.0.1.



After i run these commands:



sysctl -w net.ipv4.conf.dockernet.route_localnet=1
iptables -t nat -A PREROUTING -i dockernet -d 172.18.0.1 -p tcp --
dport 3306 -j DNAT --to-destination 127.0.0.1:3306
iptables -t nat -A POSTROUTING -s 172.18.0.0/16 -o lo -p tcp --dport 3306 -j SNAT --to-source 127.0.0.1


Now my container is avaiable to connect to localhost port 3306(mysql), but mysql see that source ip is "172.18.1.1" and not "127.0.0.1"... This means that "-j SNAT --to-source 127.0.0.1" doesn't work...



How can I do to replace source ip "172.18.1.1" with 127.0.0.1 into loopback interface?



P.S. I DON'T WANT USE "docker run --net=host..." AND I DON'T WANT ADD THE FOLLOW USER INTO MYSQL:



CREATE USER 'dockeruser'@'172.18.1.1' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON `mydb`.* TO 'dockeruser'@'172.18.1.1'
FLUSH PRIVILEGES









share|improve this question









New contributor




Davide is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • POSTROUTING should be named POSTROUTING-OUTGOING, because it normally doesn't catch the packets that go through INPUT and are consumed locally.

    – kubanczyk
    Apr 7 at 23:04













0












0








0








I created a docker network with follow code:



docker network create --subnet=172.18.0.0/16 dockernet


After run a my docker container with:



 docker run -d --net=dockernet --ip 172.18.1.1 --name mycontainer mycontainer


Now my container run with 172.18.1.1 ip inside dockernet network, and with ifconfig I see that my host ip is 172.18.0.1.



After i run these commands:



sysctl -w net.ipv4.conf.dockernet.route_localnet=1
iptables -t nat -A PREROUTING -i dockernet -d 172.18.0.1 -p tcp --
dport 3306 -j DNAT --to-destination 127.0.0.1:3306
iptables -t nat -A POSTROUTING -s 172.18.0.0/16 -o lo -p tcp --dport 3306 -j SNAT --to-source 127.0.0.1


Now my container is avaiable to connect to localhost port 3306(mysql), but mysql see that source ip is "172.18.1.1" and not "127.0.0.1"... This means that "-j SNAT --to-source 127.0.0.1" doesn't work...



How can I do to replace source ip "172.18.1.1" with 127.0.0.1 into loopback interface?



P.S. I DON'T WANT USE "docker run --net=host..." AND I DON'T WANT ADD THE FOLLOW USER INTO MYSQL:



CREATE USER 'dockeruser'@'172.18.1.1' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON `mydb`.* TO 'dockeruser'@'172.18.1.1'
FLUSH PRIVILEGES









share|improve this question









New contributor




Davide is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












I created a docker network with follow code:



docker network create --subnet=172.18.0.0/16 dockernet


After run a my docker container with:



 docker run -d --net=dockernet --ip 172.18.1.1 --name mycontainer mycontainer


Now my container run with 172.18.1.1 ip inside dockernet network, and with ifconfig I see that my host ip is 172.18.0.1.



After i run these commands:



sysctl -w net.ipv4.conf.dockernet.route_localnet=1
iptables -t nat -A PREROUTING -i dockernet -d 172.18.0.1 -p tcp --
dport 3306 -j DNAT --to-destination 127.0.0.1:3306
iptables -t nat -A POSTROUTING -s 172.18.0.0/16 -o lo -p tcp --dport 3306 -j SNAT --to-source 127.0.0.1


Now my container is avaiable to connect to localhost port 3306(mysql), but mysql see that source ip is "172.18.1.1" and not "127.0.0.1"... This means that "-j SNAT --to-source 127.0.0.1" doesn't work...



How can I do to replace source ip "172.18.1.1" with 127.0.0.1 into loopback interface?



P.S. I DON'T WANT USE "docker run --net=host..." AND I DON'T WANT ADD THE FOLLOW USER INTO MYSQL:



CREATE USER 'dockeruser'@'172.18.1.1' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON `mydb`.* TO 'dockeruser'@'172.18.1.1'
FLUSH PRIVILEGES






mysql iptables docker






share|improve this question









New contributor




Davide is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Davide is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited Apr 7 at 22:15









Davide

31




31






New contributor




Davide is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked Apr 7 at 14:57









DavideDavide

11




11




New contributor




Davide is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Davide is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Davide is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












  • POSTROUTING should be named POSTROUTING-OUTGOING, because it normally doesn't catch the packets that go through INPUT and are consumed locally.

    – kubanczyk
    Apr 7 at 23:04

















  • POSTROUTING should be named POSTROUTING-OUTGOING, because it normally doesn't catch the packets that go through INPUT and are consumed locally.

    – kubanczyk
    Apr 7 at 23:04
















POSTROUTING should be named POSTROUTING-OUTGOING, because it normally doesn't catch the packets that go through INPUT and are consumed locally.

– kubanczyk
Apr 7 at 23:04





POSTROUTING should be named POSTROUTING-OUTGOING, because it normally doesn't catch the packets that go through INPUT and are consumed locally.

– kubanczyk
Apr 7 at 23:04










0






active

oldest

votes












Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "2"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);






Davide is a new contributor. Be nice, and check out our Code of Conduct.









draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f961907%2ffrom-docker-network-to-localhost-port-with-snat-iptable%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes








Davide is a new contributor. Be nice, and check out our Code of Conduct.









draft saved

draft discarded


















Davide is a new contributor. Be nice, and check out our Code of Conduct.












Davide is a new contributor. Be nice, and check out our Code of Conduct.











Davide is a new contributor. Be nice, and check out our Code of Conduct.














Thanks for contributing an answer to Server Fault!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f961907%2ffrom-docker-network-to-localhost-port-with-snat-iptable%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company