如何限制服务器仅与本地主机建立连接?

如何限制服务器仅与本地主机建立连接?

有时您只想在您的服务器上建立服务器-客户端关系,即仅有localhost

但似乎一旦你打开一个端口进行监听,它也会在网上被监听。所以如果你避免使用 root 权限的密码,那么这个服务器似乎对网上的每个人都是开放的。

如何限制服务器localhost仅能从内部网络进行连接,或者换句话说,拥有一个内部网络,即使机器可以访问互联网,您也只能在内部进行通信?

答案1

您可以将应用程序配置为仅监听地址 127.0.0.1(localhost),这样它就不会被外部视为开放。

例如如果我有一个 nginx 监听每个 IP 的 80 端口,还有一个 apache 监听 127.0.0.1 的 8080 端口:

# 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

如果你从外部检查这两个端口(例如使用 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 '^]'.

希望能帮助到你 !

相关内容