【问题标题】:redirect traffic with iptables to local port使用 iptables 将流量重定向到本地端口
【发布时间】:2018-11-19 11:52:45
【问题描述】:

我有一台机器 IP1 将数据包发送到 IP2 的端口 54321。我想在这些数据包离开机器 IP1 并转到 IP2 之前将此请求重定向到 IP1 的端口 8080。这意味着我需要过滤传出流量。

我尝试了相关问题的答案,但这无济于事:

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

阅读 DNAT 和 REDIRECT 的定义仍然让我感到困惑,什么应该在这里工作。

【问题讨论】:

    标签: redirect iptables nat


    【解决方案1】:

    编辑:

    iptables -t nat -A OUTPUT -p tcp --dport 54321 -j DNAT --to-destination 127.0.0.1:8080
    

    【讨论】:

    • 根据此链接 PREROUTING 适用于传入流量,不适用于传出流量。我有结果
    • 但是如果你将源 ip 更改为 127.0.0.1 你发送重写所有包从 127.0.0.1:54321 到 127.0.0.1:8080
    • 这不起作用:(我在 IP1 机器上的 8080 端口上有 mitmproxy,并希望在将这些数据包发送到另一台机器 IP2 之前将它们转发给他。当我执行书面命令时,不会打印任何数据包使用 mitmproxy。
    • 试试这个:iptables -t nat -A OUTPUT -p tcp --dport 54321 -j DNAT --to-destination 127.0.0.1:8080
    • 我已经更新了大答案文本,每个人都可以第一眼找到代码。
    猜你喜欢
    • 1970-01-01
    • 2014-04-23
    • 1970-01-01
    • 2016-07-22
    • 1970-01-01
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 2015-08-07
    相关资源
    最近更新 更多