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

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

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

  1. iptables -t nat -I OUTPUT --src 0/0 --dst 127.0.0.1 -p tcp --dport 8888 \
  2. -j DNAT --to-destination=10.0.3.10:8888@H_403_4@
  3. 在远程计算机上运行tcpdump,我可以看到没有传入流量.我做了一些谷歌搜索,但没有发现任何特别有用的东西.我还确认我的sysctl.conf文件包含net.ipv4.ip_forward = 1.

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

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

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

  1. ssh -f -C -N -L [<bind address>:]<local port>:<remote host name>:<remote service port> [-p <ssh port>] [<username>@]<remote host outside name>@H_403_4@
  2. 所以对你来说这意味着:

  3. ssh -f -C -N -L 127.0.0.1:8888:10.0.3.10:8888 localhost@H_403_4@

猜你在找的CentOS相关文章