Adding an IP Address and a Static Route

30 minutes
  • 4 Learning Objectives

About this Hands-on Lab

Managing network settings is a crucial ability for a System Administrator to have. In today’s environment, adding and deleting IP addresses and static routes is an expected capability. In this activity, we will be creating one script to add an IP address and a static route, then another script to remove an IP address and a static route.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Use the sudo Command to Start a Root Account Shell

Using sudo -i, start an interactive root shell:

sudo -i
Add and Delete the IP Address 10.0.5.20/24 from the eth0 Interface, and Create net-up.sh and net-down.sh Scripts

Using the ip a command, add and delete the address 10.0.5.20/24 from the ens5 interface. Use these commands to create the net-up.sh and net-down.sh scripts:

ip a
ip a add 10.0.5.20/24 dev ens5
ip a
echo ip a add 10.0.5.20/24 dev ens5 > net-up.sh
chmod +x net-up.sh
ip a del 10.0.5.20/24 dev ens5
ip a
echo ip a del 10.0.5.20/24 dev ens5 > net-down.sh
chmod +x net-down.sh
./net-up.sh
ip a 
./net-down.sh
ip a
Update net-up.sh and net-down.sh Scripts to Add and Delete Route Using 10.0.5.5 as a Router to Provide Access to the 10.0.6.0/24 Network

Using the ip r command add a route to the 10.0.6.0 subnet using 10.0.5.5 as a router with the ens5 device. Add this command to the net-up.sh script file. Delete the new route using the ip r command, and add it to the net-down.sh script.

ip r
ip r add 10.0.6.0/24 via 10.0.5.5 dev ens5
ip r
echo ip r add 10.0.6.0/24 via 10.0.5.5 dev ens5 >> net-up.sh
ip r del 10.0.6.0/24 via 10.0.5.5 dev ens5
echo ip r del 10.0.6.0/24 via 10.0.5.5 dev ens5 >> net-down.sh
ip r
Verify the net-up.sh Script Adds the Correct Address and Route, and net-down.sh Script Deletes the Address and Route

Execute the net-down.sh script. Check the current IP address information and it should not contain 10.0.5.20. If it does, try fixing net-down.sh until it does not:

./net-down.sh
ip a | grep 10.0.5.20

Check the routing table and it should not have the router 10.0.5.5. If it does, try fixing the net-down.sh until it does not:

ip r | grep 10.0.5.5

Execute the net-up.sh script:

./net-up.sh

Check the current IP address information, and it and should contain 10.0.5.20. If it does not, try fixing net-up.sh until it does:

ip a | grep 10.0.5.20

Check the routing table and it should have the router 10.0.5.5. If it does not, try fixing the net-up.sh until it does:

ip r | grep 10.0.5.5

Double-check our work by repeating the previous steps in this task.

Additional Resources

The lead System Administrator has asked us to create a couple of scripts to be used by a developer which will modify the network interface. They need the IP address 10.0.5.20/24 assigned to the host, and a static route to provide access to another host which will be provisioned on a different subnet with the specification of 10.0.6.0/24. Our system already has an address of 10.0.5.19/24 assigned to the ens5 interface.

We have been asked to create the /root/net-up.sh script, which will add the address 10.0.5.20/24 to the ens5 interface, and the /root/net-down.sh script which will delete the same address from the same interface, using ip a commands.

We have also been asked to have the /root/net-up.sh script add a route so the host 10.0.5.5 will be used as a router to provide access to the host on the 10.0.6.0/24 subnet, using the ens5 interface and utilizing the ip r command. The /root/net-down.sh script should delete the same route from the interface using the ip r command. Unfortunately, the host 10.0.6.19/24 has not yet been provisioned, so we will have to rely on the routing table output, and will not be able to verify connectivity with this host.

Once we believe our net-up.sh and net-down.sh scripts have been created and updated, we'll have to verify and double-check that they work correctly.

NOTE: eth0 has been replaced with ens5 in the lab environment.

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?