![如何使用 ssh 和 slirp 从有限跳转服务器访问互联网?](https://linux22.com/image/185663/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20ssh%20%E5%92%8C%20slirp%20%E4%BB%8E%E6%9C%89%E9%99%90%E8%B7%B3%E8%BD%AC%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%AE%BF%E9%97%AE%E4%BA%92%E8%81%94%E7%BD%91%EF%BC%9F.png)
抱歉,我可能是错的,但我对 QEMU 的一些印象是 SLIRP 能够同时执行 ppp 服务器和 NAT 特技。
情况是,我所在的网络环境非常有限,但我工作的单位提供了一个可以访问互联网的“跳转服务器”。
该跳转服务器上的 sshd_config 禁止隧道,因此“ssh -D”socks 服务器技巧不会起作用。
目前,我已经启动了 ssh 连接,并让本地计算机上的 pppd 使用 ssh 分配的 pty 执行 PPP 任务:
sudo pppd nodetach noproxyarp noauth pty \
"ssh -t jump_server /path/to/slirp -P " \
netmask 255.255.255.0 connect-delay 5000
然后,我添加一条路由规则来测试连接:
sudo ip route add <some_telnet_server> dev ppp0
telnet some_telnet_server
但是,telnet 失败。断开连接后,SLIRP 日志显示收到了一些数据包,但几乎没有传输数据包。所以我猜这是一个配置问题?
然而,我正在努力了解如何配置 SLIRP 来对我的连接进行 NAT。 (看来QEMU对slirp的修改很大?)
有没有用于此目的的备忘单?我搜索并阅读了几篇文章[1][2][3],但没有一篇提到NAT/路由配置的细节。
[1]https://jdimpson.livejournal.com/3330.html