Windows和Virtualbox端口號映射失敗怎么辦?
在Virtualbox虛擬機中運行Ubuntu系統時,有時候需要通過端口映射來實現主機pc端和虛擬機內部鏡像通信,端口和虛擬機內部的服務相對應。在Virtualbox啟動階段會映射這些端口,然而在Windows中部分機器卻出現端口映射失敗的情況,那么,Windows和Virtualbox端口號映射失敗該怎么辦呢?
端口映射失敗日志如下:
00:00:01.125577 NAT: set redirect UDP host 0.0.0.0:6000 =》 guest 10.0.2.15:6000
00:00:01.125748 NAT: can‘t create datagram socket
00:00:01.125763 NAT: failed to redirect UDP 0.0.0.0:6000 =》 10.0.2.15:6000
00:00:01.125774 NAT: set redirect TCP host 0.0.0.0:6555 =》 guest 10.0.2.15:5555
00:00:01.125897 NAT: failed to redirect TCP 0.0.0.0:6555 =》 10.0.2.15:5555
分析:
1.此處的端口號映射沒有占用Windows官方分配的端口號,所有不存在端口號被Windows服務占用導致無效映射的問題
2.通過netstat -ano查看所有正在使用端口,未發現映射的端口號被占用
3.上述兩點都排除了,那就排查Windows系統本身環境的問題,通過驗證發現,可以通過修復工具修復此問題。即是由于Windows本身環境導致的。
具體修復:Repair Winsock & DNS Cache
功能說明如下:
This will clear the stored DNS cache in Windows. When the DNS becomes corrupt you will not be able to get to some sites. Flushing and rebuilding the DNS will fix that problem.
Also resets winsock entries & resets TCP/IP stack.
These extra commands are run on Windows vista and newer.
執行完如下幾條命令然后重啟,即可修復端口號映射失敗問題,此述不僅僅限于Virtualbox要使用的端口映射,其他任何軟件使用到端口映射且失敗時可以考慮用如下幾條命令修復:
netsh winsock reset all
netsh int 6to4 reset all
netsh int ipv4 reset all
netsh int ipv6 reset all
netsh int httpstunnel reset all
netsh int isatap reset all
netsh int portproxy reset all
netsh int tcp reset all
netsh int teredo reset all
如上這些命令來源于Windows修復工具中其中一項
如果有其他Windows問題可以嘗試用此工具鏡像修復。
相關文章:
1. Win10怎么刪除系統自帶輸入法的記憶?系統輸入法清除記憶步驟2. 怎么使用命令提示符重裝Win10系統?使用命令提示符重裝Win10系統的方法3. Win10系統提示停止響應怎么解決?Win10系統提示停止響應解決方法4. Win11電腦耳機有滋滋的雜音怎么辦?Win11電腦有滋滋的雜音解決辦法5. 消息稱微軟將在未來幾周內推送 Win11 22H2“Moment 2”更新6. Win10必應搜索不了怎么辦?Win10系統bing搜索不了的解決方法7. freebsd 服務器 ARP綁定腳本8. Win11關機一直重啟怎么辦?Win11關機不斷重啟解決方法9. Win11找不到回收站怎么辦?Win11顯示回收站的方法10. Win10點擊開始菜單沒有反應怎么辦?Win10點擊開始菜單沒有反應的解決方法
