Прозрачный Ethernet через GRE не передает трафик

Я работаю на Linux 2.6.30.9 и пытаюсь настроить прозрачный Ethernet через GRE-туннель. Используемая топология сети:

введите описание изображения здесь

Я хочу сфокусировать PC1 и PC2 с помощью Transparent Ethernet через GRE. RouterA подключен к Интернету через ppp0 как RouterB. Оба интернет-соединения – PPPOE (PPPoEoA PVC).

Так я и делаю:

В RouterA (Linux 2.6.30.9):

ip link add testgre type gretap remote 193.152.243.206 local 95.121.205.77 ttl 255 brctl addif br0 testgre ip link set testgre up 

В RouterB (Linux 2.6.30.9):

 ip link add testgre type gretap remote 95.121.205.77 local 193.152.243.206 ttl 255 brctl addif br0 testgre ip link set testgre up 

Вывод некоторых команд:

В RouterA (аналогичный вывод в RouterB):

 # ip link show testgre 36: testgre: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1442 qdisc pfifo_fast state UNKNOWN qlen 1000 link/ether 5f:79:cd:4d:c6:57 brd c1:98:f3:ce:ff:ff # brctl show bridge name bridge id STP enabled interfaces br0 8000.5f79cd4dc657 no eth0.5 eth0.4 eth0.3 eth0.2 wlan0 testgre 

Затем я делаю запрос PING с PC1 на PC2:

 ping 192.168.1.33 

Я запускаю tcpdump в RouterA, и я вижу рамку запроса ARP через ppp0 (файл pcap, открытый с помощью Wirehark):

введите описание изображения здесь

Я запускаю tcpdump в RouterB, подключенном к ppp1, и вижу, что ARP-запрос пришел, но его не переадресовали с L2 на PC2. Я не вижу запрос ARP в PC2.

Я пытаюсь использовать записи ARP статики, но запрос ICMP имеет ту же проблему, но не пересылается на PC2.

Не существует правил ebtables. Нормы iptables (действие по умолчанию – ACCEPT для ebtables и iptables). Должен ли я добавить ppp0 для интерфейса интерфейса или что-то в этом роде?

  • Статические маршруты в HP-UX
  • Различные сайты на разных интерфейсах с использованием агрегации ссылок
  • Как перенаправить конкретные адреса через туннель?
  • Невозможно выяснить, как маршрутизировать пакет через многожильный nic
  • ip-маршрут соответствует нескольким полям
  • Ассиметрические проблемы маршрутизации в LINUX
  • Откуда этот адрес IPv6?
  • Маршрутизация мобильных соединений для нескольких восходящих линий
  • One Solution collect form web for “Прозрачный Ethernet через GRE не передает трафик”

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

    Я решил первый вопрос, позволив драйверу демультиплексора GRE в gre.c зарегистрировать обработчик протокола GRE в ядре. Но я обнаружил, что когда GRE-пакет прибывает, GRE-обработчик не указывает на какую- ip_gre.c функцию ip_gre.c (драйвер демультиплексора GRE должен проверить версию GRE в пакете и передать ведро правильному обработчику протокола, но в моем случае он указывает NULL) ,

    Я прокомментировал фрагмент кода, где gre.c регистрирует обработчик протокола GRE, и я раскоментировал фрагмент кода, где ip_gre.c регистрирует обработчик протокола GRE. Теперь, когда прибывает пакет GRE, он отлично декапсулируется и переходит на следующий уровень, теперь я могу выполнить ping с PC1 на PC2 без каких-либо проблем. Я думаю, что эта проблема происходит со многими людьми во встроенных устройствах, потому что я искал в Google сообщение об ошибке «ipgre init: не могу добавить протокол», когда драйвер IP GRE не может запускаться, поскольку драйвер демультиплексора GRE еще не зарегистрировал обработчик GRE и я нашел несколько устройств с этой ошибкой.

    Interesting Posts

    Установить переменную на случайный элемент в массиве

    Как определить, улучшает ли пользовательское ядро ​​производительность системы?

    Заменить маркер в текстовом файле произвольным новым текстом

    Построить Gimp из библиотек пользовательского пути

    Изменяется ли индекс при переименовании или перемещении файла?

    Пароль root запрашивается для чего-либо после dist-upgrade

    Postfix / devcot MailServer – не получает письма

    Возможно выполнить команду pipe с помощью su через ssh

    Когда я запускаю `./command.sh &`, фоновая задача приостанавливается. Как я могу продолжать работать?

    Странное сообщение об ошибке при установке CentOS 6.5 относительно диска, содержащего метаданные BIOS RAID?

    Получите разницу между исходными файлами, установленными с apt и текущими файлами

    Как установить libtoolize

    Любимые секционирующие и монтажные трюки

    Как полностью отсоединить процесс

    Разрешения / dev / shm и / dev / mqueue

    Linux и Unix - лучшая ОС в мире.