透过路由器连接上网的 Linux 系统, 路由器会分配一个私 IP 地址, 用 ifconfig 指令只会看到私有 IP 地址。如果在 Shell Script 需要查看对外的 IP 地址, 除了可以用撷取一些显示 IP 地址的网站外, 以下分享一个使用 dig 及 OpenDNS 取得出外部 IP 的方法。
使用上十分简单, 只要一行指令便可以取得 IP:
$ dig +short myip.opendns.com @resolver1.opendns.com
xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx
其中 xxx.xxx.xxx.xxx 就是回传的对外连接 IP, 放到 Shell Script 可以这样写:
|
1 2 3 4 5 |
#!/bin/sh ip=$(dig +short myip.opendns.com @resolver1.opendns.com) echo $ip |