Тема: GateIP
Показать сообщение отдельно
Старый 03.11.2011, 22:32  
wodewill
На доске почёта
Аватар для wodewill
OFFLINE
Регистрация: 07.02.2008
Возраст: 35
Сообщений: 0
Благодарностей:
1,331 всего
Мнения: + 3113
Репутация: 3487
Отправить сообщение для wodewill с помощью ICQ Отправить сообщение для wodewill с помощью Skype™

Цитата:
Сообщение от DeeN Посмотреть сообщение
Ипы от болды написаны, лижбы показать что разные.
Руками уже все дописанно и работает на одну сеть. Для 2х других - картина, описаная ниже.

Забыл указать что все хозяйство за роутером.

Обмен пакетами за роутером, происходит в следующем порядке (ипы примерные):

Клиент: 192.168.1.3
Сервер: 192.168.1.2
Роутер internal: 192.168.1
Роутер external: 123.123.123.1

Клиент (192.168.1.3) шлет TCP-SYN запрос на external IP, порт 80 (123.123.123.1:80)
Роутер, принимая во внимание порт, отсылает к серверу (192.168.1.2:80) не меняя исходный IP (192.168.1.3)
Клиент ждет SYN-ACK ответа от external IP
Сервер отсылает ответ на прямую клиенту через GateIP (для чего он собственно и нужен).
Клиент получает SYN-ACK от 192.168.1.2 вместо 123.123.123.1. И игнорирует его.
Клиент продолжает ждать SYN-ACK от 123.123.123.1 и в итоге получаем ошибку 128.

Отсуда можно вывести как минимум 2 способа решения:

-Заставить зону отсылать пакет не клиенту а на роут, который через NAT переведет IP в нужный клиенту вид
-Либо обмануть клиент так, что бы он принял ответ сервера с другого IP, чем собственно и занимаюсь уже 5й час, брррр...
ты чет из проблемы которая решаеться дописанием 2 строчек в инишку делаешь катастрофу.
У всех всё пашет и никаких проблем.