有什么方法可以知道 Fortinet 的公共 IP 地址吗?有许多服务(例如 icanhazip.com)可以告诉您当前 IP。在 Linux 中,我只需运行:
curl http://icanhazip.com
如何用 Fortinet 来实现这一点(我使用的是 fortigat 200B,以防万一)
我想到了一些案例:
- 我想快速了解我正在使用的默认网关
- 我的 DSL 路由器正在 NATing,所以我无法直接知道公共 IP 地址
- 或者指定为 DCHP/PPPoE 的 IP(如 @mbrownnyc 所述)
由于似乎无法从命令行使用任何形式的 curl/wget,因此另一个选择是使用 nslookup(仍然不确定它是否是有效的 FortiGate 命令或仅适用于某些 forti* 产品)。请参阅此处了解我的意思获取外部IP
答案1
有个技巧可以做到这一点。它需要访问互联网上可用的 SSH 服务器,最好是 Linux 机器。只需从 FortiOS CLI 通过 SSH 登录到服务器即可:
execute ssh user@sshserverip
。
登录后,输入退出exit
,然后重新登录。然后你应该看到一行:
Last login: date & time from: X.X.X.X
。
XXXX 是您的公共地址,当您第一次登录时,如上所述。
除非从 SSH 守护进程配置中删除“上次登录:”行,否则默认显示该行。
如果服务器显示 DNS 条目而不是 IP 地址,只需输入以下命令即可解决
nslookup dnsentry
答案2
尝试“diagnose system waninfo ipify”,它将向您显示面向公众的 IP 地址、GeoIP 信息以及您是否在 FortiGuard 的黑名单中。如果您有多条互联网线路,它还会将源 IP 地址作为可选参数。(在 FortiOS 6.2 上测试)
答案3
我来这里是因为我也在想同样的事情。当然,你可以用交叉电缆将 PC 插入内部端口,但我认为肯定还有其他方法。
因此,解决方案是在 fortigate 外部安装一台安装了 wireshark 的计算机。然后在 fortigate 命令行中,
execute ping "computer IP address"
当计算机运行带有“icmp”显示过滤器的 wireshark 时。
现在您应该可以通过其外部 IP 地址从 fortigate 获取 ping 请求。
答案4
如果你有来自提供商的外部 IP - 我有一种方法可以通过 CLI 了解它:重要 - 在这行之后不要按回车键,请按?
$ show system interface ?
所以执行完这个命令后你会看到wanX pppoe下的外部地址