나는 2개의 가상 머신 Debian 9.4를 가지고 있습니다. 하나는 VirtualBox를 통해 실행되고 다른 하나는 QEMU를 통해 작동합니다. 내 워크스테이션에 브리지를 다음과 같이 구성했습니다.
ip tuntap add dev tap0 mode tap group 1000
ip link set dev tap0 up promisc on
ip addr add 0.0.0.0 dev tap0
#Creating bridge br0
ip link add br0 type bridge
ip link set br0 up
ip link set tap0 master br0
echo "0" | tee --append /sys/class/net/br0/bridge/stp_state
ip addr add 192.168.2.1/24 dev br0
sysctl net.ipv4.conf.tap0.proxy_arp=1
sysctl net.ipv4.conf.enp6s0.proxy_arp=1
sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o enp6s0 -j MASQUERADE
iptables -A FORWARD -i br0 -o enp6s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i enp6s0 -o br0 -j ACCEPT
VirtualBox 네트워크 구성 패널에서 tap0을 브리지로 설정했습니다. VM은 웹에서 실행되고, 시스템을 업데이트하고, ssh에 대한 연결과 예상되는 평균 작업을 수신하고, 예를 들어 PB 없이 npm 패키지를 설치할 수 있습니다.npm install color
다음 명령을 사용하여 시작한 QEMU 가상 머신에 문제가 있습니다.
qemu-system-x86_64 -hda Debian9_amd64_stretch_fr.qcow2 -m 1024 -device e1000,netdev=network0,mac=52:55:00:d1:55:01 -netdev tap,id=network0,ifname=tap0,script=no,downscript=no
이 VM을 사용하면 온라인으로 접속하고, 시스템을 업데이트하고, VM에서 SSH 연결을 수신할 수 있지만 예상하는 평균 작업을 수행할 수 없으며 npm 패키지를 설치할 수 없습니다. 다음 오류 메시지가 나타납니다.
npm ERR! Invalid argument: family must be 4 or 6
제가 이전에 여러 번 겪어봤고 네트워크 문제가 있어서 npm에서 발생한 문제가 아니라는 사실을 알게 되었다는 사실을 알아야 합니다. 이 두 VM 소프트웨어를 비교하면 결과가 어디에 있는지 알 수 있습니다.
감사해요