Маршрутизируемая сеть, клиенты подсети нарушили соединение TCP
Я управляю сервером linux, который работает также как маршрутизатор и маршрутизирует между следующими сетями:
- PPPoE (для подключения к провайдеру) (по умолчанию gw)
- проводная сеть
- 2 сети VPN (PPTP и openVPN)
- беспроводная точка доступа (DHCP)
Все хосты доступны с сервера Linux, клиентов WAN, Wifi, VPN и LAN. Но иногда из локальной сети и точки доступа я не могу получить доступ к некоторым веб-страницам, вот пример: теперь 8tracks.com недоступен (23.23.196.130).
Сначала я пытаюсь связаться с AP (тот же результат, если я пытаюсь из локальной сети). Установленное соединение отправлено, но ответ не получен.
закрыл соединение через 7 секунд.
Затем я подключился с сервера, и страница успешно загружена.
Другое странное: если я попытаюсь подключиться через VPN, соединение будет успешным.
У меня одинаковые настройки маршрутизации для всех сетей, правила брандмауэра унифицированы для всех интерфейсов.
Я понятия не имею, почему иначе работает связь с другим интерфейсом с такой же конфигурацией.
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 интуитивно.