Маршрутизируемая сеть, клиенты подсети нарушили соединение TCP

Я управляю сервером linux, который работает также как маршрутизатор и маршрутизирует между следующими сетями:

  • PPPoE (для подключения к провайдеру) (по умолчанию gw)
  • проводная сеть
  • 2 сети VPN (PPTP и openVPN)
  • беспроводная точка доступа (DHCP)

Все хосты доступны с сервера Linux, клиентов WAN, Wifi, VPN и LAN. Но иногда из локальной сети и точки доступа я не могу получить доступ к некоторым веб-страницам, вот пример: теперь 8tracks.com недоступен (23.23.196.130).

Сначала я пытаюсь связаться с AP (тот же результат, если я пытаюсь из локальной сети). Установленное соединение отправлено, но ответ не получен.

закрыл соединение через 7 секунд.

Затем я подключился с сервера, и страница успешно загружена.

Другое странное: если я попытаюсь подключиться через VPN, соединение будет успешным.

У меня одинаковые настройки маршрутизации для всех сетей, правила брандмауэра унифицированы для всех интерфейсов.

Я понятия не имею, почему иначе работает связь с другим интерфейсом с такой же конфигурацией.

Netdump от клиента AP и от сервера

1 ответ

Решение

Вероятно, у вас также есть легион маскарадных /NAT-ted соединений. Linux обрабатывает их в статической хеш-таблице, которая может переполниться. После этого вы получите именно эту мистическую проблему.

Команда

cat /proc/sys/net/netfilter/nf_conntrack_max

говорит вам, каков верхний предел этой хэш-карты. Умножьте это на 13 и установите его командой

echo #muchbiggernumber# >/proc/sys/net/netfilter/nf_conntrack_max

Если это стало причиной вашей проблемы, вы можете сделать это изменение постоянным редактированием /etc/sysctl.conf интуитивно.

Другие вопросы по тегам