Настройка Ethernet через GRE не работает.

Вопрос или проблема

Нажмите здесь для получения топологии сети

У меня проблемы с настройкой L2 через GRE туннель с использованием вышеуказанной гиперссылки.

Следующие команды использовались для настройки GRE туннеля.

Создание и активация GRE туннеля:

   > ip link add gre0 type gretap remote (CM WAN IP) local (GRE Eth1)
   > ifconfig gre0 up                                 

Создание моста, добавление интерфейса и активация:

   > brctl addbr br0
   >  ifconfig br0 up
   > brctl addif br0 gre0
   > brctl addif br0 eth2

Добавление маршрута для получения от CM после декapsulation

  > ip route add 192.168.27.0/24 dev eth1

Проблема заключалась в следующем:

  1. CPE1 (00-0A-79-9F-60-AF) отправлял DHCP discover через GRE туннель на DHCP сервер. (eth1 -> gre0 -> br0 -> eth2)
  2. DHCP предложение видимо на eth2, br0 и gre0, но не на eth1 (eth2 -> br0 -> gre0 -> eth1)
  3. Похоже, что DHCP предложение отбрасывается перед тем, как оно выходит на eth1 с инкапсуляцией (GRE капсула).

Может кто-нибудь подсказать, что может быть не так в моих настройках??

МОЙ “uname -a” это

 Linux x1-6-00-10-dc-b0-95-b7 3.2.0-29-generic-pae #46-Ubuntu SMP Fri Jul 27 17:25:43 UTC 2012 i686 i686 i386 GNU/Linux

“ip link show” после настройки туннеля

 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:40:05:00:00:28 brd ff:ff:ff:ff:ff:ff
 3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:10:dc:b0:95:b7 brd ff:ff:ff:ff:ff:ff
 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP qlen 1000
link/ether 00:05:5d:01:be:f9 brd ff:ff:ff:ff:ff:ff
 6: gre0@NONE: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1462 qdisc pfifo_fast master br0 state UNKNOWN qlen 1000
link/ether ae:b7:f8:23:94:36 brd ff:ff:ff:ff:ff:ff
 7: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1462 qdisc noqueue state UP 
link/ether 00:05:5d:01:be:f9 brd ff:ff:ff:ff:ff:ff

## https://askubuntu.com/users/233326/david-c Я знаю, что это старо, но для будущих справок:
## Извините, но это неправда. Вот что я настроил и что работает:

ip link add gretap14 type gretap local 192.168.1.8 remote 192.168.1.5
ifconfig gretap14 up
brctl addif br14 gretap14

## И я могу получить dhcp (в другой подсети) от сервера 192.168.1.5, на клиентах в локальном br14. Чистый мост L2. Для меня это просто вопрос передачи нескольких VLAN (Trunk) по одной беспроводной связи.

Ответ или решение

Чтобы решить проблему с настройкой Ethernet через GRE-туннель, необходимо внимательно рассмотреть конфигурацию и возможные причины, по которым DHCP-ответ не достигает интерфейса eth1. Давайте разберем ваши действия и найдём источник проблем.

1. Проверка конфигурации туннеля GRE

По вашим командам, вы создали корректный GRE-туннель и добавили его в мост br0. Однако есть ключевые моменты, на которые стоит обратить внимание:

  • Команда ip link add gre0 type gretap remote (CM WAN IP) local (GRE Eth1) должна точно указать IP-адреса. Убедитесь, что IP-адреса корректные и доступны между двумя концами туннеля.
  • Проверка статуса интерфейсов с помощью ip link show показывает, что интерфейс gre0 активен, что является хорошим признаком.

2. Анализ маршрутизации

Вы добавили маршрут для сети DHCP-сервера через интерфейс eth1:

ip route add 192.168.27.0/24 dev eth1

Однако, если вы ожидаете, что у вас будет обратный маршрут от DHCP-сервера к вашему клиенту, убедитесь, что он корректно настроен на сервере. Все маршруты должны соответствовать двум сторонам туннеля.

3. Работа с DHCP

Вы упомянули, что DHCP-ответ наблюдается на интерфейсах eth2, br0 и gre0, но не доходит до eth1. Это говорит о возможной проблеме с пересылкой или фильтрацией трафика.

4. Проверка фильтрации пакетов

Убедитесь, что вы не используете какие-либо правила iptables или другие средства фильтрации трафика, которые могут блокировать DHCP-ответы. Проверьте правила с помощью:

iptables -L -v -n

5. Проверка MTU и фрагментации

MTU GRE-туннеля, как видно из вывода ip link show, равен 1462. Это значение может быть причиной фрагментации пакетов. Проверка пакетов на предмет их фрагментации может помочь:

Используйте эту команду, чтобы попытаться установить MTU до 1400 на вашем интерфейсе:

ifconfig gre0 mtu 1400

6. Использование Wireshark или tcpdump для отладки

Запустите захват пакетов на eth1, чтобы увидеть, достигают ли ваши DHCP-ответы интерфейса. Это поможет идентифицировать, происходит ли потеря пакетов:

tcpdump -i eth1 -n -vvv port 67 or port 68

7. Убедитесь в правильности настройки DHCP

Проверьте настройки DHCP-сервера. Убедитесь, что он правильно настроен на раздачу адресов из назначения, которое вы ожидаете.

Заключение

После выполнения всех вышеперечисленных шагов, проблема с GRE-туннелем и DHCP, скорее всего, будет решена. Убедитесь, что настройки всех интерфейсов и маршрутов корректны. Если проблема сохраняется, рассмотрите возможность использования альтернативных инструментов для отладки сети, таких как Wireshark, для более глубокого анализа трафика. Каждый шаг поможет лучше понять и проанализировать ситуацию, что в конечном итоге приведет к успешной работе вашего окружения.

Оцените материал
Добавить комментарий

Капча загружается...