호스트에서 QEMU 이미지로 네트워크 패킷 전달

호스트에서 QEMU 이미지로 네트워크 패킷 전달

QEMU에서 실행되는 로컬로 구축된 Yocto 이미지가 있습니다. 호스트에서 localhostQEMU 이미지 내부로 단일 포트를 전달해야 합니다. TAP를 사용하여 192.168.7.1호스트 192.168.7.2와 QEMU 이미지 에 대한 연결을 할당합니다 .

QEMU 이미지가 성공적으로 시작된 호스트에서 서버를 시작했습니다 wget. QEMU 이미지의 예:- QEMU 미러 wget 스냅샷

QEMU 이미지에서 실행하려는 애플리케이션이 127.0.0.1해당 포트 192.168.7.1에서 통신 하지 않습니다 5000. 5000외부 IP( )의 포트()를 로컬 호스트로 터널링하는 방법은 무엇입니까 192.168.7.1? 내가 원하는 썸네일:- iptables

메모:

내가 시도한 것은 다음과 같습니다.

iptables

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 

iptables

SSH 터널

ssh -f -N [email protected] -L 5000:localhost:5001

( osboxes호스트의 호스트 이름은 다음과 같습니다) SSH 터널

어떤 도움이라도 대단히 감사하겠습니다. 매우 감사합니다!

답변1

질문의 작성자는 여기에 있습니다. 대답은 사용하는 것입니다슬라이딩 연결. xinetd, , 등과 iptables같은 웹 도구를 사용하면 sshd작동하는 것으로 나타났습니다. 하지만 제 경우에는 작동하지 않았습니다. 모든 구성을 철저히 확인한 후 탭 연결을 통해 새 네트워크 카드를 도입하면 작업이 더 어려워진다는 사실을 발견했습니다.

운영 체제를 에뮬레이트하는 로컬 호스트를 사용하여 네트워킹을 수행하려면 slirp 네트워크 플래그를 사용하는 것이 더 쉽습니다. 나에게 도움이 된 QEMU 플래그는 다음과 같습니다.

-netdev user,id=net0,hostfwd=tcp::5000-:5000,hostfwd=tcp::5001-:5001

관련 정보