|
Practical Exercises
Network IP calculations with ipcalc
Install ipcalc by using APT:
Run ipcalc for network address 192.168.5.0 with subnet mask 255.255.255.0.
See the output for Address, Netmask, Network, HostMin, HostMax, Broadcast, Hosts/Net.
Notice the same results for the same network and the different representation of the netmask:
Notice the same results for Netmask, Network, HostMin, HostMax, Broadcast,
Hosts/Net if using the different IP addresses within the same network in ipcalc, for example:
Run ipcalc for subnets (networks) 192.168.5.0/25 and 192.168.5.128/25:
Notice the values for HostMin and HostMax in both the cases. By looking at the ranges [HostMin, HostMax], you can see, for example, that IP address 192.168.5.5 belongs to the first subnet and 192.168.5.250 to the second.
You can verify that by running ipcalc on the IP addresses above and then comparing the Network values:
Install ethtool by using APT:
You can see the parameter settings for the network card, such connection status, speed, duplex mode, by using command ethtool
You can also see the driver (kernel module) attached to the network card:
By using ethtool, configure the network interface for
100 MBit half-duplex, 10 MBit half-duplex modes, then autonegotiate for the
default mode.
During the installation, the network settings on your computer are configured for DHCP.
Renew the IP address lease:
Alternatively, you can renew the lease by restarting the network script:
ARP command:
Every time when you are trying to access any remote machine via TCP/IP,
your ARP cash gets updated first, then the MAC address of the remote host,
or the gateway if the host is located outside of your subnet,
is used to deliver the ethernet frame.
traceroute command:
This shows you all the gateways between the subnets your packet
travels towards the destination (engsoft.rutgers.edu for example).
Re-configure your network interface for network 192.5.1.0/24 using ifconfig
command. If you are on desktop04 machine, for example:
Ask your neighbor to reconfigure his machine on the same network (192.5.1.0/24 );
try to ping each other machines. Make sure you are using different
IP addresses on the same subnet. Try to ping any machine on the original
subnet, 192.168.5.0/24 As you understand, there is no routing set between
subnets 192.5.1.0/24 and 192.168.5.0/24 so you can't pass network packets between them.
Do the same network re-configuration using the network scipt file. Edit file
/etc/network/interfaces and put the following settings there:
Restart the network:
Finally, configure your machine for the original network settings
in /etc/network/interfaces:
Restart the network:
Setting network services on the VM.
Start virtual machine kvm2
Figure out the IP address of kvm2: check out the content of
file
/var/lib/libvirt/dnsmasq/default.leases
specifically the
line containing kvm2. It has both the MAC address and the IP address of kvm2.
Place the IP address and kvm2 host name into file /etc/hosts
on your desktop. For example, if IP address of kvm2 is
192.168.122.114:
ssh to kvm2 as user hostadm:
Install telnet server on the VM.
Check /etc/inetd.conf and make sure you see the following entry:
Command netstat -na should show open tcp/23 port:
Telnet to kvm2 from your desktop machine, for example:
Install FTP server on the VM.
Check out /etc/inetd.conf and notice the entry for FTP:
Command netstat -na shows open tcp/21 port:
From the desktop, ftp to kvm2.
Use hostadm user credentials (login name and password).
Configure SSH.
For SSH authentication, you can use either RSA or DSA public/private keys besides password.
We'll be using RSA in the exercises below.
To generate an RSA key pair,
type the following command at a shell prompt on your desktop:
Accept the default file location of ~/.ssh/id_rsa. Enter a passphrase
different from your account password and confirm it by entering it again.
The public key is written to ~/.ssh/id_rsa.pub. The private key is
written to ~/.ssh/id_rsa.
Never distribute your private key to anyone.
The contents of ~/.ssh/id_rsa.pub needs to be delivered onto the remote machine to which you want to connect, specifically kvm2, into file
~/.ssh/authorized_keys
To accomplish the transfer task, here you can use ftp service installed in the previous exercise.
Command cd in the ftp> shell above is for stepping into
the directory, .ssh, on the remote host, kvm2.
Command lcd is for stepping into the directory, .ssh, on the local desktop.
Now try to ssh to kvm2. You should be prompted to enter your passphrase.
The ssh-agent can be used to store your passphrase so that you do
not have to enter it each time you make a ssh or scp connection.
At a shell prompt on the desktop, type the following command:
Then type the command:
and enter your passphrase(s). If you have more than one key pair
configured, you will be prompted for each one.
When you log out, your passphrase(s) will be forgotten. You must
execute these two commands each time you log in to a virtual console
or open a terminal window.
Run a remote command over ssh, for example:
Copy files from your desktop to kvm2 and vise versa using scp command:
Syncronizing directories between remote hosts by using rsync.
This tool lets you copy files
and directories between a local host and a remote host.
Install rsync on both your desktop and kvm2:
Creat a directory tree and copy it over to kvm2 with rsync command.
Option a stands for archive (preserve links and timestamps);
v is for verbose and z is for data compression when sending-receiving.
Disable telnet, and ftp
Since you have fully functioning SSH on kvm2, you can get rid of
telnet and ftp servers.
In file /etc/inetd.conf comment-out the lines for
telnet and ftp.
Make inetd daemon to re-read the modified /etc/inetd.conf
by executing the following command:
where the process ID, inetd_PID, for inetd can be found from
Alternatively, you can simply run
Make sure ports tcp/21, tcp/23 are not open by running
Never run rsh, rlogin, telnet and ftp servers on the open Internet. They are very unsecure due to clear text authentication and data transfer.
References
Linux Journal: Fun with ethtool
A good reference on network configuration settings
|
|