Samba can share files over internet

Samba 太强大了,我没想到它可以在公网上共享文件和文件夹,如同在局域网内一样。

如果给 samba server 一个公网 ip,就可以在 internet 上凭着 \\ip 就访问共享文件和文件夹。有点可怕,因为我原先认为 samba 会区别对待局域网内和局域网外用户,不经过一些特别的设置,samba server 不会让 internet 用户用 \\ip 访问共享文件和文件夹。事实不是这样,至少目前 samba 3.2.8 版不是。

同理,如果把 WD Mybook World 建为 dmz,它的 public folder 就暴露给所有 internet users 了。

所以得特别当心,如果想给 samba server internet visible,就不得设置 windows 局域网内共享常见的 guest 无密码访问。

让浏览主控服务器从幕后走到台前

可以用nbtstat -a (computer name or ip address) 命令查看该计算机是否浏览主控服务器。如果是,则会出现“..__MSBROWSE_.”字样。

浏览主控服务器不一定非是选举产生,是可以指定的。

只要在希望成为浏览主控服务器的电脑上打开注册表,在[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Browser/Parameters]一项中把IsDomainMaster的值改为“True”即可。这样,这台电脑就会成为一个浏览主控服务器。这台电脑启动时,如果网络中已经有了浏览主控服务器,那么它会发起一个新的选举,在这个选举中它常常会赢得选举。当然,如果其它电脑也做了同样的设置,那么它们之间的竞争就要按正常的选举规则了。

另:如不想让某台电脑永远不成为浏览主控服务器,可以在注册表中的[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Browser/Parameters]一项中把MaintainServerList的值改为“NO”,即可,这样这台电脑将不会成为浏览列表提供者,同时该电脑的Computer Browser服务也将无法启动,如强行启动会出现错误提示。

为什么局域网内某些电脑只能凭IP访问,不能凭名字访问

为什么同样在一个局域网内,某些电脑能在网上邻居里显示出来,某些电脑就显示不出来?在A电脑上能看到某台电脑,在B电脑上就看不到它?某台电脑能凭IP访问(\\192.168.x.x),却不能凭名字访问(\\pcname),但是凭IP访问过一次以后就可以凭名字访问了?

这些怪现象我已经碰到得多了,差不多见怪不怪了。今天让我偶然中发现其中的原因(防火墙因素除外):如果被访问电脑设为静态IP(是指手动配置被访问电脑网卡IP,非通过DHCP服务器MAC绑定得来的固定IP),而且访问电脑TCP/IP协议属性->高级->WINS->NetBIOS禁用的话,那就会出现上述现象。

802.11n果然不同凡响

我不是追新族。在802.11g还大行其道的今天,我本没有打算升级至802.11n。但因为需要在一幢大楼内组网,我想了好多方案,比如:

  • 用homeplug(怕途中电表太多干扰太大,觉得这个方案不好)
  • 用WDS,也就是wireless repeater(买了belkin的802.11g repeater,经常死机,换了一个也是如此,退货;linksys也有一款repeater,贵于belkin,但我对linksys的产品没信心,懒得买来再退了)
  • 用高增益天线(ebay HK有人卖得很便宜,贪便宜买来发现是烂货,教训啊,千万别上ebay买东西——其实我知道的,但就是禁不住便宜的诱惑,抱着反正几镑钱,就当扔水里也不太心疼的心理又去买了个教训)
  • 用高功率无线路由(恰好我有一台2Wire 2700HGV,但就算调到100mw效果也不理想)

802.11n的优越的传输性能我有耳闻,但百闻不如一见,我用买一个linksys repeater同样的价格买了一套Tenda 802.11n (draft 2)无线路由加USB无线网卡,两地用802.11n接通以后,效果出奇得好,已经完美解决我中长距离组网的需求。尽管走了很多弯路才落实这个方案,但我还是非常高兴。

而且,我发现Tenda的无线路由还带有WDS功能,这可是802.11n级别的WDS啊,比起单纯一个linksys repeater,仅是802.11g级的,要划算好多好多啊。