Top Banner
Introduction to Linux Networking Kevin Moule [email protected] August 15 th , 2006
31
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction to Linux Networking.ppt

Introduction to Linux Networking

Kevin Moule

[email protected]

August 15th, 2006

Page 2: Introduction to Linux Networking.ppt

Knoppix

• Knoppix is a live Linux system that is bootable from CD or DVD– Fully featured Linux system– Automatic hardware detection– Runs completely from CD and RAM

Page 3: Introduction to Linux Networking.ppt

Opening a root shell

• Click on the konsole icon

Page 4: Introduction to Linux Networking.ppt

Opening a root shell

• Type “su” at the prompt

Page 5: Introduction to Linux Networking.ppt

Enumerating network devices

• Use the ifconfig command to list the network devices

root@3[~]# ifconfig -a

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:18 errors:0 dropped:0 overruns:0 frame:0

TX packets:18 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:1092 (1.0 KiB) TX bytes:1092 (1.0 KiB)

Page 6: Introduction to Linux Networking.ppt

lo - Loopback device

• The loopback device is present on virtually any IP based machine– Any data sent to the loopback device is

immediately returned– Used mainly for testing, but has some use in

specific network applications– Strictly internal device, always assigned the

127.0.0.1 address

Page 7: Introduction to Linux Networking.ppt

Enumerating network devices

• Use the ifconfig command to list the network devices

root@3[~]# ifconfig -aeth0 Link encap:Ethernet HWaddr 00:02:B3:8C:4C:ED inet addr:192.168.1.254 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::202:b3ff:fe8c:4ced/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:741 errors:0 dropped:0 overruns:0 frame:0 TX packets:895 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:82106 (80.1 KiB) TX bytes:548518 (535.6 KiB)

Page 8: Introduction to Linux Networking.ppt

ethX – Ethernet device

• The ethernet devices are physical network cards operating on the ethernet standard– Most common network device– Multiple devices supported (eth0, eth1, etc.)– Each card has a globally unique hardware

address assigned to it, the MAC (Media Access Control) address

Page 9: Introduction to Linux Networking.ppt

Other devices

• There are many other possible devices– pppX – Point to Point devices used in dialup

internet services or VPN settings– wlanX – Wireless devices, similar to ethernet

but using a different communication standard

Page 10: Introduction to Linux Networking.ppt

Configuring network devices

• The file /etc/network/interfaces stores the configuration information for all network devices

root@3[~]# cat /etc/network/interfaces

# /etc/network/interfaces -- configuration file for ifup(8),ifdown(8)

# The loopback interface

# automatically added when upgrading

auto lo

iface lo inet loopback

Page 11: Introduction to Linux Networking.ppt

Configuring network devices

• Enter the following for a static configuration of eth0

auto eth0

iface eth0 inet static

address 192.168.1.XXX

netmask 255.255.255.0

broadcast 192.168.1.255

gateway 192.168.1.1

root@3[~]# nedit /etc/network/interfaces

Page 12: Introduction to Linux Networking.ppt

Configuring network devices

• The address line specifies which IP address will be assigned to this machine– Must be unique within the local network

auto eth0

iface eth0 inet static

address 192.168.1.XXX

netmask 255.255.255.0

broadcast 192.168.1.255

gateway 192.168.1.1

Page 13: Introduction to Linux Networking.ppt

Configuring network devices

• The broadcast line specifies which address will be used for special broadcast packets– All machine on the local network should be

using the same broadcast address– This address should not otherwise be in use

auto eth0

iface eth0 inet static

address 192.168.1.XXX

netmask 255.255.255.0

broadcast 192.168.1.255

gateway 192.168.1.1

Page 14: Introduction to Linux Networking.ppt

Configuring network devices

• The netmask line specifies what addresses are consider on the local network– The address line and the netmask line combine

to form the LAN (local area network)

auto eth0

iface eth0 inet static

address 192.168.1.XXX

netmask 255.255.255.0

broadcast 192.168.1.255

gateway 192.168.1.1

Page 15: Introduction to Linux Networking.ppt

Configuring network devices

• The gateway line specifies what address is used to forward non local packets– This address should be a router capable of

routing traffic to the internet at large

auto eth0

iface eth0 inet static

address 192.168.1.100

netmask 255.255.255.0

broadcast 192.168.1.255

gateway 192.168.1.1

Page 16: Introduction to Linux Networking.ppt

Configuring network devices

• Enter the following for a dynamic (DHCP) configuration of eth0– Will attempt to query a local DHCP server to

provide the network configuration

root@3[~]# nedit /etc/network/interfaces

auto eth0

iface eth0 inet dhcp

Page 17: Introduction to Linux Networking.ppt

Configuring network devices

• Once the configuration is finished use the ifup and ifdown commands to control the network device

• Bring an interface down with ifdown

• Bring an interface up with ifup

root@3[~]# ifdown eth0

root@3[~]# ifup eth0

Page 18: Introduction to Linux Networking.ppt

Testing the network

• The ping command is a useful tool for testing a network configuration– Uses an special ICMP (Internet Control

Message Protocol) packet to ‘ping’ a given address

– A machine that receives a ‘ping’ packet will send a similar ‘ping’ packet back

– Universally available, requires no running services

Page 19: Introduction to Linux Networking.ppt

Testing the network

• First attempt to ping the gatewayroot@4[~]# ping 192.168.1.1

PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.

64 bytes from 192.168.1.1: icmp_seq=1 ttl=128 time=0.129 ms

64 bytes from 192.168.1.1: icmp_seq=2 ttl=128 time=0.148 ms

64 bytes from 192.168.1.1: icmp_seq=3 ttl=128 time=0.148 ms

64 bytes from 192.168.1.1: icmp_seq=4 ttl=128 time=0.150 ms

64 bytes from 192.168.1.1: icmp_seq=5 ttl=128 time=0.154 ms

--- 192.168.1.1 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 3996ms

rtt min/avg/max/mdev = 0.129/0.145/0.154/0.017 ms

root@4[~]#

Page 20: Introduction to Linux Networking.ppt

Testing the network

• Ping a non-existent machineroot@4[~]# ping 192.168.1.55

PING 192.168.1.55 (192.168.1.55) 56(84) bytes of data.

From 192.168.1.50 icmp_seq=1 Destination Host Unreachable

From 192.168.1.50 icmp_seq=2 Destination Host Unreachable

From 192.168.1.50 icmp_seq=3 Destination Host Unreachable

From 192.168.1.50 icmp_seq=4 Destination Host Unreachable

From 192.168.1.50 icmp_seq=5 Destination Host Unreachable

--- 192.168.1.55 ping statistics ---

7 packets transmitted, 0 received, +6 errors, 100% packet loss,

time 6015ms, pipe 3

root@4[~]#

Page 21: Introduction to Linux Networking.ppt

Testing the network

• Ping a known local addressroot@4[~]# ping 192.168.1.100

PING 192.168.1.100 (192.168.1.100) 56(84) bytes of data.

64 bytes from 192.168.1.100: icmp_seq=1 ttl=64 time=0.036 ms

64 bytes from 192.168.1.100: icmp_seq=2 ttl=64 time=0.036 ms

64 bytes from 192.168.1.100: icmp_seq=3 ttl=64 time=0.035 ms

64 bytes from 192.168.1.100: icmp_seq=4 ttl=64 time=0.039 ms

64 bytes from 192.168.1.100: icmp_seq=5 ttl=64 time=0.038 ms

--- 192.168.1.100 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 3998ms

rtt min/avg/max/mdev = 0.035/0.036/0.039/0.007 ms

root@4[~]#

Page 22: Introduction to Linux Networking.ppt

Testing the network

• Ping a non-local addressroot@4[~]# ping 129.97.114.212

PING 129.97.114.212 (129.97.114.212) 56(84) bytes of data.

64 bytes from 129.97.114.212: icmp_seq=1 ttl=253 time=2.09 ms

64 bytes from 129.97.114.212: icmp_seq=2 ttl=253 time=1.96 ms

64 bytes from 129.97.114.212: icmp_seq=3 ttl=253 time=2.73 ms

64 bytes from 129.97.114.212: icmp_seq=4 ttl=253 time=2.00 ms

64 bytes from 129.97.114.212: icmp_seq=5 ttl=253 time=2.04 ms

--- 129.97.114.212 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 4004ms

rtt min/avg/max/mdev = 1.964/2.168/2.734/0.287 ms

root@4[~]#

Page 23: Introduction to Linux Networking.ppt

Configuring DNS

• DNS (Domain Name System) is the system for resolving host names into IP addresses– Globally administered (by ICANN)– Locally distributed (per domain)

• UW runs a DNS– Services queries for any xxx.uwaterloo.ca– Redirects other queries (i.e. www.google.ca)

for the entire university

Page 24: Introduction to Linux Networking.ppt

Configuring DNS

• The local DNS information is stored in /etc/resolv.conf– All applications reference this file to resolve

hostnames into IP address

root@3[~]# nedit /etc/resolv.conf

nameserver 129.97.128.10

nameserver 129.97.128.100

Page 25: Introduction to Linux Networking.ppt

Configuring DNS

• Ping a named machineroot@4[~]# ping ns1.uwaterloo.ca

PING ns1.uwaterloo.ca (129.97.128.10) 56(84) bytes of data.

64 bytes from ns1.uwaterloo.ca (129.97.128.10): icmp_seq=1 ttl=253 time=81.2 ms

64 bytes from ns1.uwaterloo.ca (129.97.128.10): icmp_seq=2 ttl=253 time=2.28 ms

64 bytes from ns1.uwaterloo.ca (129.97.128.10): icmp_seq=3 ttl=253 time=2.34 ms

64 bytes from ns1.uwaterloo.ca (129.97.128.10): icmp_seq=4 ttl=253 time=2.29 ms

64 bytes from ns1.uwaterloo.ca (129.97.128.10): icmp_seq=5 ttl=253 time=1.25 ms

--- ns1.uwaterloo.ca ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 4003ms

rtt min/avg/max/mdev = 1.252/17.886/81.258/31.688 ms

root@4[~]#

Page 26: Introduction to Linux Networking.ppt

Client/Server communication

• Communication on an IP network follows the client/server model– A server is actively listening for connection

from a client– A client will explicitly start a connection to the

server– Once established, this connection is referred to

as a socket

Page 27: Introduction to Linux Networking.ppt

Client/Server communication

• A socket is comprised of the following– Server IP address– Server port– Client IP address– Client port

• However, once established the notion of server and client are often irrelevant

Page 28: Introduction to Linux Networking.ppt

Client/Server communication

• There are many network connections (sockets) being used simultaneously

• Ports are used to associate communication with a particular application– A 16 bit integer (0-65535)– Dynamically allocated for client purposes– Fixed numbers for many server applications

• Web (80), FTP (20), Email (25), DNS (53), etc.

Page 29: Introduction to Linux Networking.ppt

Client/Server communication

• Using the netcat utility start a server listening on a specific port

root@4[~]# netcat -l -p YYY

Page 30: Introduction to Linux Networking.ppt

Client/Server communication

• Using the netcat utility start a client connection to the server with the server IP address and port

root@4[~]# netcat 192.168.1.XXX YYY

Page 31: Introduction to Linux Networking.ppt

Client/Server communication

• Any text typed in the client window will show up in the server window and vice versa

root@4[~]# netcat -l -p YYY

Hello

Goodbye

root@4[~]# netcat 192.168.1.XXX YYY

Hello

Goodbye