VirtualBox NAT 설정에 비정상적인 문제가 발생했습니다. Unix SE 포럼을 검색했지만 유사한 문제가 보고된 것을 찾을 수 없습니다. 찾아보니 2009년 작품이고 기업 소속사 관련 내용이더군요.
세부 사항:
- VirtualBox 5.1.0을 실행하는 Windows 7 호스트
- 다중 게스트 운영 체제 - Ubuntu, Fedora, CentOS(모두 새로 설치)
- 홈 네트워크, 경계 방화벽 없음
- NAT 사용(인텔 PRO/1000 MT 데스크탑 어댑터)
- 게스트로부터 외부 FQDDN을 ping할 수 있습니다. 이는 DNS와 Ping이 작동 중임을 의미합니다.
문제: 웹사이트를 탐색할 수 없습니다.
얼마 전 브리징 관련 문제를 해결하기 위해 "VBoxManage modvm" 설정을 시도했습니다. 나는 뭔가를 엉망으로 만들어 새로운 문제를 일으키는 것 같아요.
VirtualBox를 다시 설치해 보았지만 이전 설정이 어딘가에 저장된 것 같고 설정을 삭제하거나 VBox 설정을 기본값으로 "재설정"할 수 없습니다.
문제 해결 완료:
어댑터를 PCnet Fast3으로 변경해 보세요. IP, DNS를 변경해 보세요.
IP: 192.168.10.15 기본 게이트웨이: 192.168.10.2 DNS: 192.168.10.3
tcpdump 캡처:
Yahoo.com을 핑할 때(응답 수신):
root@localhost anish]# tcpdump -i enp0s3
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), capture size 65535 bytes
19:28:20.650985 IP 192.168.10.15.45804 > 192.168.10.3.domain: 1534+ A? yahoo.com. (27)
19:28:20.653043 IP 192.168.10.15.35280 > 192.168.10.3.domain: 47054+ PTR? 3.10.168.192.in-addr.arpa. (43)
19:28:20.661250 IP 192.168.10.3.domain > 192.168.10.15.45804: 1534 3/0/0 A 98.138.253.109, A 98.139.183.24, A 206.190.36.45 (75)
19:28:20.661833 IP 192.168.10.15 > ir1.fp.vip.ne1.yahoo.com: ICMP echo request, id 3431, seq 1, length 64
19:28:20.942937 IP ir1.fp.vip.ne1.yahoo.com > 192.168.10.15: ICMP echo reply, id 3431, seq 1, length 64
Firefox를 통해 탐색을 시도하는 경우(게이트웨이에서 Net Unreachable ICMP를 보냄):
19:29:31.562448 IP 192.168.10.15.38893 > 192.168.10.3.domain: 32749+ A? www.google.com. (32)
19:29:31.562562 IP 192.168.10.15.38893 > 192.168.10.3.domain: 48885+ AAAA? www.google.com. (32)
19:29:31.670159 IP 192.168.10.15.52571 > 192.168.10.3.domain: 60173+ A? www.google.com. (32)
19:29:31.670261 IP 192.168.10.15.52571 > 192.168.10.3.domain: 14907+ AAAA? www.google.com. (32)
19:29:35.937594 IP 192.168.10.3.domain > 192.168.10.15.55703: 53252 NXDomain 0/0/0 (43)
19:29:35.937995 IP 192.168.10.3.domain > 192.168.10.15.38893: 32749 1/0/0 A 216.58.196.196 (48)
19:29:35.938025 IP 192.168.10.3.domain > 192.168.10.15.38893: 48885 NotImp 0/0/0 (32)
19:29:35.938371 IP 192.168.10.3.domain > 192.168.10.15.52571: 60173 1/0/0 A 216.58.196.196 (48)
19:29:35.938408 IP 192.168.10.3.domain > 192.168.10.15.52571: 14907 NotImp 0/0/0 (32)
19:29:35.938865 IP 192.168.10.15.33663 > 192.168.10.3.domain: 46127+ PTR? 15.10.168.192.in-addr.arpa. (44)
19:29:35.940003 IP 192.168.10.15.46468 > kul06s14-in-f4.1e100.net.http: Flags [S], seq 4014962253, win 14600, options [mss 1460,sackOK,TS val 1649927 ecr 0,nop,wscale 7], length 0
19:29:35.941228 IP 192.168.10.2 > 192.168.10.15: ICMP net kul06s14-in-f4.1e100.net unreachable, length 36
19:29:35.941377 IP 192.168.10.15.46469 > kul06s14-in-f4.1e100.net.http: Flags [S], seq 613107971, win 14600, options [mss 1460,sackOK,TS val 1649928 ecr 0,nop,wscale 7], length 0
19:29:35.941857 IP 192.168.10.15.46470 > kul06s14-in-f4.1e100.net.http: Flags [S], seq 717756838, win 14600, options [mss 1460,sackOK,TS val 1649929 ecr 0,nop,wscale 7], length 0
19:29:35.942613 IP 192.168.10.2 > 192.168.10.15: ICMP net kul06s14-in-f4.1e100.net unreachable, length 36
누구든지 이 문제를 해결하도록 안내해 줄 수 있나요? 또는 VBox를 "기본 설정" 상태로 설정하는 방법이 있습니까?
게스트 VM에서 실제 작업을 수행하는 대신 지난 며칠 동안 VBox 관련 문제만 해결했기 때문에 어떤 도움이라도 크게 감사하겠습니다.
답변1
마침내 이 문제를 해결할 수 있었습니다. 실제로 이것은 제가 더 많은 것을 알아내기 전까지는 임시 수정일 뿐입니다.
VBox 설정과 VM 설정은 괜찮은 것 같습니다. 문제의 원인은 Windows 호스트 네트워크 구성입니다.
자세히 확인한 결과 ICMP 및 DNS 확인을 받고 있음에도 불구하고 TCP 트래픽이 여전히 작동하지 않는 것으로 나타났습니다.
나는 그것을 시도하여 찾았습니다:
root@KaliOrc:~# telnet google.com 80
Trying 216.58.199.174...
telnet: Unable to connect to remote host: Network is unreachable
그런 다음 Windows 호스트에서 다음을 수행했습니다.
netsh winsock reset
이것은 분명히 문제를 해결했습니다! 모든 것이 제대로 작동하는지 탐색하고 테스트할 수 있었습니다.
root@KaliOrc:~# telnet google.com 80
Trying 216.58.199.174...
Connected to google.com.
Escape character is '^]'.
이제 호스트를 재부팅할 때마다 VM이 탐색할 수 있도록 Winsock을 재설정해야 합니다.
영구적인 해결책을 찾을 수 있으므로 누군가가 근본 원인에 대해 밝힐 수 있다면 좋을 것입니다.
위의 "수정"이 작동하지 않는 유사한 문제가 발생하는 경우 많은 정보가 포함된 VBox의 다음 티켓을 확인하세요.
답변2
내 시스템에서는 VirtualBox의 "강화"로 인해 이 문제가 발생했습니다. Sophos는 virtualbox가 지원하지 않는 Winsock 스택에 DLL을 삽입합니다.
netsh winsock reset
- 임시 수정입니다.
그러나 영구적인 수정을 위해 DLL(정품)이 이제 virtualbox에서 유효한 것으로 인식되도록 컴퓨터의 루트 인증서 목록을 업데이트해야 했습니다.
답변3
이것은 아마도 나와 비슷한 문제에 대한 결정적인 단서를 준 최초이자 유일한 포럼 질문일 것입니다.
내 경우에는 Winsock Reset 명령도 작동합니다. Vagrant로 실행되는 VirtualBox 우분투 이미지가 있지만 ssh가 작동하지 않습니다. 추가 조사를 통해 게스트가 호스트 네트워크에 전혀 액세스할 수 없다는 사실을 발견했습니다. 2가지 수정 사항이 도움이 되었습니다.
config.vm.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
Vagrant 파일에 추가하면(이 옵션은 VBoxManage를 사용하여 설정할 수도 있음) 핑만 작동합니다(google.com, security.ubuntu.com).netsh winsock reset
, 이로 인해 다른 모든 작업이 작동하게 됩니다. 현재 DLL의 "강화"와 관련된 가능한 문제를 확인하기 위해 로그를 연구하고 있습니다.