SunOS 4.1.4 가상 머신에 대한 간헐적인 연결

SunOS 4.1.4 가상 머신에 대한 간헐적인 연결

나는 QEMU(당시에는...)에서 SunOS 4.1.4를 실행하고 있으며 tap호스트 시스템의 장치를 통해 네트워킹하고 있습니다. 이렇게 가상 머신을 시작합니다 ...

qemu-system-sparc \
    -rtc base=utc \
    -drive file=sunos-root.img,format=raw,bus=0,unit=0 \
    -drive file=sunos-home.img,format=raw,bus=0,unit=1 \
    -drive file=sunos-gnu.img,format=raw,bus=0,unit=2 \
    -nic tap,br=virbr0,helper=/usr/libexec/qemu-bridge-helper \
    -nographic

...간헐적으로 작동하는 것처럼 보이는 네트워크를 제외하고는 모든 것이 잘 실행되고 있습니다.

SunOS가 시작되면 무엇보다도 .telnet 서버와 rshell 서버를 통해 실행됩니다 inetd. Tap 인터페이스는 브리지 virbr0( 192.1681.22.1)에 연결되고 SunOS 가상 머신은 다음과 같이 할당됩니다 192.168.122.103.

bash-3.2# ifconfig le0
le0: flags=63<UP,BROADCAST,NOTRAILERS,RUNNING>
        inet 192.168.122.103 netmask ffffff00 broadcast 192.168.122.255
        ether 52:54:0:12:34:56

운이 좋으면 호스트에서 간단히 다운로드할 수 있고 telnet 192.168.122.103작동할 것입니다. rsh다른 경우에는 그렇지 않으며 그 이유를 이해하지 못합니다. 이것을 루프로 실행하면 ...

while ! rsh -l root 192.168.122.103 /bin/true; do
  sleep 1
done

... 그럴 것이다마지막으로일하다.

아웃바운드 트래픽~에서가상 머신은 항상 작동합니다(예: 호스트에서 배너를 안정적으로 telnet 192.168.122.1 22얻을 수 있습니다 SSH-2.0-OpenSSH...). tcpdump가상 머신에 텔넷을 연결할 수 없을 때 Tap 인터페이스에서 실행하면 다음이 표시됩니다.

18:39:07.584861 IP 192.168.122.1.40270 > 192.168.122.103.telnet: Flags [S], seq 2038492576, win 64240, options [mss 1460,sackOK,TS val 2376785260 ecr 0,nop,wscale 7], length 0
18:39:07.585177 IP 192.168.122.103.telnet > 192.168.122.1.40270: Flags [S.], seq 2034944001, ack 2038492577, win 4096, options [mss 1460], length 0
18:39:07.585205 IP 192.168.122.1.40270 > 192.168.122.103.telnet: Flags [.], ack 1, win 64240, length 0
18:39:07.585279 IP 192.168.122.1.40270 > 192.168.122.103.telnet: Flags [P.], seq 1:28, ack 1, win 64240, length 27 [telnet DO SUPPRESS GO AHEAD, WILL TERMINAL TYPE, WILL NAWS, WILL TSPEED, W
ILL LFLOW, WILL LINEMODE, WILL NEW-ENVIRON, DO STATUS, WILL XDISPLOC [|telnet]
18:39:07.773325 IP 192.168.122.103.telnet > 192.168.122.1.40270: Flags [.], ack 28, win 4069, length 0
18:39:10.323018 IP 192.168.122.1.40270 > 192.168.122.103.telnet: Flags [P.], seq 28:30, ack 1, win 64240, length 2
18:39:10.373287 IP 192.168.122.103.telnet > 192.168.122.1.40270: Flags [.], ack 30, win 4067, length 0
18:39:11.401927 IP 192.168.122.1.40270 > 192.168.122.103.telnet: Flags [P.], seq 30:32, ack 1, win 64240, length 2
18:39:11.573256 IP 192.168.122.103.telnet > 192.168.122.1.40270: Flags [.], ack 32, win 4065, length 0
18:39:12.672424 IP 192.168.122.1.40270 > 192.168.122.103.telnet: Flags [P.], seq 32:34, ack 1, win 64240, length 2
18:39:12.773266 IP 192.168.122.103.telnet > 192.168.122.1.40270: Flags [.], ack 34, win 4063, length 0

보시다시피 트래픽이 앞뒤로 오가는 것 같지만 여전히 작동하지 않습니다. 작동할 때의 모습은 다음과 같습니다.

18:41:38.435167 IP 192.168.122.1.40282 > 192.168.122.103.telnet: Flags [S], seq 404147648, win 64240, options [mss 1460,sackOK,TS val 2376936111 ecr 0,nop,wscale 7], length 0
18:41:38.435489 IP 192.168.122.103.telnet > 192.168.122.1.40282: Flags [S.], seq 2054336001, ack 404147649, win 4096, options [mss 1460], length 0
18:41:38.435525 IP 192.168.122.1.40282 > 192.168.122.103.telnet: Flags [.], ack 1, win 64240, length 0
18:41:38.435585 IP 192.168.122.1.40282 > 192.168.122.103.telnet: Flags [P.], seq 1:28, ack 1, win 64240, length 27 [telnet DO SUPPRESS GO AHEAD, WILL TERMINAL TYPE, WILL NAWS, WILL TSPEED, W
ILL LFLOW, WILL LINEMODE, WILL NEW-ENVIRON, DO STATUS, WILL XDISPLOC [|telnet]
18:41:38.459878 IP 192.168.122.103.telnet > 192.168.122.1.40282: Flags [P.], seq 1:4, ack 28, win 4069, length 3 [telnet DO TERMINAL TYPE [|telnet]
18:41:38.459971 IP 192.168.122.1.40282 > 192.168.122.103.telnet: Flags [.], ack 4, win 64237, length 0
18:41:38.460564 IP 192.168.122.103.telnet > 192.168.122.1.40282: Flags [P.], seq 4:34, ack 28, win 4096, length 30 [telnet WILL SUPPRESS GO AHEAD, DONT NAWS, DONT TSPEED, DONT LFLOW, DONT LI
NEMODE, DONT NEW-ENVIRON, WONT STATUS, DONT XDISPLOC, SB TERMINAL TYPE SEND SE [|telnet]

보시다시피 이번에는 Telnet 프로토콜 교환이 성공적으로 완료되었습니다.

이것은 방화벽 문제가 아닙니다( 제한 없이 -j ACCEPT체인 상단에 규칙을 추가했는데 이 트래픽이 체인에 도달하지 않습니다 ).INPUTOUTPUTFORWARD

어쩌면 QEMU 랜스 이더넷 드라이버에 뭔가 문제가 있는 것일까요?

관련 정보