Назад | Перейти на главную страницу

Переадресация портов не работает, tcpdump показывает «сбросить соединение»

У меня есть домашний веб-сервер, который я использую для обслуживания нескольких страниц в личных целях. Сервер работает под управлением Ubuntu и находится за ADSL-соединением, и он работает нормально.
Недавно я подписался на соединение Hiperlan и добавил для него маршрутизатор в свою локальную сеть. Итак, ситуация такая:

Прямо сейчас я пытаюсь настроить новый маршрутизатор для обработки переадресации портов, чтобы я мог удалить старый маршрутизатор, но у меня возникла проблема. В принципе, если я пытаюсь установить telnet на свой Hiperlan-IP-адрес извне (через соединение OpenVPN с моим офисом), telnet зависает там ... Я сделал tcpdump на сервере, вот он (.254 - это веб-сервер):

20:07:53.795370 IP my.externalhost.38195 > 192.168.7.254.www: S 2766630416:2766630416(0) win 5840 <mss 1460,sackOK,timestamp 924929110 0,nop,wscale 7>
20:07:53.795426 IP 192.168.7.254.www > my.externalhost.38195: S 1526241928:1526241928(0) ack 2766630417 win 5792 <mss 1460,sackOK,timestamp 888004836 924929110,nop,wscale 6>
20:07:53.837928 IP my.host.38195 > 192.168.7.254.www: R 2766630417:2766630417(0) win 0

Я думаю, это означает, что после того, как сервер отвечает на первый «вопрос» клиента, что-то идет не так, и клиент просит сбросить соединение ... Как я могу узнать, что происходит? Я пробовал отключить брандмауэр на сервере (ufw disable), но ничего не меняется ... В любом случае, если я попытаюсь подключиться к тому же IP из локальной сети, это сработает.

Я думаю, что у вас есть:

  • полноценный брандмауэр
  • маршрут с другим обратным путем (асимметричная маршрутизация)

Из-за этого возвратный пакет (SYN + ACK) не считается частью соединения, и межсетевой экран их отклоняет.

Я бы проверил маршруты и изменил их так, чтобы они были на том же пути.