Debian iptables将所有请求重定向到localhost

Debian iptables将所有请求重定向到localhost,debian,iptables,hosts,Debian,Iptables,Hosts,我想将对特定ip的所有请求重定向到localhost 127.0.0.1。我需要它,因为我有一个服务器的本地副本,并且想测试一些东西 如何编写iptables规则来实现这一点 谢谢您的意思是我希望从机器A向机器B发出的所有请求都被重定向到机器A吗?如果是这样的话,我相信你正在寻找的命令是 sudo iptalbes -t nat -A PREROUTING -d <DESTINATION_IP> -p <PROTOCOL> --dport <DESTINATION_

我想将对特定ip的所有请求重定向到localhost 127.0.0.1。我需要它,因为我有一个服务器的本地副本,并且想测试一些东西

如何编写iptables规则来实现这一点


谢谢

您的意思是我希望从机器A向机器B发出的所有请求都被重定向到机器A吗?如果是这样的话,我相信你正在寻找的命令是

sudo iptalbes -t nat -A PREROUTING -d <DESTINATION_IP> -p <PROTOCOL> --dport <DESTINATION_PORT_NUMBER> -j DNAT --to 127.0.0.1
引用手册页:此目标仅在预路由链中的mangle表中有效 以及仅从该链调用的用户定义链。它叫雷迪- 将数据包直接发送到本地套接字,而不更改数据包头
无论如何。

我知道这是一条非常古老的线索。。。但仍然没有答案。所需的主要更改是附加输出规则,而不是预路由规则

从手册页:

nat:
    This table is consulted when a packet that creates a new connection is encountered.  It consists of three built-ins: PREROUTING (for altering packets as soon as they come in), OUTPUT (for altering locally-generated packets  before  routing),  and  POSTROUTING  (for altering packets as they are about to go out).
因此,这可能是所需的命令:

iptables -t nat -A OUTPUT -p tcp --src <SOURCE PORT TO BE REDIRECTED> --dst 127.0.0.1 --dport 9090 -j REDIRECT --to-ports 9090

很抱歉我的错。您还需要启用IP转发。echo 1>/proc/sys/net/ipv4/ip\u forwardOK。那我就不知道了!很抱歉
iptables -t nat -A OUTPUT -p tcp --src <SOURCE PORT TO BE REDIRECTED> --dst 127.0.0.1 --dport 9090 -j REDIRECT --to-ports 9090