![호스트에서 QEMU 이미지로 네트워크 패킷 전달](https://linux55.com/image/187323/%ED%98%B8%EC%8A%A4%ED%8A%B8%EC%97%90%EC%84%9C%20QEMU%20%EC%9D%B4%EB%AF%B8%EC%A7%80%EB%A1%9C%20%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%20%ED%8C%A8%ED%82%B7%20%EC%A0%84%EB%8B%AC.png)
QEMU에서 실행되는 로컬로 구축된 Yocto 이미지가 있습니다. 호스트에서 localhost
QEMU 이미지 내부로 단일 포트를 전달해야 합니다. TAP를 사용하여 192.168.7.1
호스트 192.168.7.2
와 QEMU 이미지 에 대한 연결을 할당합니다 .
QEMU 이미지가 성공적으로 시작된 호스트에서 서버를 시작했습니다 wget
. QEMU 이미지의 예:-
QEMU 이미지에서 실행하려는 애플리케이션이 127.0.0.1
해당 포트 192.168.7.1
에서 통신 하지 않습니다 5000
. 5000
외부 IP( )의 포트()를 로컬 호스트로 터널링하는 방법은 무엇입니까 192.168.7.1
? 내가 원하는 썸네일:-
메모:
내가 시도한 것은 다음과 같습니다.
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
SSH 터널
ssh -f -N [email protected] -L 5000:localhost:5001
( osboxes
호스트의 호스트 이름은 다음과 같습니다)
어떤 도움이라도 대단히 감사하겠습니다. 매우 감사합니다!
답변1
질문의 작성자는 여기에 있습니다. 대답은 사용하는 것입니다슬라이딩 연결. xinetd
, , 등과 iptables
같은 웹 도구를 사용하면 sshd
작동하는 것으로 나타났습니다. 하지만 제 경우에는 작동하지 않았습니다. 모든 구성을 철저히 확인한 후 탭 연결을 통해 새 네트워크 카드를 도입하면 작업이 더 어려워진다는 사실을 발견했습니다.
운영 체제를 에뮬레이트하는 로컬 호스트를 사용하여 네트워킹을 수행하려면 slirp 네트워크 플래그를 사용하는 것이 더 쉽습니다. 나에게 도움이 된 QEMU 플래그는 다음과 같습니다.
-netdev user,id=net0,hostfwd=tcp::5000-:5000,hostfwd=tcp::5001-:5001