我想将我现有的计算机变成文件服务器。问题是我找不到我的公共IP。我使用过myip甚至google等服务,但它们都指向我在另一个城市的ISP服务器的IP。
有人知道吗:
- 我如何找到我的公共IP和
- 如何从 LAN 外部访问我的计算机?
答案1
您很可能没有静态公共 IP 地址。除非您有企业帐户,否则许多 ISP 不会为您提供静态地址。解决这个问题的方法是使用动态 DNS(如果您的路由器支持)。只需 Google 一下您的路由器型号和 ddns 即可了解如何设置您的路由器。如果您的路由器不支持 DDNS,则根据您的设置,您也许可以使用计算机更新您的 DNS 记录。
DDNS 的工作原理是,有一项服务将您的域名映射到您的 IP 地址,并且您的路由器或一台计算机上有一个程序会定期更新 dns 服务,以便当您的 IP 地址更改时,您的域名仍然指向您的路由器。除此之外,您还需要通过路由器转发所需的端口或将“服务器”放在 DMZ 中。
我使用的是动态DNS动态网我以为他们有免费的有限版本,但我似乎在手机上找不到它。
答案2
您可以设置转发端口在你的路由器上:它使用网络地址转换重定向来自以下位置的数据包外部网络到主机里面网络。
例如,假设您在 192.168.1.104:21 上有一个 FTP 服务器。您可以将路由器设置为将端口 21 上来自外部的所有通信请求重定向到 192.168.1.104:21(或任何网络内的主机)。
通过在路由器界面中进行设置,您可以使驻留在内部主机上的任何服务可供网络外部的任何主机使用。要访问 FTP 服务器,您需要输入:
ftp -p yourpublicip:21
答案3
您可以从许多不同的来源轻松获得您的公共 IP 地址。其中最简单的是谷歌:“我的 IP 地址是多少”。
还有一些相当简单的方法可以从命令行获取它;通常通过cURL
.我发现的最快且最可靠的是开放DNS。
$ curl https://diagnostic.opendns.com/myip
104.154.45.56
$
另一件更令人难忘并且多次让我摆脱困境的是ifconfig.me。但请注意:它比糖蜜慢,除了好奇之外不应该用于任何其他用途。在撰写本文时,它在响应我的 IP 地址之前两次超时。
$ curl ifconfig.me
104.154.45.56
$
如何从 LAN 外部访问我的计算机
这是一个更复杂的问题,并且在很大程度上取决于您需要它的可靠性。如果您希望域名长时间(即 > 1 年)正常运行,您需要向正规的注册商支付域名费用。但我感觉您在任何实际的生产环境中都不需要它。
我经常.tk
从以下网站获得免费 TLD 名称自由名当我想在现实或个人环境中模拟某些东西时。不过,我不确定他们是否提供动态 DNS 更新服务。我通常使用云耀光我的 DNS 提供商,他们确实提供该服务。如果您使用的ddclient
是一个著名的动态 DNS 更新工具,下面是配置文件的示例。
##
## CloudFlare (cloudflare.com)
##
ssl=yes
protocol=cloudflare, \
server=www.cloudflare.com, \
[email protected] \
password=my-cloudflare-api-key \
my-awesome-site.com,
CloudFlare 资源和下载 - 动态 DNS 客户端:ddclient
最后需要注意的是,不要忘记在路由器上设置端口转发,以将入站数据包定向到专用服务器上的侦听端口!
答案4
你说的是NAT地址。这是将您的专用网络转换为公共地址。网络地址转换您可以尝试其他网站。
为了访问该服务器,您必须设置 VPN 并连接服务器和客户端。