Port 80 mixed up among clients using DNAT
I'm trying to set up a network like this:
...but I'm facing an issue.
Here's the point:
If I try to reach (e.g.) mywebsite1.com from external it works like a charm and it's shown my wonderful website but whenever I try to run (e.g.) apt-get update from inside the Virtual Server 2 it throws an error like "Failed to connect to xxx-whatever-website.com port 80: connection refused".
The problem is solved if I delete the prerouting rule on the main server firewall but, of course, then I'm not more able to connect to mywebsite1.com from external. Same story if I change the Virtual Server default gateway to 192.168.1.1.
I naively tried to add a static route on the main server (something like ip route add 192.168.1.1 via 192.168.1.32) but, of course, it didn't work. Should I try to mark the packets in some way or something, in order to recognize the source client?
routing virtualization nat netfilter dmz
add a comment |
I'm trying to set up a network like this:
...but I'm facing an issue.
Here's the point:
If I try to reach (e.g.) mywebsite1.com from external it works like a charm and it's shown my wonderful website but whenever I try to run (e.g.) apt-get update from inside the Virtual Server 2 it throws an error like "Failed to connect to xxx-whatever-website.com port 80: connection refused".
The problem is solved if I delete the prerouting rule on the main server firewall but, of course, then I'm not more able to connect to mywebsite1.com from external. Same story if I change the Virtual Server default gateway to 192.168.1.1.
I naively tried to add a static route on the main server (something like ip route add 192.168.1.1 via 192.168.1.32) but, of course, it didn't work. Should I try to mark the packets in some way or something, in order to recognize the source client?
routing virtualization nat netfilter dmz
add a comment |
I'm trying to set up a network like this:
...but I'm facing an issue.
Here's the point:
If I try to reach (e.g.) mywebsite1.com from external it works like a charm and it's shown my wonderful website but whenever I try to run (e.g.) apt-get update from inside the Virtual Server 2 it throws an error like "Failed to connect to xxx-whatever-website.com port 80: connection refused".
The problem is solved if I delete the prerouting rule on the main server firewall but, of course, then I'm not more able to connect to mywebsite1.com from external. Same story if I change the Virtual Server default gateway to 192.168.1.1.
I naively tried to add a static route on the main server (something like ip route add 192.168.1.1 via 192.168.1.32) but, of course, it didn't work. Should I try to mark the packets in some way or something, in order to recognize the source client?
routing virtualization nat netfilter dmz
I'm trying to set up a network like this:
...but I'm facing an issue.
Here's the point:
If I try to reach (e.g.) mywebsite1.com from external it works like a charm and it's shown my wonderful website but whenever I try to run (e.g.) apt-get update from inside the Virtual Server 2 it throws an error like "Failed to connect to xxx-whatever-website.com port 80: connection refused".
The problem is solved if I delete the prerouting rule on the main server firewall but, of course, then I'm not more able to connect to mywebsite1.com from external. Same story if I change the Virtual Server default gateway to 192.168.1.1.
I naively tried to add a static route on the main server (something like ip route add 192.168.1.1 via 192.168.1.32) but, of course, it didn't work. Should I try to mark the packets in some way or something, in order to recognize the source client?
routing virtualization nat netfilter dmz
routing virtualization nat netfilter dmz
asked Nov 12 '18 at 19:18
KaMZaTaKaMZaTa
4151616
4151616
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Since I omitted the original destination target in my DNAT rule, it hit all original destination targets. So, I needed to add -d 192.168.1.30
to it.
-A PREROUTING -p tcp -m tcp -i vmbr0 -d 192.168.1.30 --dport 80 -j DNAT --to-destination 192.168.1.32:80
Now it works.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53268714%2fport-80-mixed-up-among-clients-using-dnat%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Since I omitted the original destination target in my DNAT rule, it hit all original destination targets. So, I needed to add -d 192.168.1.30
to it.
-A PREROUTING -p tcp -m tcp -i vmbr0 -d 192.168.1.30 --dport 80 -j DNAT --to-destination 192.168.1.32:80
Now it works.
add a comment |
Since I omitted the original destination target in my DNAT rule, it hit all original destination targets. So, I needed to add -d 192.168.1.30
to it.
-A PREROUTING -p tcp -m tcp -i vmbr0 -d 192.168.1.30 --dport 80 -j DNAT --to-destination 192.168.1.32:80
Now it works.
add a comment |
Since I omitted the original destination target in my DNAT rule, it hit all original destination targets. So, I needed to add -d 192.168.1.30
to it.
-A PREROUTING -p tcp -m tcp -i vmbr0 -d 192.168.1.30 --dport 80 -j DNAT --to-destination 192.168.1.32:80
Now it works.
Since I omitted the original destination target in my DNAT rule, it hit all original destination targets. So, I needed to add -d 192.168.1.30
to it.
-A PREROUTING -p tcp -m tcp -i vmbr0 -d 192.168.1.30 --dport 80 -j DNAT --to-destination 192.168.1.32:80
Now it works.
answered Nov 14 '18 at 18:19
KaMZaTaKaMZaTa
4151616
4151616
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- 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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53268714%2fport-80-mixed-up-among-clients-using-dnat%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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