210 likes | 297 Views
Barry Britt, Systems Support Group Department of Computer Science Iowa State University. /dev/urandom. Outline. DNS Samba Apache NAT & routing. DNS. How does your machine find out that: popeye.cs.iastate.edu => 129.186.3.66 Domain Name System
E N D
Barry Britt, Systems Support Group Department of Computer Science Iowa State University /dev/urandom
Outline • DNS • Samba • Apache • NAT & routing
DNS • How does your machine find out that: • popeye.cs.iastate.edu => 129.186.3.66 • Domain Name System • Consists of name servers, each responsible for “domains” • What are domains? • .edu • .com • .org • .iastate.edu
DNS querying • Every FQDN (Fully Qualified Domain Name) has an implied '.' at the end of it • popeye.cs.iastate.edu. • www.google.com. • en.wikipedia.org. • Queries are handled by the DNS servers referenced on your computer. • /etc/resolv.conf on most Linux machines
Anatomy of a DNS Query • How does your machine know what to do? • RFC 1035 (DNS Protocol Specification) • Says, start at the end and work to the beginning. • Let's query: www.google.com.
More DNS • Queries must be done for every host name (but results are cached for a period of time) • Note: • One server process can be a client process for another service • e.g. - network time protocol (NTP) • Queries a time server (time.iastate.edu) for the correct time. • Uses DNS to resolve time.iastate.edu
Samba • What is it? • Short Answer: Software that allows a UNIX machine to work as a Windows File Server • Long Answer: • M$ uses a protocol called CIFS for file sharing (Common Internet File System) • M$ uses a transport protocol for CIFS called SMB (Server Message Block) • Samba is an implementation of SMB/CIFS that runs on many types of machines
Samba History • 1992 → Andrew Tridgell • Wanted to connect DOS PC and UNIX Server AND • Wanted to use NetBIOS on both • So... he accomplished this by: • Writing a packet sniffer • Reverse engineering the SMB protocol • Implementing this on a UNIX machine so that it behaved like a • Then, he released the code to the public
Samba History • 1994 → Tridgell wanted to link wife's windows machine to his Linux network. • Tried his old code, and it worked! • 1999 → Samba 2.0 is released • Testing shows that Samba 2.0 is 2x faster than Windows 2000 Server • 2003 → Samba 3.0 is released • Testing shows that Samba 3.0 is 2.5x faster than Windows 2003 Server
Samba Misc. Info • Samba project is HUGE (www.samba.org) • Samba is mentioned in the famous “Halloween Memo” from Microsoft (leaked memo in the late 80's) • License is GPL • Server can be any (or all) of the following: • NetBIOS (name resolution) server • Domain Browser • Authentication server • File & Print Server
Samba Misc. Info • Client • Feels like it's talking to a Windows Server • Can Mount files • Can get NetBIOS resolution • Can authenticate to Samba server • Can browse the Domain • For More Info.... • SMB How-To at www.tldp.org • Official How-To at www.samba.org • Chapter 2 • You WILL be doing this in Lab.
Apache • License: Apache Software License (ASL) • Free software license, similar to GPL but allows for patented software inclusion. • Why? Want 3rd party contributions from companies. • Known for... • HTTP Server • Apache 1.0 → release 1995 • After 1 year, Apache is the #1 web server on the Internet
Apache • Today: • Apache is the #1 web server on the internet • October 2004 • Apache: 67.9% share IIS: 21.1% share • November 2005 • Apache: 70.9% share IIS: 20.2% share • Runs on all major platforms, and some non-major ones too • Runs sites that get tens of millions of unique hits per day
Apache • Customization • Apache uses modules that are can be loaded at compile time or run time • Why use Apache? • Acc'd to netcraft “Most Reliable Hosting Company” as of Aug 2010, out of the top 10: • 8 are Linux based • 2 are Free BSD based • Apache/Linux runs the content on the Internet
Apache for Lab • You will • Set up a basic HTTP server • Static content • HTML pages that sit on a location on the server • Dynamic content • Pages that are constructed by the server • Output because of: • Executable (C or some other language) • Script (CGI, bash script, etc...)
Apache for Lab • References • Chapter 26 of textbook • Many apache how-to docs at www.tdlp.org • Apache documentation • httpd.apache.org • www.apache.org
Routing • Router • Device that interconnects 2 or more computer networks • Example: a home network • 2 IP address, one for each network
Routing • Router's Job • Any traffic from 192.168.0.x subnet • Destined for internet → forward to 203.176.5.49 • Destined for local → resend internally • Hosts specify the router's internal address as “gateway”
NAT • Network Address Translation • Actually modifies the network addresses in the IP packets • Why? • IP Masquerading → the NAT Router sends all traffic AS ITSELF • The outside world cannot see the 192.168.0.x subnet (private network) • Therefore, we can “share” the internet connection from our ISP over our home network, ISP has no way to tell
NAT • Some IP address blocks are reserved for private networks • 10.0.0.0 – 10.255.255.255 (24 bit block) • 172.16.0.0 – 172.31.255.255 (20 bit block) • 192.168.0.0 – 192.168.255.255 (16 bit block) • All these ranges are safe to use for private networks
NAT • NAT has significantly slowed the consumption of IPv4 addresses. • Delay of Ipv6 adoption is primarily due to NAT • How many devices connected to Internet? • Recent estimate: > 5,000,000,000 • Over IPv4 limit of 232 • Google Server Farm(s) may have > 10,000 all inside of private IP space using NAT • Only the front-end “gateway”s need proper IP addresses