盡破 Windows Samba Port:不靠 VPN 也能存取網路上的芳鄰?!
自從 Windows 98 SE 開始,網路的芳鄰 (Samba) 便可以透過 TCP/IP 協定進行連線與溝通,既然是 TCP/IP 那就表示這項服務是可以動用的。很久前在 Internet 上是可以直接對遠端電腦進行網路芳鄰連線,但自從 Nimda Virus(大名鼎鼎的那坦病毒)盛行之後,許多路由器就開始拒絕對 TCP 139/445 的支援,那時候開始也不能透過 Internet 使用網路上的芳鄰服務。
那時候為了克服這個問題,透過修改 Window Registry 來更換網路的芳鄰預設使用的 TCP 139/445 Port,然後使用 Linux iptables 來對應 File Server (Linux-base) ,確實就可以順利使用網路的芳鄰了(其實用 VPN 比較安全)。
Step 1:分享一下修改 Windows Samba Port 的機碼,把 SessionPort 與 DatagramPort 改成你要的 Port(使用16進制)即可,範例如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Smb]
“SessionPort”=dword:0000CCDD
“DatagramPort”=dword:0000CCDD
Step 2:Linux iptables 設定方法如下:
iptables -t nat -A PREROUTING -p rcp –dport 139 -s $CLIENT_IP -j DNAT –to-destination $SERVER_IP:139
iptables -t nat -A PREROUTING -p rcp –dport 445 -s $CLIENT_IP -j DNAT –to-destination $SERVER_IP:445