如何更改 window 445 端口

How to change the window 445 port

我的 host OS 是 window7;
我的 guest OS 是 centos7virtualbox;
上运行 我希望通过 samba 服务器;
window7 共享 centos7 的文件 samba服务器运行在centos7;

当 centos7 使用“桥接网络”或“仅主机网络”连接网络时;
假设centos7 IP为10.254.254.254;
我可以为 window7 配置网络驱动程序,如“\\10.254.254.254\www”,它是 working

现在,我只想为centos7使用“网络地址转换服务(实验)”;但是我还是想通过"samba server"分享centos7的window7文件;

我可以使用 NAT 配置端口转发,就像这样:

hostIP:port <= guestIP:port
0.0.0.0:80 <= 10.254.254.2:80  
127.0.0.2:22 <= 10.254.254.2:22  

现在我可以访问我的网站了:http://192.168.1.8 or http://127.0.0.2;
并连接 ssh 服务器:127.0.0.2:22 有效;

但是,如果我使用 NAT 配置 smb 端口转发,例如:

127.0.0.2:445 <= 10.254.254.2:445   (it not working)  
127.0.0.2:139 <= 10.254.254.2:139  (it working)  

我知道我不能为 "centos's" smb 服务器重新绑定 445 端口;

所以,我无法通过“\\127.0.0.2\www”共享文件; 然后,我google,有人说:"window smb server and client port is 445"; 现在我想:"can i change the window's port of 445 to anyother number,4450?5555?",如果可以的话,我可以用NAT配置smb端口转发,比如:

127.0.0.2:4450 <= 10.254.254.2:445  
127.0.0.2:1390 <= 10.254.254.2:139  

我试过了:

  1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NetBT\Parameters

    Value Name: SmbDeviceEnabled
    Type: REG_DWORD
    Value Data: 0
    

    然后重启window7,但是"netstat -p TCP -noba"还是显示:

    [svchost.exe] TCP    0.0.0.0:445  
    
  2. 尝试将端口更改为 5555,然后重新启动,但失败,端口仍然显示 445

    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Smb] "SessionPort"=dword:0000022b
    "DatagramPort"=dword:0000022b

有什么想法吗?
谢谢!

因为这个问题无法解决;
我现在使用以下解决方案:

1 从 nginx 源重新构建我的 nginx 服务,添加 webDAV mod;
2 通过nginx-webDAV 服务共享centos7 的文件;

为什么? 因为我发现:

当我用"host-only"和"NAT"作为centos时,它们都是局域网IP地址;

当访客 os 的 ip 设置如下: "host-only":

的界面
 IPDDR=10.254.254.254, and my host os don't sharing my WIFI for it,  
so it can't connect to WAN,   
becuase i only want it share me centos's files ; 

"NAT"的界面:

 ipddr=10.0.0.2,it can connect to WAN,  
for the other services,like:ssh/web/mysql, and so on; 

然后ssh/web/mysql不知道连接到哪个网关。

也许我可以写一些 "route" 来修复它,但这是一件很糟糕的事情;