Иногда вы хотите, чтобы отношения между клиентом и сервером были только на вашем сервере, то есть только на localhost.
Но, похоже, что когда вы открываете порт для прослушивания, он также становится доступным в Интернете. Так что, если вы избегаете пароля к серверу с привилегиями root, он будет открыт для всех в Интернете.
Как вы ограничиваете сервер подключениями только с локального хоста или, другими словами, имеете внутреннюю сеть, где вы можете общаться только внутри, даже если у машины есть доступ к Интернету?
можно настроить приложение для слушания только на адресе 127.0.0.1 (localhost), тот способ, которым это не будет рассматриваться как открытое с внешней стороны.
, Например, если у меня есть nginx, слушающий на порте 80 фортов каждый IP и апач, слушающий на порте 8080 для 127.0.0.1:
# netstat -ltnp (Redacted a little to make it clearer)
Local Address State Program name
0.0.0.0:80 LISTEN nginx: master
127.0.0.1:8080 LISTEN apache
при проверке с внешней стороны этих 2 порт (С nmap, например) Вы будете только видеть эти 80, открытые, и эти закрытые 8080:
# nmap $server -p 80,8080
PORT STATE SERVICE
80/tcp open http
8080/tcp closed http-proxy
, При попытке соединиться с 8080:
# telnet $server 8080
Trying $ip...
telnet: Unable to connect to remote host: Connection refused
, Но эти 80 будет работать:
# telnet $server 80
Trying $ip...
Connected to .
Escape character is '^]'.
Hope это помогает!