Hi, 题主你好

如果你希望在 Linux 伺服器上获取到当前伺服器的 IP,可以为你介绍一个简单的命令,来实现这个功能。

curl https://ip.cn

执行这个命令以后,你会获取到一个字元串,其中的 ip 部分,就是你当前伺服器的 IP 地址

{"ip": "113.104.215.69", "country": "广东省广州市", "city": "电信"}

发布于 2019-08-30继续浏览内容知乎发现更大的世界打开Chrome继续明月登楼明月登楼?

南阳市橘慧网路科技有限公司 运维总监

你都在Linux搭建FTP了还不知道伺服器IP?这问题让我想起了一个段子:「请问?110报警电话号码是多少?」

知乎里提问请走点心好不?


你都在Linux搭建FTP了还不知道伺服器IP?这问题让我想起了一个段子:「请问?110报警电话号码是多少?」

知乎里提问请走点心好不?


ifconfig


方法一,ifconfig、ip addr,不推荐,大概率得不到公网ip

方法二,curl http://myip.ipip.net,其他回答的网站也可以用,推荐

方法三,伺服器后台管理界面查看ip,推荐,也是最靠谱的方法


在?为什么不百度?

网卡IP:

ifconfig

获取出口IP

命令行查询(详细):

UNIX/Linux:

#curl cip.cc

Windows:

&>telnet http://cip.cc

&>ftp cip.cc

命令行查询(纯ip):

UNIX/Linux:

#curl ip.cip.c

再不会还想了解具体的,请付费咨询


大家不必嘲讽这个问题,ftp服务确实比较复杂。被动模式下需要由ftp服务端返回数据通道的ip和埠,这个ip默认是ftp自己选的,一般是ftp的监听地址。如果没有指定监听地址,可能会选伺服器默认网关对应的网卡的第一个ip地址。但是这个地址不一定能用,可能需要手动指定一个正确的ip地址。

一 直连网路

直连网路包括两种情况,一种是公网直接配在ftp伺服器上,可以直接访问。一种是在内网中使用ftp,但是ftp的内网地址可以直接访问。只要ftp伺服器地址可以直接访问,就不需要手动指定,让ftp自动选择就可以。

二 dnat

有些伺服器是经过dnat(目的地址转换)访问的,比如阿里云和aws的虚拟机。这种伺服器上一般只有一个172开头的内网ip,没有公网ip。伺服器与公网互联需要经过上层的虚拟交换机做nat转换。这种情况也比较简单,ftp的地址就是ssh远程连接的地址。也可以curl http://ip.cn或http://myip.ipip.net查看公网ip。

三 反向代理/堡垒机

出于安全方面的考虑,有些运维会选择用堡垒机统一管控伺服器的远程连接。因为堡垒机需要对远程连接进行一些监控,网路性能不会很高,所以业务流量要走另外的路径,一般是通过反向代理被公网访问。也可以先dnat再snat,不过这个情况和反向代理类似。这种情况下,ftp伺服器的ip就是反向代理的ip。如果有多层代理,选最外层的ip。


Centos7中是ip addr


推荐阅读:
相关文章