redirect traffic with iptables to local port
I have a machine IP1 that sends packets to port 54321 of IP2. I want to redirect this requests to a port 8080 of IP1 before these packets leave machine IP1 and go to IP2. This means I need to filter outcoming traffic.
I tried answers from related questions but this does not help:
iptables -t nat -A OUTPUT -p tcp -d IP1 --dport 54321 -j REDIRECT --to-ports 8080
iptables -t nat -A OUTPUT -p tcp --dport 54321 -j DNAT --to-destination 127.0.0.1:8080
Reading definitions of DNAT and REDIRECT still leave me confused what should work here.
redirect iptables nat
add a comment |
I have a machine IP1 that sends packets to port 54321 of IP2. I want to redirect this requests to a port 8080 of IP1 before these packets leave machine IP1 and go to IP2. This means I need to filter outcoming traffic.
I tried answers from related questions but this does not help:
iptables -t nat -A OUTPUT -p tcp -d IP1 --dport 54321 -j REDIRECT --to-ports 8080
iptables -t nat -A OUTPUT -p tcp --dport 54321 -j DNAT --to-destination 127.0.0.1:8080
Reading definitions of DNAT and REDIRECT still leave me confused what should work here.
redirect iptables nat
add a comment |
I have a machine IP1 that sends packets to port 54321 of IP2. I want to redirect this requests to a port 8080 of IP1 before these packets leave machine IP1 and go to IP2. This means I need to filter outcoming traffic.
I tried answers from related questions but this does not help:
iptables -t nat -A OUTPUT -p tcp -d IP1 --dport 54321 -j REDIRECT --to-ports 8080
iptables -t nat -A OUTPUT -p tcp --dport 54321 -j DNAT --to-destination 127.0.0.1:8080
Reading definitions of DNAT and REDIRECT still leave me confused what should work here.
redirect iptables nat
I have a machine IP1 that sends packets to port 54321 of IP2. I want to redirect this requests to a port 8080 of IP1 before these packets leave machine IP1 and go to IP2. This means I need to filter outcoming traffic.
I tried answers from related questions but this does not help:
iptables -t nat -A OUTPUT -p tcp -d IP1 --dport 54321 -j REDIRECT --to-ports 8080
iptables -t nat -A OUTPUT -p tcp --dport 54321 -j DNAT --to-destination 127.0.0.1:8080
Reading definitions of DNAT and REDIRECT still leave me confused what should work here.
redirect iptables nat
redirect iptables nat
edited Nov 19 '18 at 12:09
asked Nov 19 '18 at 11:52
Anastasiya Ruzhanskaya
136118
136118
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Edit:
iptables -t nat -A OUTPUT -p tcp --dport 54321 -j DNAT --to-destination 127.0.0.1:8080
According to this link PREROUTING works for incoming, not for outcoming traffic. And I have outcoming
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:04
But if you change the source ip to 127.0.0.1 you send rewrite all packages from 127.0.0.1:54321 to 127.0.0.1:8080
– Spirit
Nov 19 '18 at 12:09
This does not work:( I have mitmproxy on port 8080 on IP1 machine and want to forward him these packets before they are sent to another machine IP2. When I do the written command , no packets are printed with mitmproxy.
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:18
1
Try this:iptables -t nat -A OUTPUT -p tcp --dport 54321 -j DNAT --to-destination 127.0.0.1:8080
– Spirit
Nov 19 '18 at 12:23
Seems that worked finally:) Thanks
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:33
|
show 1 more 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%2f53374082%2fredirect-traffic-with-iptables-to-local-port%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
Edit:
iptables -t nat -A OUTPUT -p tcp --dport 54321 -j DNAT --to-destination 127.0.0.1:8080
According to this link PREROUTING works for incoming, not for outcoming traffic. And I have outcoming
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:04
But if you change the source ip to 127.0.0.1 you send rewrite all packages from 127.0.0.1:54321 to 127.0.0.1:8080
– Spirit
Nov 19 '18 at 12:09
This does not work:( I have mitmproxy on port 8080 on IP1 machine and want to forward him these packets before they are sent to another machine IP2. When I do the written command , no packets are printed with mitmproxy.
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:18
1
Try this:iptables -t nat -A OUTPUT -p tcp --dport 54321 -j DNAT --to-destination 127.0.0.1:8080
– Spirit
Nov 19 '18 at 12:23
Seems that worked finally:) Thanks
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:33
|
show 1 more comment
Edit:
iptables -t nat -A OUTPUT -p tcp --dport 54321 -j DNAT --to-destination 127.0.0.1:8080
According to this link PREROUTING works for incoming, not for outcoming traffic. And I have outcoming
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:04
But if you change the source ip to 127.0.0.1 you send rewrite all packages from 127.0.0.1:54321 to 127.0.0.1:8080
– Spirit
Nov 19 '18 at 12:09
This does not work:( I have mitmproxy on port 8080 on IP1 machine and want to forward him these packets before they are sent to another machine IP2. When I do the written command , no packets are printed with mitmproxy.
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:18
1
Try this:iptables -t nat -A OUTPUT -p tcp --dport 54321 -j DNAT --to-destination 127.0.0.1:8080
– Spirit
Nov 19 '18 at 12:23
Seems that worked finally:) Thanks
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:33
|
show 1 more comment
Edit:
iptables -t nat -A OUTPUT -p tcp --dport 54321 -j DNAT --to-destination 127.0.0.1:8080
Edit:
iptables -t nat -A OUTPUT -p tcp --dport 54321 -j DNAT --to-destination 127.0.0.1:8080
edited Nov 19 '18 at 12:23
answered Nov 19 '18 at 12:00
Spirit
797
797
According to this link PREROUTING works for incoming, not for outcoming traffic. And I have outcoming
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:04
But if you change the source ip to 127.0.0.1 you send rewrite all packages from 127.0.0.1:54321 to 127.0.0.1:8080
– Spirit
Nov 19 '18 at 12:09
This does not work:( I have mitmproxy on port 8080 on IP1 machine and want to forward him these packets before they are sent to another machine IP2. When I do the written command , no packets are printed with mitmproxy.
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:18
1
Try this:iptables -t nat -A OUTPUT -p tcp --dport 54321 -j DNAT --to-destination 127.0.0.1:8080
– Spirit
Nov 19 '18 at 12:23
Seems that worked finally:) Thanks
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:33
|
show 1 more comment
According to this link PREROUTING works for incoming, not for outcoming traffic. And I have outcoming
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:04
But if you change the source ip to 127.0.0.1 you send rewrite all packages from 127.0.0.1:54321 to 127.0.0.1:8080
– Spirit
Nov 19 '18 at 12:09
This does not work:( I have mitmproxy on port 8080 on IP1 machine and want to forward him these packets before they are sent to another machine IP2. When I do the written command , no packets are printed with mitmproxy.
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:18
1
Try this:iptables -t nat -A OUTPUT -p tcp --dport 54321 -j DNAT --to-destination 127.0.0.1:8080
– Spirit
Nov 19 '18 at 12:23
Seems that worked finally:) Thanks
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:33
According to this link PREROUTING works for incoming, not for outcoming traffic. And I have outcoming
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:04
According to this link PREROUTING works for incoming, not for outcoming traffic. And I have outcoming
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:04
But if you change the source ip to 127.0.0.1 you send rewrite all packages from 127.0.0.1:54321 to 127.0.0.1:8080
– Spirit
Nov 19 '18 at 12:09
But if you change the source ip to 127.0.0.1 you send rewrite all packages from 127.0.0.1:54321 to 127.0.0.1:8080
– Spirit
Nov 19 '18 at 12:09
This does not work:( I have mitmproxy on port 8080 on IP1 machine and want to forward him these packets before they are sent to another machine IP2. When I do the written command , no packets are printed with mitmproxy.
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:18
This does not work:( I have mitmproxy on port 8080 on IP1 machine and want to forward him these packets before they are sent to another machine IP2. When I do the written command , no packets are printed with mitmproxy.
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:18
1
1
Try this:
iptables -t nat -A OUTPUT -p tcp --dport 54321 -j DNAT --to-destination 127.0.0.1:8080
– Spirit
Nov 19 '18 at 12:23
Try this:
iptables -t nat -A OUTPUT -p tcp --dport 54321 -j DNAT --to-destination 127.0.0.1:8080
– Spirit
Nov 19 '18 at 12:23
Seems that worked finally:) Thanks
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:33
Seems that worked finally:) Thanks
– Anastasiya Ruzhanskaya
Nov 19 '18 at 12:33
|
show 1 more 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.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- 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%2f53374082%2fredirect-traffic-with-iptables-to-local-port%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