首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将网络数据包从主机转发到QEMU映像

将网络数据包从主机转发到QEMU映像
EN

Unix & Linux用户
提问于 2021-02-01 09:59:08
回答 1查看 841关注 0票数 0

我有一个本地建立的Yocto图像,我运行在QEMU内。我需要将一个端口从主机转发到QEMU映像中的localhost。我使用的TAP连接将192.168.7.1分配给主机,192.168.7.2分配给QEMU映像。

我在主机上启动了一台服务器,QEMU映像可以成功地将其用于wget。在QEMU图像中,它的一个例子是:-

我想在QEMU映像中运行的应用程序与127.0.0.1对话,而不是192.168.7.15000端口上。如何将外部IP (192.168.7.1)中的此端口(5000)隧道到本地主机?一张我想要的小图:

PS注:

以下是我尝试过的:

iptables

代码语言:javascript
复制
iptables -t nat -A PREROUTING -p tcp --dport 5000 -i eth0 -j DNAT --to-destination   127.0.0.1:5000
iptables -t nat -A POSTROUTING -p tcp --sport 5001 -o eth0 -j SNAT --to-source 192.168.7.1:5001 

ssh-tunneling

代码语言:javascript
复制
ssh -f -N osboxes@192.168.7.1 -L 5000:localhost:5001

(这里osboxes是主机的主机名)

任何帮助都将不胜感激。非常感谢!

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2021-03-10 13:09:32

这个问题的作者。解决这个问题的方法是使用滑块连接。使用像xinetdiptablessshd这样的网络工具显示自己在工作--但在我的情况下却并非如此。在彻底地检查了每一种配置之后,我看到我的工作变得更难了,我从一个水龙头连接中引入了一个新的NIC。

如果要用模拟的OS的本地主机进行联网,那么使用slirp网络标志就容易多了。为我工作的QEMU旗子是:

代码语言:javascript
复制
-netdev user,id=net0,hostfwd=tcp::5000-:5000,hostfwd=tcp::5001-:5001
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/632031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档