Quote:
Originally Posted by peterhocking
Hi
I'm new to Ubuntu & recently installed 8.10. On my home network, I have a SME-Server which acts as the DHCP & DNS server for the network gateway for my home network. After the installation of Ubuntu, I could ping the PC running Ubuntu by machine name from my Windows boxes on the same network & it would be resolved to an IP address.
Since I installed the Samba tools to using Synaptic Package Manager & used the SMB4A tool & Samba tool under System Administration to change the workgroup name, I can no longer ping the Ubuntu PC by name & have the name resolved to an IP address & it is not visible in My Networks places.
Can anyone help me resolve this issue?
TIA
Peter
|
I hope this isn't too late to be helpful. The simple answer to your question is this. Computers in a different workgroup won't appear in each other's browse list (My Network Places, etc.).
Name resolution SHOULD work. That is done by "nmbd" on the Linux machine. If the name can't be resolved then check to see that "nmbd" is running. Also, the correct host name must be specified to Linux or you must include a line in the "smb.conf" file "[global]" section.
netbios name = computername
Name resolution normally uses broadcasts on UDP port 137. Make sure that both computers are in the same IP subnetwork and on the same LAN, and that port 137 is not blocked by firewall software.
===== READ BELOW IF YOU WANT TO KNOW MORE ABOUT HOW IT WORKS =====
There are three main parts to SAMBA and Microsoft Networking.
- Network Browser (My Network Places)
- Computer name to IP resolution (name service)
- Server Message Block (shared folders and printers)
The first two parts are not absolutely required but it is more convenient when they work.
The Network Browser maintains a list of computers in the same workgroup that are seen on the network. Computers announce themselves on the network using broadcasts to UDP port 138 (NetBios Datagram) and the computers "elect" some computers to maintain the list. Those computers are called "browsers". There is a "master browser" and one "browser" for every 30 computers. Computers that are not browsers request the list from the "browser" computers. The list of computers is only a convenience. One can type in the computer name or IP address or use a shortcut to access the computer even if the computer does not appear in the browse list. It can take up to 15 minutes or more for new computers to show up in the browse list. The browse list doesn't work across multiple Ethernet LANs or multiple IP subnetworks. All the computers must be in the same LAN, IP subnetwork and workgroup.
Computer name to IP resolution is what allows computer names to be used instead of IP addresses. The SMB protocol actually uses IP addresses for communication so you can use an IP address instead of a name. Computer names can be resolved in a number of different ways and Windows tries all of the available methods until a name is resolved.
- NetBIOS Name Service (broadcast to UDP port 137)
- Domain Name Service (DNS)
- Windows Internet Name Service (WINS)
- The "hosts" file
- The "LMHOSTS" file
Most small networks use NetBIOS Name Service broadcasts to resolve computer names. When a computer needs to resolve the name of another computer it broadcasts a request on UDP port 137. The target computer sees its name and replies directly to the sender with its IP address. On Linux that is done by "nmbd". NetBIOS Name Resolution only works within the same Ethernet LAN and IP subnetwork. Computers in different subnetworks can't resolve each other's names using NetBIOS.
Domain Name Service can be used to resolve computer names to IP addresses. That requires a DNS server on the LAN, since computer's on a LAN can't register their names with an Internet provider's DNS server.
Windows Internet Name Service requires a computer running a WINS server. SAMBA supports that and so does Windows Server. WINS maintains a list of names. Client computers have to be configured with the address of the WINS servers. WINS can be configured to use NetBIOS Name Service to query unknown names and respond to NetBIOS Name Service queries from computers. That's call WINS proxy.
In cases where none of the first three methods will work the computer names and IP addresses can be configured in the "hosts" or "LMHOSTS" files.
LMHOSTS actually does more than just provide names and IP addresses of computers. It can be used to configure other network browsers and information to expand the NetBIOS name service and network browser functionality. When you have computers in different IP subnetworks you may be able to solve some problems with LMHOSTS.
The third and most important part is SMB (Server Message Block) protocol. There are two standard ports used for SMB.
- NetBIOS Session (TCP port 139)
- SMB Session (TCP port 445)
Windows normally establishes a connection on TCP port 139, and then tries to establish a second connection on TCP port 445. If the connection to port 445 is successful then Windows closes the port 139 connection. Port 445 is the preferred port to use. The "NetBIOS Session" port requires that the computers are in the same IP subnetwork on the same Ethernet LAN. Port 445 does not use NetBIOS and will work across IP subnetworks or between Ethernet LANs. NetBIOS is not restricted to using TCP protocol and can also work over IPX/SPX protocol.
SMB is used to list the shares on other computers establish a login session and transfer files. It is the only thing required to access shared folders and printers if you identify computers using their IP address and type the IP address into a file path or shortcut.
Since you are having problems with "ping" resolving the name of the computer on Windows I suspect that "nmbd" might not be working on the Linux machine, or it might not be configured for the correct computer name.
I sometimes use a network packet capture program like WireShark to see the communication between computers. If you can't determine the cause of the problem you might want to do that.