Linux GRE - IP-туннель против IP-ссылки

Может кто-нибудь объяснить, пожалуйста, разницу между linux ip tunnel и командой ip link, когда дело доходит до настройки туннелей (таких как GRE, IPIP или VXLAN)?

Я вижу, что я могу настроить туннель GRE, например, двумя способами:

  1. ip link добавить имя gre1 тип gre...
  2. ip tunnel добавить режим gre1 gre...

Есть ли разница между ними, когда дело касается созданных ресурсов Linux, производительности и т. Д.? Является ли один из способов старомодных?

Приветствия.

2 ответа

Решение

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

Как видно из соответствующего коммита ip link использует более свежий интерфейс ядра - rtnl_link, в сравнении с ip tunnel: "…

Доступ к нему осуществляется через команду "ip link". Предыдущий интерфейс настройки туннеля "ip tunnel" остается без изменений и должен быть сохранен для совместимости со старыми ядрами....

..."

(Извините за ввод ответа вместо того, что должно быть комментарием, комментарий будет слишком длинным, чтобы соответствовать...)

У меня был точно такой же вопрос, как и вы недавно, поэтому я прочитал исходный код iproute2, Как говорит Пойдж, ip link использует другой интерфейс, чем ip tunnel, ip tunnel использует ioctl SIOCGETTUNNEL, SIOCADDTUNNELи т.д., пока ip link использует rtnl_link интерфейс.

Это немного меняет режим интерфейса:

$ sudo ip tunnel add ipiptun mode ipip local 10.3.3.3 remote 10.4.4.4 ttl 64 dev eno1
$ sudo ip link add ipiptun2 type ipip local 10.6.6.6 remote 10.7.7.7 ttl 64 dev eno1 #curiously the mode is any/ip here

    ipiptun: ip/ip remote 10.4.4.4 local 10.3.3.3 dev eno1 ttl 64
    ipiptun2: any/ip remote 10.7.7.7 local 10.6.6.6 dev eno1 ttl 64

Обратите внимание, что теперь существует еще более новый способ создания туннелей, который заключается в использовании облегченных туннелей маршрутов. Cf мой вопрос здесь, пытаясь понять их: Linux облегченные туннели

Другие вопросы по тегам