Practical Networking
David Nguyen, Duy-Ky Nguyen, PhD
Part I : Network Implementation
This article may help to create a very simple network of several Linux and/or MS (MicroSoft) Windows PCs using NIC (Network Interface Card, Ethernet type)
In network literature, a host is a computer, like PC (IBM compatible), Mac, Sun, ... with different OS like MS, Mac, Linux, UNIX, ...
In this paper, we use Windows 2000 for MS host and SUSE 9 for Linux host
Network Configuration
The simplest network has only 2 hosts using a cross-over cable having transmit (TX) and receive (RX) connections at both end for the very same wire, and vice vers?. A regular cable has the same connections, either TX or RX, at both end for the same wir?
The limitation of this topology is its network has only 2 PCs onl?
A hub is used to support more than 2 PCs.
Every Windows PC has a name after installation. This name could be called NetBIOS name. NetBIOS (Network Basic Input Output System) is the 1st Windows network implementation for a small network called WORKGROUP. For a big network, and the biggest one is Internet, TCP/IP (Transmission Control Protocol / Internet Protocol) network implementation is employed using number call IP address. A name could be used instead of IP address. It`s call DNS name as DNS (Domain Name Service) will provide IP address upon request with DNS name. After NetBIOS, MS has also implemented TCP/IP and NetBIOS might be phased out soon ?
NetBIOS Network Configuration
NetBIOS name can be used for a PC to access another provided both have NetBIOS enable.To do so, similar for both Win2K and WinXP
Local Network Connection - Properties
Internet Protocol - Properties - Advance - WINS
PING command is well-known in checking if 2 hosts can access each other. Below is PING command is used with a NetBIOS name.
TCP/IP Network
NetBIOS configuration cannot be used in accessing Linux host. TCP/IP must be employed using IP address in the form of A.B.C.D where A, B, C and D are 8-bit numbers in the range of 0 ~ 255.
IP = Net_ID + Host_ID
2 hosts can access each other only if they have the same Net_ID; of course, each host has its own Host_ID. A net mask must be used to extract Net_ID from an IP address. For example, given IP address 192.168.0.11 and net mask 255.255.255.0, we have Net_ID is 192.168.0
Net_ID = IP & Net_Mask
Note that IP and net mask come as a pair, so they can be presented separately, like 192.168.0.11 and 255.255.255.0 or in combination, like 192.168.0.11/24 where 24 bits are the most significant bits in 32-bit (255.255.255.0).
In the ping capture above, even NetBIOS name was used in pinging, MS Windows automatically assigns an IP 169.254.39.24 called dynamic IP.
DHCP (Dynamic Host Configuration Protocol) is used to generate dynamic IP. In fact, it periodically releases network parameters (dynamic IP, net mask, default gateway, DNS, ...). These parameters will be renewed periodically on the basis to keep them the unchanged for a specific host. Unless, this host is idle and all other IP in the range have been released.
ipconfig /all
is the MS Win2K command used to get network parameters
Note
- the network parameters above are for host ndkw2k (Host name, NetBIOS name) used ping host tramhung. Both have network parameters automatically assigned by MS Win2K. Both have the same Net_ID 169.254 as Net Mask (Subnet Mask) 255.255.0.0
- If we wish to have communication between MS Win2K and Linux host, we have manually to set Linux network parameters based on MS Win2K as Linux does not automatically assigns these parameters in the IP range allocated for Microsoft. Due to manual assignment, this Linux host has static IP.
Also note that ifconfig is used on Linux instead of ipconfig (ip <-> if) like the capture below
and MS Win2K pings Linux
Router (Gateway)
Before a host starts a transmission, it check if source and destination IPs have the same Net_ID. Recall that every IP implies netmask to identify its network. In some network literature, the term subnet and subnet mask are used.
If the destination IP is not the same network, a router is used as a forwarder. That`s why, in case of more than 1 network, a default gateway must be specified.
Note that all hosts on the same net are connected together using a hub.
Working with DNS Name
For an isolated betwork where DNS server unavailable, for a communication between MS Windows and Linux, DNS Name must be specified in host file
- For MS windows: winnt/system32/drivers/etc/hosts
- For linux: /etc/hosts
Note: Using IP if there`s problem in communicating MS and Linux hosts using DNS name.
An example using Router
We have the following network ff there are 2 PC need to have Internet simultaneously.
- Each PC has a NIC (Network Interface Card)
- Router at one side connected to PCs (as a hub), the other side to modem (dialup or DSL). At this writing, a router is as cheap as $30
Note that it`s possible to have a unit including all router (and hub) and modem.
PART II : Sharing MS Resources
Network is used to share internet, files and printer among hosts.
Sharing Internet Using a MS host as a Router
It`s possible to use a MS host as a router so other PC can access Internet via this PC. The disadvantage is this PC must be on for other to access.
The modem could be an internal one.
To configure, click Local Area Connection - Propereties - Sharing. Then check box to enable.
It`s enough for sharing Internet. If interested other services like FTP, Mail, Telnet, then click Settings... to check box of interested.
Sharing files among MS hosts
Click Local Area Connection - Properties
Make sure there exist (1) Client for Microsoft Networks and (2) File and Printer Sharing for Microsoft Networks.
If not, click Install... and (1) select Client then Add... Client for >MS client (2) select Service then Add.. for File and Printer Sharing.
Note that after these options disappear from the lists (Client and Service) after activated.
Right click on a directory to be shared
and click on Sharing... and select Share this folder. It`s possible to permit only some users by clicking Permissions
A sharing directory will have a symbol of a hand like below
Accessing sharing files
If there exists a PC on the network with sharing directories, click My Network Places, and find all sharing directories, like below
Sharing Printer
Go to Control Panel - Printers and right click on a printer to be shared and select Sharing...
Click on Shared as
a sharing printer has a symbol of hand like below
then other PCs on the network can use this printer.
Part III : Sharing Linux Files
Note that this paper mentions only sharing files because it`s recommended to have a printer like HP deskjet connected to a MS host. Our Linux disto includes our HP deskjet, but a scanned JPG files are printed over 2/3 of full page only.
We found it`s easier to setup sharing using Linux SUSE 9 compared to Linux Redhat 9/Fedora 1 and Mandrake 9. Below are captures from Linux SUSE 9 host.
A Linux host must have Samba Server installed and activated.
Then right click on a directory and select Share to permit read and/or write access. Note that Option Share is only available after Samba Server has been setup and activated.
Click Configure File Sharing and click Allow users to share like below
Linux access MS Files
Note that it appear to us that Linux and MS don`t work wekk using DNS name. We have to use IP to access MS share file as it asks for access code only once. If DSN name is used instead, it asks for every file!
In file manager Konqueror (KDE), type
Smb://192.168.0.100
Then it asks for user name and password known to host 192.168.0.100 (not Linux user name and password).
MS host Access Linux Files
Expand My Network Places - Entire Network - Microsoft Windows Network - Workgroup, we`ll find sharing files under Linux host like below