我在机场极端后面有一个 OS X 服务器,通过机场上开放的端口提供服务。
服务器有一个 10.0.xx 本地地址,始终是同一个。Airport Extreme 通过 PPPoE 获取其外部 IP 地址,有时......每周更改一次。
出于安全原因,我们确实喜欢这种行为。但我需要一种方法来了解外部 IP 地址,以防我需要在外部连接服务器并对其进行某些操作。
我能做些什么?
答案1
获取动态 DNS 服务。互联网上有许多此类服务可供使用...
答案2
我用于这种行为的网站是ifconfig.me。这可以返回您想要使用的任何格式的数据。例如,在只需要 ip 的 bash 脚本中:
IP=`curl http://ifconfig.me/ip`
当然,如果出现错误,您需要检查返回代码。不过,对于脚本来说,它似乎相当强大。
答案3
- 打开浏览器。
- 访问一个可以告诉您 IP 地址的网站。
- 将脚本纳入定期作业以获得最佳效果。
或者,购买静态 IP 地址,但如果您只是偶尔/以防万一需要知道,这就是您要做的。并确保设置 IPv6/NAT/端口转发,以便连接在到达网关时真正转到服务器。
引用@MichaelHampton:
答案4
您可以设置一个 cron 作业来执行以下脚本:
#!/bin/bash
TIME='date' $TIME
IP='curl http://ifconfig.me/ip' $IP
echo $TIME - $IP >> ~/iplogging.txt
这将输出脚本运行时的时间戳和 IP 并将其记录到 ~/iplogging.txt。