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

IP / GRE скомпилирован в ядре, но интерфейс gre0 не существует

Я пытаюсь создать IP через туннель GRE, но у меня нет такого устройства:

ip tunnel add gre0 mode gre remote 192.168.152.22 local 192.168.152.21 ttl 255
ioctl: No such device

Я скомпилировал поддержку GRE в своем ядре:

CONFIG_NET_IPGRE_DEMUX=y
CONFIG_NET_IPGRE=y
CONFIG_NET_IPGRE_BROADCAST=y

Здесь нет gre0 интерфейс, когда интерфейсы отображаются через ifconfig -a хотя я вижу все доступные сетевые интерфейсы (также те, которые еще не были повышены).

Моя версия ядра 2.6.30.9 и iproute2 версия 2-2.6.33.

РЕДАКТИРОВАТЬ: ip tunnel show отображает:

ip tunnel show
ioctl: Invalid argument
tunl0: ip/ip  remote any  local any  ttl inherit  nopmtudisc
sit0: ipv6/ip  remote any  local any  ttl 64  nopmtudisc 6rd-prefix 2002::/16

Проблема заключалась в модуле демультиплексора GRE, необходимом для ip_gre. Когда ядро ​​загружает GRE, драйвер демультиплексора регистрирует дескриптор протокола 47, поэтому, когда ip_gre.c пытается сделать то же самое, он терпит неудачу, потому что он был зарегистрирован ранее. Это решается изменением ip_gre.c, чтобы не регистрировать дескриптор GRE протокола.