/dev/urandom Barry Britt, Systems Support Group Department of Computer Science Iowa State University
Outline DNS Samba Apache NAT & routing
DNS How does your machine find out that: popeye.cs.iastate.edu => 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. 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:
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 ( 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 Official How-To at 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 3 rd 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% shareIIS: 21.1% share November 2005 Apache: 70.9% shareIIS: 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 Apache documentation httpd.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 x subnet Destined for internet → forward to 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 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 – (24 bit block) – (20 bit block) – (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 2 32 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