Я написал простое серверное приложение на C. Мне удалось установить соединение с помощью telnet. Проблема в том, что я не могу добраться до сервера, если в telnet я указываю public вместо local ip. Я имею в виду это сработало

telnet 192.168.1.2 20600

пока это не

telnet 151.53.150.45 20600

Я читал в Интернете, что это проблема конфигурации NAT, но порт 20600, кажется, открыт (согласно http://www.canyouseeme.org/ и http://www.yougetsignal.com/tools/open-ports/). , Кроме того, я отключил брандмауэр, поэтому он не может быть причиной сбоя ...

Любая помощь?

3 ответа3

1

Типичный домашний NAT предназначен для обеспечения связи исходящих соединений с внешними конечными точками. По умолчанию домашний NAT не перенаправляет порты на внешнем интерфейсе (например, от вашего провайдера кабельного модема) к вашему устройству разработки.

Вам нужно настроить NAT для переадресации входящих соединений через порт 20600 на 192.168.1.2. Это часто называют "переадресацией портов". Проверьте http://portforward.com/ для подробных руководств для большинства аппаратных опций.

Вопросы об этих деталях конфигурации были бы более подходящими для http://superuser.com.

0

Ваш компьютер 192.168.1.2 находится за маршрутизатором? или это роутер?

Обычно вам нужно настроить правило переадресации портов, чтобы разрешить перенаправление общего трафика на порт 20600 вашего маршрутизатора на 192.168.1.2.

0

Я надену свою экстрасенсорную шляпу и угадаю, что здесь происходит.

У вас есть клиент, скажем, 192.168.1.3 , и вы можете просто отлично подключиться к нему к 192.168.1.2 . Но когда вы пытаетесь подключиться от него к внешнему IP-адресу вашего маршрутизатора NAT, вы ничего не получаете. Это потому, что вы находитесь внутри маршрутизатора NAT, и он дешевый и не настроен для такого рода вещей. Чтобы убедиться, что ваш сервер доступен вне вашей сети, вы должны попытаться связаться с ним за пределами вашей сети.

Зайдите в дом друга и попробуйте подключиться. Если это не работает, убедитесь, что вы правильно настроили переадресацию портов на устройстве NAT. Если это все еще не работает, задайте новый вопрос здесь и отправьте некоторый код.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .