Я хочу поместить несколько сетевых устройств в отдельные сети дома. У меня есть VLAN-коммутатор и настроено несколько VLAN.

Доступ в интернет осуществляется через фритч-бокс, который находится на VLAN 50.

Для маршрутизации между различными VLAN у меня есть ODROID C1+ с ArchLinux. Я настроил его на наличие виртуальных сетей (по одной на каждую VLAN) на eth0.

Я добавил некоторые правила, используя ipchains, чтобы разрешить связь между внутренними VLAN и VLAN 50 для доступа в Интернет.

Первая попытка

Сначала я запустил dnsmasq в качестве сервера DNS и DHCP на ODROID для внутренних VLAN. VLAN 50 управляется frizbox со статическим IP для ODROID.

Если бы я начал просматривать на клиентском компьютере во внутренней VLAN. Каждый ~ 5-й раз, когда нужно было разрешить адрес, требовалось несколько секунд, иногда до тех пор, пока Chrome не отобразил страницу с ошибкой DNS. Перезагрузка показала страницу мгновенно.

Иногда в Steam возникали проблемы с подключением, однако после подключения загрузка происходила быстро. Просмотр магазина имеет те же проблемы, что и просмотр в Chrome.

Не имеет значения, настроен ли dnsmasq для пересылки DNS-запросов на fritzbox или другие DNS-серверы. например, googles '8.8.8.8.

Вторая попытка

Я заменил dnsmasq на dhcpd и настроил его для доставки IP-адреса fritzbox в качестве DNS-сервера. Таким образом, нет DNS-сервера на ODROID больше.

Проблема сохраняется.

Анализ

Я пытался использовать tcpdump, wireshark и внутреннюю трассировку fritzbox, чтобы выяснить, что происходит, но у меня есть только базовые знания с этим.

Однако мне удалось отследить медленный запрос / ответ (lufthansa.de). Я заметил, что было четыре запроса от клиента (192.168.10.33) к ODROID (192.168.10.1), который был перенаправлен на fritzbox (192.168.178.1), но только четвертый вызвал внешний запрос к DNS-серверу ISP (195.50.140.229).

К тому времени прошло уже 3 секунды, и ответ клиенту занял всего 0,02 секунды.

1   0.000000    192.168.10.33   192.168.10.1    DNS 72  Standard query 0xb45b A lufthansa.de
2   0.000426    192.168.178.52  192.168.178.1   DNS 72  Standard query 0xd007 A lufthansa.de
3   0.031337    192.168.10.33   192.168.10.1    DNS 72  Standard query 0xb45b A lufthansa.de
4   0.031678    192.168.178.52  192.168.178.1   DNS 72  Standard query 0xd007 A lufthansa.de
5   1.031410    192.168.10.33   192.168.10.1    DNS 72  Standard query 0xb45b A lufthansa.de
6   1.031746    192.168.178.52  192.168.178.1   DNS 72  Standard query 0xd007 A lufthansa.de
7   3.032089    192.168.10.33   192.168.10.1    DNS 72  Standard query 0xb45b A lufthansa.de
8   3.032430    192.168.178.52  192.168.178.1   DNS 72  Standard query 0xd007 A lufthansa.de
9   3.033214    92.217.249.36   195.50.140.229  DNS 80  Standard query 0x14a6 A lufthansa.de
10  3.049763    195.50.140.229  92.217.249.36   DNS 96  Standard query response 0x14a6 A lufthansa.de A 67.207.75.188
11  3.050508    192.168.178.1   192.168.178.52  DNS 88  Standard query response 0xd007 A lufthansa.de A 67.207.75.188
12  3.050814    192.168.10.1    192.168.10.33   DNS 88  Standard query response 0xb45b A lufthansa.de A 67.207.75.188

Есть идеи, что может быть не так? Некоторые настройки в fritzbox? Или что-нибудь на ODROID?

Спасибо за вашу помощь.

Заметки

  • Скорость соединения в порядке. Как только имя будет разрешено, оно будет таким же быстрым, как и ожидалось.
  • Проблема исчезнет, если я подключу клиента напрямую к fritzbox.
  • Проблема также не показала, когда я использовал только две VLAN, одна из которых управлялась fritzbox как внутренняя сеть, другая - как гостевая сеть. К этому времени нет "внутреннего" роутера.

0