Show ip route in 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.

Читайте также:  Linux home path user

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:

ip route command to list current routes

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:

ip route command to add a new route

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:

Читайте также:  Virtualbox общие папки linux mint

ip route command to add a new default gateway route

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:

ip route command to add a new route specifying device gateway

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:

ip route command to delete a route

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.

ip route command to change a route

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:

ip route command to flush

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:

ip route command to remove all routes

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:

ip route command to list routes with given scope only

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:

ip route command to list route with specified device only

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.

Buy GoLinuxCloud a Coffee

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

Как я уже сказал, сетевые маршруты необходимы чтобы компьютеры могли определить по какой цепочке должен пойти пакет, чтобы достигнуть цели. Маршруты можно настроить на уровне интерфейса или маршрутизатора.

Читайте также:  What kernel is linux mint

Когда компьютеру нужно отправить пакет в сеть он смотрит таблицу маршрутизации, в ней указанны 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.

Источник

Оцените статью
Adblock
detector