本帖最后由 hawk 于 2018-5-16 12:03 编辑
已解决, 谢谢各位的帮忙!
现在发现其实一开始ssh tunnels设置已经是正确的:Remote port forward,
只是iptables没有设置对, 只有在A上通过127.0.0.1:8080上网, 走了很多弯路.....
解决方法如下:
C(Windows):
本地监听10.10.128.32:8080, 用于转发数据
putty ->ssh/Tunnels
Add new forwarded port, Source port: 30010, Destination: 10.10.128.32:8080, Remote, Auto, 点击Add, 并保存到session.
B(Windows): 只做转发, 可以忽略它
C(Ubuntu):
- iptables -t nat -A OUTPUT -p tcp --dport 8080 -j DNAT --to 127.0.0.1:8080 #转发来自本机的数据
- iptables -t nat -A PREROUTING -p tcp -d 192.168.99.63 --dport 8080 -j DNAT --to 127.0.0.1:8080 #转发来自非本机的数据
复制代码
在C上使用putty登陆, 然后在A或者可直接访问A的机器上设置通过192.168.99.63:8080上网即可.
-------------------------------------------------
更正不清楚的描述
-------------------------------------------------
各位大佬好,
小弟有3台电脑
A(Ubuntu) - 192.168.99.63
B(Windows) - 192.168.100.128
C(Windows) - 10.10.128.32
其中, AB在内网可相互访问但无外网访问, C在可以访问外网, C可以通过访问B的指定端口, AB不能主动访问C.
我已经在B设置好端口转发(192.168.100.128:14922 -> 192.168.99.63:22), C可以通过ssh/putty访问到A(ssh 192.168.100.128 -p 14922),
但是现在A/B还是不能访问外网, 自己尝试了一些方法但都无果(Putty SSH tunnel, Remote), 所以来请教大佬有方法可以让A/B访问外网?
先谢谢了... |