Посмотреть статические маршруты linux

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.
Читайте также:  Сброс настроек dhcp linux

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:

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:

Читайте также:  Linux создать ярлык файла

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 предоставляет большой набор функций для маршрутизации и инструменты для ее настройки. Ядро 2.6.x поддерживает:

  • Простую статическую маршрутизацию.
  • Equal Cost Multi Path маршруты (маршруты до одной сети с одинаковым весом, которые выбираются с равной вероятностью).
  • Blackhole-маршруты.
  • Множественные таблицы маршрутизации.
  • Policy Based Routing

[править] Команды

Для управления маршрутизацией применяются следующие команды: route, netstat, ip (последняя из пакета iproute2, возможно его придется установить).

Просмотреть таблицу можно следующими способами:

route -n (устаревшее) netstat -rn ip route show cat /proc/net/route

При этом следует учитывать, что доступ ко всем возможностям дает только ip. Используя route вы не только не сможете настроить «продвинутые» функции вроде политик маршрутизации, но и не увидите их существование в выводе команды просмотра, если они уже настроены в системе. Поэтому следует по возможности использовать ip.

Модификация таблицы маршрутизации:

[править] Использование route

Добавление маршрута через шлюз: route add -net 192.168.0.0/16 gw 10.0.0.1 Добавление маршрута через интерфейс: route add -net 192.168.0.0/16 dev eth1 Маршрут до отдельного хоста: route add -host 192.168.0.1 gw 172.16.0.1 Удаление маршрута: route del . 

[править] Использование ip

Синтаксис ip по структуре напоминает синтаксис Cisco IOS. Любые опции могут быть сокращены до потери двусмысленности, например «ip ro ad» вместо «ip route add».

Добавление маршрута через шлюз: ip route add 172.16.10.0/24 via 192.168.1.1 Добавление маршрута через интерфейс: ip route add 172.16.10.0/24 dev eth0 Маршрут с метрикой: ip route add 172.16.10.0/24 dev eth0 metric 100 

Командой вида ip route add blackhole 10.56.50.0/27 можно добавить «зануленный» маршрут (аналог «ip route . null0» в Cisco). Пакеты в сеть с таким маршрутом будут удалены с причиной «No route to host». Может быть полезно для подавление DoS-атаки с хоста или иных подобных случаев.

Читайте также:  Cyrillic font and linux

[править] Действия с маршрутами

Кроме add также поддерживаются и другие действия:

  • del — удалить маршрут.
  • replace — заменить маршрут другим.
  • change — изменить параметры маршрута.

[править] Equal Cost Multi Path

Если добавить два маршрута до одной и той же сети с одинаковой метрикой, ядро начнет распределять нагрузку между ними путем выбора того или другого с равной вероятностью. Работает и для более чем двух маршрутов. Предупреждение: это может вызвать проблемы со входящими соединениями, потому что иногда ответ может пойти по другому маршруту, чем пришел запрос. Будьте осторожны.

ip route add default dev eth0 ip route add default dev eth1

[править] IPv6

Настройка маршрутизации IPv6 почти идентична настройке для IPv4.

ip route add ::/0 via 2001:db8:dead:beef::1/64

В некоторых дистрибутивах еще есть нерешенная проблема с маршрутом по умолчанию (например, старые версии RHEL), используйте

[править] Просмотр маршрутов до определенной сети

На маршрутизаторах с длинной таблицей может быть неудобно просматривать вывод «ip route show» в поисках нужного маршрута. В этом случае можно использовать команду вида:

которая выведет маршруты только до указанной сети.

[править] Пересылка пакетов между интерфейсами

Linux позволяет разрешить или запретить пересылку пакетов между интерфейсами (forwarding). На рабочих станциях и серверах приложений ее можно запретить, на маршрутизаторах или межсетевых экранах она, очевидно, должна быть разрешена.

За этот параметр для IPv4 отвечает переменная net.ipv4.ip_forward (1 = «разрешить», 0 = «запретить»).

cat /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/ip_forward

Для IPv6 используйте net.ipv6.conf.all.forwarding

cat /proc/sys/net/ipv6/conf/all/forwarding echo 1 > /proc/sys/net/ipv6/conf/all/forwarding

Чтобы настройки сохранились после перезагрузки, пропишите значения net.ipv4.ip_forward и net.ipv6.conf.all.forwarding в /etc/sysctl.conf.

[править] Конфигурационные файлы

Настройки статической маршрутизации находятся в различных файлах, в зависимости от дистрибутива.

  • Debian GNU/Linux: /etc/network/interfaces
  • RHEL/CentOS/Scientifix: etc/sysconfig/network-scripts/route-
  • Gentoo: /etc/conf.d/net

(добавьте свои дистрибутивы, пожалуйста)

[править] Policy routing

ip route add default via 10.0.1.2 ip rule add from 192.168.1.1 lookup 3 ip route add default via 10.0.3.4 table 3

Для хоста 192.168.1.1 используется особенная таблица маршрутизации (table 3), не такая как для всех остальных хостов. В ней указан единственный маршрут — маршрут по умолчанию.

Все будут ходить через шлюз 10.0.1.2, а 192.168.1.1 — через 10.0.3.4.

[править] Демоны динамической маршрутизации

[править] Дополнительная информация

[править] Примечания

Основные понятия
Сетевой интерфейс | IP | IP-адрес | Маска подсети | Широковещательный адрес | Маршрут | IPv6
Маршрутизация | Форвардинг | Таблица маршрутизации | Шлюз по умолчанию
Маршрутизация в Linux | Маршрутизация в FreeBSD | Маршрутизация в Cisco

Источник

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