iptables 重定向本地连接

发布于 2024-09-15 23:13:57 字数 267 浏览 10 评论 0原文

我曾经将

iptables -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 8085

所有 http 请求重定向到端口 8085 上的 jboss 服务器。如果数据包来自外部,这可以正常工作。 如果我尝试从同一台机器打开它则不起作用。 Telnet 给出连接被拒绝。

如何重定向本地连接?

在 centos 上工作,内核 2.6.18 x64

I used

iptables -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 8085

to redirect all http requests to jboss server on port 8085. This works fine if packets come from outside.
If I try to open from the same machine it doesnt work. Telnet gives connection refused.

How do I redirect local connections?

Working on centos, kernel 2.6.18 x64

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

疑心病 2024-09-22 23:13:57

本地生成的数据包不会进入 eth0。
你必须这样做:

iptables -t nat -A OUTPUT --src 0/0 --dst 127.0.0.1. -p tcp --dport 80 -j REDIRECT --to-ports 8085

并且

To redirect locally generated packets, you must have the kernel option CONFIG_IP_NF_NAT_LOCAL set to Y

来自: http://wiki.debian.org/Firewalls-本地端口重定向

local generated packets does not income on eth0.
you have to do this:

iptables -t nat -A OUTPUT --src 0/0 --dst 127.0.0.1. -p tcp --dport 80 -j REDIRECT --to-ports 8085

and

To redirect locally generated packets, you must have the kernel option CONFIG_IP_NF_NAT_LOCAL set to Y

from: http://wiki.debian.org/Firewalls-local-port-redirection

私藏温柔 2024-09-22 23:13:57

另外,为了允许转发,只需运行命令

sysctl -w net.ipv4.ip_forward=1

Also to allow forward just run the command

sysctl -w net.ipv4.ip_forward=1
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文