Проблема с ip / портом сокет-сервера - PullRequest
0 голосов
/ 12 сентября 2009

Я пытаюсь настроить сервер сокетов на машине с Ubuntu. Я устанавливал тот же серверный скрипт на своей машине, где он отлично работает. В моем маршрутизаторе я перенаправил порт 10007 на нужный компьютер и привязал ip к моему локальному ip (192.168 ...: 10007).

Теперь мне нужно установить его на выделенном сервере, и именно здесь начинаются проблемы. Кажется, у меня нет локального ip на сервере, по крайней мере ifconfig не покажет мне его. Я попытался привязать к общедоступному ip вместо этого или к 127.0.0.1 или 0.0.0.0, это прекрасно работает, если я telnet с той же машины, но не с другой машины. Кто-нибудь знает, как это решить? Мне нужно настроить переадресацию портов?

Ответы [ 3 ]

2 голосов
/ 12 сентября 2009

Не привязывать к конкретному IP-адресу; используйте INADDR_ANY (IPv4) или адрес из нулей.

Ubuntu включает в себя собственный брандмауэр как часть системы. Если вы не можете подключиться с другого компьютера, убедитесь, что он настроен на блокировку подключений к вашему порту.

Документация по брандмауэру Ubuntu
Страница руководства по Ubuntu ufw

Редактировать: Между вами и сервером, блокирующим порт, также может быть межсетевой экран. Вы можете проверить с вашим хостинг-провайдером или вашим сервисным соглашением; им может потребоваться специально включить каждый дополнительный порт, который требуется. Некоторые провайдеры предлагают различные пакеты хостинга, начиная от базового пакета общего хостинга только для веб-сайтов, поддерживающего только порт 80, и заканчивая выделенным сервером, обеспечивающим полный доступ к машине и всем портам.

1 голос
/ 13 сентября 2009

После запуска вашей программы порт указан в netstat (я использую netstat -a)? Это скажет вам, если порт открыт и прослушивается.

1 голос
/ 13 сентября 2009

NAT - Трансляция сетевых адресов - это то, что позволяет нескольким машинам иметь локальные адреса за маршрутизатором, который представляет один публичный адрес в Интернете. На вашем старом сервере вы почти наверняка находились за маршрутизатором, а не с NAT, поэтому вам пришлось перенаправить порт, чтобы добраться до вашего сервера.

Если вы в настоящее время не находитесь за устройством NAT, поэтому вы не видите частных адресов в диапазоне 192.168.x.x или 172.16.x.x или 10.0.x.x. Вы подключены непосредственно к Интернету, и нет никаких различий между частными и общедоступными адресами. 79.136.x.x - ваш публичный адрес, а у вас нет личного. Просто свяжись с этим и запусти свой сервер.

...