- Add a Default Route on Linux
- What Will We Cover?
- What Is a Default Gateway?
- Checking the Default Gateway
- Deleting the Default Gateway
- Creating a New Default Gateway
- Making the Routing Changes Permanent
- Conclusion
- About the author
- Ali Imran Nagori
- How to Set the Default Gateway on Ubuntu
- Checking the Default Gateway
- How to Set a New Default Gateway
- Conclusion
- About the author
- Denis Kariuki
- How To Add or Change Default Route or Default Gateway in Ubuntu, Linux?
- List Routing Table
- Remove Existing Default Gateway
- Add New Default Gateway
- Check
- How To Add or Change Default Route or Default Gateway in Ubuntu, Linux? Infografic
Add a Default Route on Linux
Any Linux user, especially a systems administrator, should have skills to make simple network configurations on a Linux system. For the system to communicate to the other computers on the internet, gateways must be set up and adjusted as needed.
What Will We Cover?
In this article, we will see how to add a default route on the Linux systems. Notably, different systems may have different configurations. However, we will focus on the Ubuntu 20.04 system.
What Is a Default Gateway?
To connect your home network to the wider internet, you need a default gateway. The function of a gateway is implied by its name; it connects a local area network to the wider internet.
All traffic that are not meant for the local area network and for which no alternate route is defined in the routing table are sent via the default gateway. Typically, a network’s default gateway is a specific router.
The wireless router serves as the “default gateway” in most home networks. It’s a way to connect to resources which are located on other networks that are far from your own. Internet navigation would be considerably more difficult without it.
Checking the Default Gateway
We can use the ip command and the route object to view the system’s configured routes. Since the list option is already the default action, we don’t need to include it. Additionally, we can use “r” in place of route to cut down on typing:
We can see the term “default” included in one of the routes. This is the standard route for the default gateway/route.
Automatic route addition and deletion are possible in certain cases. For example, while establishing a VPN connection, the ip r command on the same system yields a different set of results. In doing so, the network traffic is routed via a private tunnel:
With grep, it’s possible to easily isolate the default route from a large collection of configured ones:
Deleting the Default Gateway
Now, we delete the route that sends the traffic via the system’s default gateway. For this, we use the route object with the ip command and specify the delete option. Also, we require the sudo access to the routing table in order to make any modifications. First, we list the routes before deleting the default one. Then, we verify our action by listing them again:
As we can see, the default gateway entry is deleted.
Creating a New Default Gateway
The route object with an add argument can be used to create a new default gateway. Let’s take example the adding of 192.168.117.161 as the new default gateway on the wlo1 interface:
The traffic now routes via this new default gateway on enp0s3.
Making the Routing Changes Permanent
The modifications we made have immediate effect, but they are lost once the machine is restarted. You must alter a few configuration files in order to make your modifications permanent.
For example, in the case of Ubuntu, the netplan command comes in handy. Here, we need to open the netplan network configuration file:
Now, add the following configuration inside it, below the line corresponding to the renderer:
You can refer to the following screenshot. Keep in mind that the successive level of indentation is important here as well.
After saving the file, apply the changes:
Getting back to the normal command line means that the configuration is successful. Also, you can use the netplan command with the try option to examine the modifications before you apply them:
This provides you time to test your settings. If everything is set properly, you can save the configuration by hitting the “Enter” key within two minutes before the command times out. In this way, your changes are applied. Otherwise, if you don’t hit the “Enter” key, the changes only remain in the configuration file. However, your network settings are not yetmodified by them.
Note: On RHEL 8 Red Hat System, we can use the nmstatectl utility to define the gateway configuration in a YAML file. Similarly, RHEL System Roles (playbook approach) can also be used to set the default gateway.
Conclusion
We learned how to configure a default route on the Linux systems with the Ubuntu 20.04 target.
If your default gateway settings are correct, you’ll be able to communicate with the rest of the internet. However, familiarity with the hostname-to-IP address resolution is still required.
About the author
Ali Imran Nagori
Ali imran is a technical writer and Linux enthusiast who loves to write about Linux system administration and related technologies. You can connect with him on LinkedIn
.
How to Set the Default Gateway on Ubuntu
All the devices on your network rely on the default gateway for communication. Data packets pass through the router to and from your network before being routed to the particular device that owns the packet.
Each operating system comes with a default gateway. However, you can temporarily or permanently change the default gateway to add another route for your network devices. You can use the IP command on Ubuntu to modify your default gateway.
Checking the Default Gateway
Changing the default gateway is common when you have different sub-networks or when you must point a specific machine to a particular gateway. Before changing the default gateway, let’s list the available routes.
Use the list option with the IP command or its shorthand r to stand for the route.
The default gateway has the default keyword in it. If you configured multiple routes on your network, you can use the grep command to filter the router and get the default gateway.
Use the following command:
The current default gateway is 192.168.88.1 on enp0s3 interface. Let’s proceed to set a new default gateway.
How to Set a New Default Gateway
The ip command uses the route option to set the new default gateway. You must specify the type of route that you want to add. In our case, it’s “default”.
For instance, let’s set the default gateway as 192.168.88.10.
Suppose we want to set the default gateway for a particular network interface. In that case, specify the network interface after the gateway. In our case, the interface is enp0s3.
Note that we must add sudo to use the administrator privileges since we are editing the routing table for Ubuntu which is an administrative task.
We can use the list or route options to verify the newly added default gateway.
Note how the currently added default gateway is the one that we specified earlier. In the previous output, we now have two default gateways. The keynote is that the changes we made are temporary until you add them to the network manager configuration files.
In the previous case, we can delete the added gateway such that we remain with only one.
Use the delete keyword to remove the added gateway.
If we check the available default gateway after running the delete command, we confirm that we only have one default gateway remaining which is 192.168.88.1.
Suppose we want to make the permanent network changes to implement the new gateway. We must edit the configuration file. Open the network manager file using a file editor of your choice. In this case, let’s use gedit with the following command:
Add the new gateway using the following presented format. Make sure that the spacing is set to two whitespaces with the correct indention. Once edited, save the file and exit the editor.
Before applying the changes using the netplan command, run a dry test.
If you are sure with the new network configuration, press the enter key. Otherwise, the changes will revert to the previous settings after the specified seconds.
Conclusion
Ubuntu comes with a default gateway, but that doesn’t mean that you can’t set a new gateway. This guide covered everything about adding a new gateway using the ip command and how to save the changes permanently to the configuration file.
About the author
Denis Kariuki
Denis is a Computer Scientist with a passion for Networking and Cyber Security. I love the terminal, and using Linux is a hobby. I am passionate about sharing tips and ideas about Linux and computing.
How To Add or Change Default Route or Default Gateway in Ubuntu, Linux?
Systems connected to the network will generally access to the internet. In order to access to the internet they need some network configuration like gateway or default gateway. In this tutorial we will examine how to add or change default gateway in Ubuntu, Debian, CentOS, Fedora, Mint, Kali operating systems.
List Routing Table
Routing table is used to route IP network communication. Hosts generally uses default route to send packages which will redirect them accordingly to transmit destination. We will start by listing current routing table. We will use ip route show command like below.
Our default gateway line is
default via 192.168.122.1 dev ens3
- default means this line is default gateway
- via 192.168.122.1 specifies next hop which is default gateway IP address
- dev ens3 is the interface we want use to access default gateway
Remove Existing Default Gateway
Removing default gateway is easy if we list routing table because routing table line is used with del command like below. But keep in mind if you are connecting system remotely from different network which means if you are using default route you connection will be lost.
$ ip route del default via 192.168.122.1 dev ens3
- ip route del is our key line which deletes specified default gateway
- default via 192.168.122.1 dev ens3 is the same as routing table
Add New Default Gateway
As stated previously default gateway is used to send packages in order to transmit to the destination. We can add new default gateway with the ip route add command like below.
$ ip route add default via 192.168.1.1 dev ens3
- ip route add will add provided default gateway
- default means target network is all which is default
- via 192.168.1.1 is our default gateway network address
- dev ens3 is network interface for default gateway
Check
List routing table again and ping some of remote networks will give the status of default gateway
$ ip route show default via 192.168.1.1 dev ens3 10.0.3.0/24 dev lxcbr0 proto kernel scope link src 10.0.3.1 192.168.122.0/24 dev ens3 proto kernel scope link src 192.168.122.211