Удаленное сокетное соединение C

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

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/). Кроме того, я отключил брандмауэр, таким образом, это не может быть причина отказа...

Какая-либо справка?

0
задан 09.04.2011, 09:53

3 ответа

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

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

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

1
ответ дан 24.11.2019, 12:02

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

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

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

0
ответ дан 24.11.2019, 12:02

Ваши 192.168.1.2 машины позади маршрутизатора? или действительно ли это - маршрутизатор?.

Необходимо будет обычно устанавливать правило перенаправления портов позволить общедоступному трафику портировать 20600 на маршрутизаторе, который будет перенаправлен к 192.168.1.2

0
ответ дан 24.11.2019, 12:02

Теги

Похожие вопросы