从fortinet的命令行获取外部公共IP

有没有办法知道一个fortinet的公共IP地址? 有很多服务,如icanhazip.com告诉你当前的IP。 在Linux中,我只是运行:

curl http://icanhazip.com 

这怎么可以用fortinet来完成(如果值得注意的话,我正在使用200B的fortigat)

有些例子出现在我的脑海里:

  • 我想知道我正在使用的默认gw快速的方式
  • 我的DSL路由器是NATing的,所以我不知道直接的公网IP地址
  • 或ips被指定为DCHP / PPPoE(如@mbrownnyc所述)

由于从命令行使用任何forms的curl / wget似乎都是不可能的,所以另一种select是使用nslookup(仍然不确定是否是有效的fortigate命令或仅用于某些forti *产品)。 看到这里我的意思是获得外部IP

有一个技巧,如何做到这一点。 它需要访问互联网上可用的SSH服务器,最好是一台Linux机器。 只需从FortiOS CLI通过SSHlogin服务器:

execute ssh user@sshserverip

login后,inputexit ,然后重新login。 你应该看到一行说:

Last login: date & time from: XXXX

XXXX是你的公开地址,当你第一次login如上所述。

除非从SSH守护程序configuration中删除,否则默认显示“上次login:”行。

如果服务器显示DNS条目而不是IP地址,只需键入nslookup dnsentry即可解决该nslookup dnsentry

我想知道我正在使用的快速方式的default gateway

在我的示例Google DNS中,执行traceroute到您想要定位的接口之外的已知地址。

从FortiOS CLI:

 execute traceroute 8.8.8.8 

我的DSL路由器是NATing ,所以我不直接知道公网IP地址

从FortiOS来看,这是非常棘手的。 打开其他答案,因为我可能会错过一些东西。

另一种方法是打一个网站来获取你访问该网站的IP地址,find一个STUN / ICE客户端,并find一个公共的STUN / ICE服务器,它将返回你所希望的信息。 但是你不能从FortiOS做这些事情。

或分配为DCHP / PPPoE IPs (如@mbrownnyc所述)

分配给Fortigate的IP可以按如下方式进行评估:

 show system interface 

你可以在Fortinet网站上看到这个小小的video 。

如果你有一个来自你的提供商的外部IP地址 – 我有一种方法可以通过CLI了解它:重要的是,在这一行之后不要按回车,按?

 $ show system interface ? 

所以在这个命令之后,你会看到wanX pppoe下的外部地址

我来到这里是因为我想知道同样的事情。 当然,你可以用交叉电缆把电脑插入内部端口,但是我认为必须有另一种方法才能得到它。

所以解决办法是在安装wirehark的fortigate的外部有一台计算机。 然后在fortigate命令行中,你

 execute ping "computer IP address" 

而计算机正在使用“icmp”显示filter运行wireshark。

现在你应该通过它的外部IP地址来获得Fortigate的ping请求。