samba使用指定端口
背景
公司因为感染病毒,所以直接把共享文件的端口给封了!!!然后造成写代码特别特别不方便,这几天用ftp想吐,跟公司相关人员理论了半天,居然还跟我说用git同步更好,难道都不用调试就上传吗?然后说用私人分支,那不停的add,commit,push,pull难道不比ftp更难用???气死!!!
服务器端设置(linux)
编辑conf修改默认端口号
sudo vim /etc/samba/smb.conf
在[global]段添加或修改
[global]
smb ports = 4450 1390 # 想要指定的端口号,原本为445 139
重启samba服务
sudo service smb restart
可以顺便查看一下监听的端口号是否变为指定的
sudo netstat -anp |grep 445
客户端设置(windows)
准备工作
由于我不知道公司封了哪些端口,也不知道另外指定的端口是否也被封了,因此要进行测试,是否能够连通。
C:\>telnet 服务器IP 服务器指定Port
如果连不通,就会提示
如果能连通,就会黑屏
设置NAT端口转发
既然windows不让你改SMB的访问端口,那你就只能让他访问固定端口(445)的时候转发到你想要的其他端口上去呗。操作如下:(管理员身份运行cmd命令提示符)
C:\>netsh interface portproxy show all
C:\>netsh interface portproxy add v4tov4 listenport=445 listenaddress=127.0.0.1 connectport=samba服务器地址 connectaddress=samba端口
C:\>netsh interface portproxy show all
访问服务器
重启windows,我设置完了没有重启就没有生效,所以万能重启。
打开文件管理器,输入\127.0.0.1,然后就会和正常你曾经访问的服务器一样弹出登录的账号密码验证了,打完收工!
记得此处不是真实的服务器ip哦,否则就会继续走服务器的445端口了!
实际访问路径是走到127.0.0.1:445然后端口就直接转发到目标ip:目标port,这样才能达到最终目的。