Назад | Перейти на главную страницу

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

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

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

  1. ip ссылка добавить имя gre1 тип gre ...
  2. ip туннель добавить gre1 mode gre ...

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

Ура.

Обе команды 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