centos – 如何使用iptables将localhost流量转发到远程主机?

前端之家收集整理的这篇文章主要介绍了centos – 如何使用iptables将localhost流量转发到远程主机?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想设置我的CentOS 6.5框以将连接到localhost(127.0.0.1)转发到远程机器上的同一端口(例如10.0.3.10).

我已经尝试过下面的iptables规则,但是当我尝试连接时,它只是挂起:

iptables -t nat -I OUTPUT --src 0/0 --dst 127.0.0.1 -p tcp --dport 8888 \
    -j DNAT --to-destination=10.0.3.10:8888

在远程计算机上运行tcpdump,我可以看到没有传入流量.我做了一些谷歌搜索,但没有发现任何特别有用的东西.我还确认我的sysctl.conf文件包含net.ipv4.ip_forward = 1.

编辑我已添加日志记录以响应以下评论之一.当我转到127.0.0.1:8888时它不产生输出但是在转到10.0.3.10时产生输出

# Generated by iptables-save v1.4.7 on Tue Jul 29 12:52:17 2014
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [11:1008]
:OUTPUT ACCEPT [11:1008]
:LOGGING - [0:0]
-A OUTPUT -p tcp -m tcp -d 10.0.3.10 --dport 8888 -j LOGGING
-A LOGGING -j LOG --log-prefix "IPTABLES: "
-A LOGGING -j ACCEPT
-A OUTPUT -d 127.0.0.1/32 -p tcp -m tcp --dport 8888 -j DNAT --to-destination 10.0.3.10:8
888
COMMIT
# Completed on Tue Jul 29 12:52:17 2014
# Generated by iptables-save v1.4.7 on Tue Jul 29 12:52:17 2014
*filter
:INPUT ACCEPT [50:2776]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [49:4336]
COMMIT
# Completed on Tue Jul 29 12:52:17 2014
我不知道如何在这台机器上配置iptables来做你想做的事.我通常在这种情况下使用SSH隧道.我觉得设置很容易(个人意见在这里!);-)但是……你需要在你的localhost上建立一个SSH连接(它不需要从远程访问!).

这种情况下的命令语法是:

ssh -f -C -N -L [<bind address>:]<local port>:<remote host name>:<remote service port> [-p <ssh port>] [<username>@]<remote host outside name>

所以对你来说这意味着:

ssh -f -C -N -L 127.0.0.1:8888:10.0.3.10:8888 localhost

猜你在找的CentOS相关文章