我有一个监听127.0.0.1:8000的守护程序。
我需要访问它,当我连接到我的盒子与VPN。
所以我希望它也听ppp0接口。
我试过“ssh -L”方法。 它的工作原理,但我不认为这是正确的方式来做到这一点,有一个额外的SSH进程在后台运行。
我尝试了“netcat”方法。 它会在连接closures时退出。 所以不是“听”的有效方法。
我也尝试了几个iptables规则。 他们都没有工作。
我在这里没有列出我使用的所有规则。
iptables -A FORWARD -j ACCEPT iptables -t nat -A PREROUTING -i ppp+ -p tcp --dport 8000 -j DNAT --to-destination 127.0.0.1:8000
上述规则集不起作用。
我有net.ipv4.ip_forward设置为1。
任何人都知道如何redirectstream量从PPP接口到LO?
说,听“192.168.45.1:8000(ppp0)”以及“127.0.0.1:8000(lo)”
没有必要改变港口。
感谢名单
= – =更新:
在漫游箱上,当我使用
nc 192.168.45.1 8000
没有输出,不pipe我input什么。
但是,当在一个SSH会话,这两个
nc 127.0.0.1 8000 nc 192.168.45.1 8000
如果我input一些随机文本,它会发出错误信息。
这是否意味着我需要额外的规则将输出redirect回漫游箱?
我快速浏览一下你的iptables规则,我的第一个想法是,他们看起来不错。 你确定,它已经不能工作 – 但只能从外国的主机。 如果您尝试从服务器本身连接到它,它将无法正常工作。 在这种情况下,您还需要将nat规则添加到nat OUTPUT链中:
-t nat -A OUTPUT -p tcp -dst 192.168.45.1 --dport 8000 -j DNAT --to-destination 127.0.0.1:8000
(这是必要的,因为你的本地数据包不会经过PREROUTING链 – 至less在我的系统上,它们不会)。
我会先尝试,但也许还有一个额外的问题。 (也许不仅有tcp数据包,而且udp?)
顺便说一句,也许你可以configuration你的守护进程来监听两个接口。