- View Network Routing Table Using the ip route Command in Linux Mint 20.3
- View Network Routing Table Using the “ip route” Command
- Adding New Routes
- Permanently Adding Routes in Linux
- Deleting Routes
- Adding a New Default Gateway
- Conclusion
- About the author
- Karim Buzdar
- 10+ ip route command examples in Linux [Cheat Sheet]
- Types of route
- Syntax for ip route command
- Different examples to use ip route command
- 1. List current routing table using ip route command
- 2. Add a new route using ip route command
- 3. Add a new default gateway route using ip route command
- 4. Add a new route to specific device with ip route command
- 5. Delete a route using ip route command
- 6. Modify an existing route using ip route command
- 7. Clear routes with flush using ip route command
- 8. Clear all the routes using ip route command
- 9. Get a single route to a destination
- 10. Get a single route from the source
- 11. List routes with given scope only
- 12. List routes for specified device only
- Conclusion
- What’s Next
- Further Reading
- Маршрутизация в Linux
- Сетевые маршруты в Linux
- Как посмотреть таблицу маршрутизации
- Настройка маршрутов в Linux
- Выводы
View Network Routing Table Using the ip route Command in Linux Mint 20.3
A routing table contains routing entries that determine where all packets go when they leave a router or a system. Usually, the Linux systems use dynamic routing, where the kernel decides which route out of multiple routes a packet should follow. However, you can also add static routes, which are not dynamically updated, if you want to forward specific traffic to a particular gateway or router.
In today’s article, we will cover how to view network routing tables using the “ip route” command in Linux Mint 20.3 OS.
Note: You need sudo privileges to make any changes in the routing table. However, viewing the routing table doesn’t need any sudo privileges.
View Network Routing Table Using the “ip route” Command
The “ip route” command in Linux is used to view and modify the routing table. Using this command, you can add new routes to a particular network or host. You can delete the routes if you no longer want them in your routing table.
To view the network routing table in your Linux Mint, open the Terminal and run the following command:
In the output, you will see a list of network destinations and gateways. The gateways are the addresses where the packets are forwarded when they are moving toward their destination. These routes are dynamic routes unless you have already added the static routes.
Following is the output of the “ip route” command in our system. The 192.168.42.0 is the local network attached to the network interface ens33. The 192.168.42.2 is the default gateway. Any traffic not intended for the local network and is not defined in the routing table is forwarded to this address.
Adding New Routes
Using the “ip route” command, you can also add a new route for a specific network. Use the following syntax to add a new route in your system’s routing table:
For instance, the following command adds the route for the 10.0.0.0/24 network through gateway 192.168.42.2 to route it through the ens33 network interface.
Permanently Adding Routes in Linux
The static route added by the “ip route” command is not a persistent route. A persistent route stays in place even when you reboot your system. To permanently add the static routes and to make them persistent, you will need to add the entry in the /etc/network/interfaces file.
Edit the /etc/network/interfaces file through the following command:
Add following entry for your static route:
Then, save and close the file and restart the network service:
Deleting Routes
To delete a route using the “ip route” command, use the previous syntax but replace the add option by del:
Adding a New Default Gateway
Sometimes, you must add a new default gateway to your Linux system. The “ip route” command also allows you to add a new default gateway. Use the following syntax:
Conclusion
In this post, we reviewed how to view the network routing table using the “ip route” command in Linux Mint 20.3 OS. We also covered how to permanently add routes in Linux Mint so that they persist after reboot. Remember, this is not the only way to view the network routing table in Linux. You can also view the routing table using the “netstat” and “route” commands.
About the author
Karim Buzdar
Karim Buzdar holds a degree in telecommunication engineering and holds several sysadmin certifications. As an IT engineer and technical author, he writes for various web sites. He blogs at LinuxWays.
10+ ip route command examples in Linux [Cheat Sheet]
In Linux, ip command is used to show or manipulate routing, devices, policy routing and tunnels. ip route is a part of ip command. It helps to manage the route entries in the kernel routing tables that keep information about paths to other networked nodes. The routes can be set for different IP addresses (destination). You can use ip route command to add, delete, change, and list the routes.
Types of route
Following are the different types of routes.
- unicast: It describes real paths to the destinations covered by the route prefix.
- unreachable: Unreachable destinations. The packets are discarded and the ICMP message host unreachable is generated.
- blackhole: Unreachable destinations. The packets are discarded silently.
- prohibi: Unreachable destinations. The packets are discarded and the ICMP message communication administratively prohibited is generated.
- local: The destinations are assigned to this host.
- broadcast: The destinations are broadcast addresses. The packets are sent as link broadcasts.
- throw: The packets are dropped and the ICMP message net unreachable is generated.
- nat: A special nat route. The destinations covered by the prefix are considered dummy (or external) addresses and require translation to real (or internal) ones before forwarding.
- anycast: The destinations are anycast addresses assigned to this host. They are not implemented.
- multicast: A special type for multicast routing. It is not present in normal routing tables.
Syntax for ip route command
The syntax for ip route command is:
Some important commands in ip route are:
Different examples to use ip route command
1. List current routing table using ip route command
You can use ip route list or ip route show command to list current routes or routing table.
Sample Output:
2. Add a new route using ip route command
The ip route add command is used to add a new route for the specified network range. You will need root privileges to execute the command.
Sample Output:
You can also use ip route only to list the routing table.
3. Add a new default gateway route using ip route command
A default gateway is the IP address of the router that connects your host to remote networks. You can use the following command to add a new default gateway route.
$ sudo ip route add default via
Sample Output:
4. Add a new route to specific device with ip route command
The below command adds a new route specifying the network interface or network device as the gateway.
Sample Output:
5. Delete a route using ip route command
You can use the ip route delete command to delete a route from the routing table.
Sample Output:
6. Modify an existing route using ip route command
You can change a route using the ip route change command.
Sample Output:
For example, to change the default gateway route, you can use the below command.
7. Clear routes with flush using ip route command
The ip route flush command clears a route from the routing table for a particular destination.
Sample Output:
8. Clear all the routes using ip route command
You can also use ip route flush command to remove all the routes from the routing table.
$ sudo ip route flush table main
Sample Output:
9. Get a single route to a destination
The below command is used to get a single route to a destination address and prints its contents.
$ ip route get to destination
Sample Output:
deepak@ubuntu:~$ ip route get to 192.168.0.133 192.168.0.133 dev enp0s3 src 192.168.0.103 uid 1000 cache
10. Get a single route from the source
You can run the following command to get a single route from the source address.
$ ip route get destination from source
Sample Output:
deepak@ubuntu:~$ ip route get to 192.168.0.133 from 192.168.0.103 192.168.0.133 from 192.168.0.103 dev enp0s3 uid 1000 cache
11. List routes with given scope only
You can run the below command to list routes with the given scope only.
$ ip route list scope scope_value
Sample Output:
12. List routes for specified device only
The following command lists the routes with the specified device only.
Sample Output:
To view the routes with device name enp0s3, you can use:
Conclusion
In this tutorial, we have learned how we can manage the routing table using the ip route command in the Linux system. You can add, delete, change, and list the routes in the routing table. If you still have any confusion, feel free to ask us in the comment section.
What’s Next
Further Reading
Didn’t find what you were looking for? Perform a quick search across GoLinuxCloud
If my articles on GoLinuxCloud has helped you, kindly consider buying me a coffee as a token of appreciation.
For any other feedbacks or questions you can either use the comments section or contact me form.
Thank You for your support!!
Маршрутизация в Linux
Эта статья одна из статей про работу сетей в Linux. Вы уже знаете, что все данные в сети передаются в виде пакетов, а чтобы компьютер знал куда нужно отправить тот или иной пакет используются IP адреса. Но пакету, перед тем, как он достигнет точки назначения нужно пройти множество компьютеров и маршрутизаторов.
Каждому из маршрутизаторов нужно знать на какой компьютер передавать пакет дальше. Именно это мы и обсудим в этой статье. Сегодня нас будет интересовать маршрутизация в Linux, как это работает, как настроить правила и заставить все работать как нужно.
Сетевые маршруты в Linux
Как я уже сказал, сетевые маршруты необходимы чтобы компьютеры могли определить по какой цепочке должен пойти пакет, чтобы достигнуть цели. Маршруты можно настроить на уровне интерфейса или маршрутизатора.
Когда компьютеру нужно отправить пакет в сеть он смотрит таблицу маршрутизации, в ней указанны ip адреса пунктов назначения и адреса интерфейсов и роутеров в домашней сети, которые могут отправить пакет по нужному адресу. Если для цели маршрут не указан то используется так называемый шлюз по умолчанию или маршрут по умолчанию. Точно такая же картина наблюдается на роутере. Устройство смотрит на IP адрес назначения и сверяет его со своей таблицей маршрутизации, а потом отправляет дальше.
Ниже мы рассмотрим как проверить текущие маршруты в системе, а также как настроить новые.
Как посмотреть таблицу маршрутизации
Перед тем как что-либо менять, нужно понять какие правила уже используются. В Linux для этого существует несколько команд. Чтобы посмотреть таблицу маршрутизации можно использовать команду route:
Вот так выглядит таблица маршрутизации linux. Тут выводится достаточно простая информация, которой не всегда достаточно чтобы понять суть дела. Более подробно можно посмотреть с помощью команды routel:
Тут вы уже можете видеть IP адрес цели (target), IP адрес шлюза (gateway), IP отправителя (source), протокол, и даже сетевой интерфейс. Но самый удобный способ посмотреть таблицу маршрутизации linux — это команда ip:
Вывод похож на результат предыдущей команды, но выглядит не совсем привычно, это потому, что вывод команды можно использовать в качестве аргумента для ip route add или ip route del. Это очень удобно. Как вы видите, в качестве шлюза по умолчанию везде используется 192.168.1.1. Рассмотрим подробнее что означает вывод этой команды:
- default — в данной строке означает вариант по умолчанию. Здесь должен быть ip адрес цели или маска подсети;
- via 192.168.1.1 — указывает через какой шлюз мы можем добраться до этой цели, у нас это 192.168.1.1;
- dev enp2s0 — сетевой интерфейс, с помощью которого будет доступен этот шлюз;
- proto static — означает, что маршрут был установлен администратором, значение kernel значит что он был установлен ядром;
- metric — это приоритет маршрута, чем меньше значение — тем выше приоритет.
А теперь рассмотрим выполняется настройка маршрутов Linux.
Настройка маршрутов в Linux
Вы можете настраивать таблицу маршрутизации с помощью команды ip. Например, чтобы изменить маршрут по умолчанию достаточно выполнить:
ip route add default via 192.168.1.1
Так вы можете добавить маршрут для любого IP адреса, например, для 243.143.5.25:
sudo ip route add 243.143.5.25 via 192.168.1.1
Все очень просто, сначала указывается IP адрес цели, а затем шлюз в локальной сети, через который можно достичь этого адреса. Но такие маршруты будут активны только до перезагрузки, после перезагрузки компьютера они будут автоматически удалены. Чтобы маршруты сохранились их нужно добавить в файл конфигурации.
В операционных системах семейства Red Hat используются конфигурационные файлы /etc/sysconfig/network-scripts/route-ethX. Каждый файл может описывать несколько маршрутов, например:
GATEWAY=10.10.0.1
NETMASK=255.0.0.0
IPADDR=10.10.0.22
Здесь gateway — шлюз по умолчанию для этого интерфейса, netmask — маска сети, а ipaddr — ip адрес интерфейса. В Debian и основанных на нем дистрибутивах можно настроить маршруты в файле /etc/network/interfaces. Здесь команда route добавляется в секцию iface. Например:
up route add -net 10.10.0.0 netmask 255.0.0.0 gw 10.10.0.1
С помощью опции -net мы указываем целевую сеть, netmask — это маска сети, а gw — шлюз. Все очень просто. Теперь добавленные маршруты останутся даже после перезагрузки.
Выводы
В этой небольшой статье мы кратко рассмотрели как работает маршрутизация в Linux, как выполняется настройка маршрутизации в linux, а также зачем это нужно. Надеюсь, эта информация была полезной для вас.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.