查看服务器IP地址最直接的方法是登录服务器,在命令行执行一条查询命令,Linux用ip addr或hostname -I,Windows用ipconfig,一步就能拿到当前网卡的实际IP。
很多人把服务器IP和域名混为一谈,实际上它们是完全不同的东西,服务器IP是数字形式的网络地址,像一串门牌号,域名只是给这串数字起的便于记忆的别名,这篇文章会从命令操作、云控制台查询、常见误区三个维度,把“怎么看一个服务器的ip地址”这件事掰开揉碎讲清楚。
通过命令行查看服务器IP地址
服务器最常见的操作系统是Linux和Windows Server,两种系统的查询命令不同,但思路一致:登录系统,执行命令,读取输出。
Linux系统查询IP地址
近年来主流Linux发行版(CentOS、Ubuntu、Debian)都内置了ip命令,推荐优先使用,登录服务器后,输入:
ip addr
输出结果中会有多个网络接口,lo是本地回环地址(127.0.0.1),不用管它,真正需要看的是eth0、ens3、ens33这类以eth或ens开头的接口,其中inet后面的数字就是这台服务器的IP地址。
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
这里的168.1.100就是当前IP,/24是子网掩码的简写,不影响判断。
如果觉得ip addr输出太长,可以精简一点:
hostname -I
只显示当前服务器所有非回环IP,一行搞定,最适合快速瞄一眼。
ifconfig命令也是常见的,但很多新系统默认没有安装,如果报错command not found,在Ubuntu/Debian上执行apt install net-tools,在CentOS上执行yum install net-tools,装完再执行就行。
Windows Server系统查询IP地址
Windows服务器用ipconfig命令,登录后打开命令提示符(CMD)或PowerShell,输入:
ipconfig
里找到“IPv4 地址”那一行,冒号后面的就是服务器IP,如果是DHCP分配的,还会看到“默认网关”和“DNS服务器”,这些信息同样属于网络配置的一部分。
查询公网IP还是内网IP
命令查出来的是服务器自身网卡上的IP,如果这台服务器在云厂商机房,ip addr看到的往往是内网IP(如10.x.x.x、172.16.x.x、192.168.x.x),这台服务器的公网IP可能通过NAT映射绑定在云控制台上,命令行里直接看不到,这时候需要区分场景:
- 只是想SSH登录服务器,用内网IP就行。
- 网站对外提供服务,必须用公网IP访问。
- 查出来的IP是内网地址,说明服务器处于云内网或公司局域网中。
从云服务商控制台查看服务器公网IP
如果你用的是简米云、酷番云、华为云这类云服务器,控制台是最可靠的查询途径,因为那里的公网IP才是真正对外的地址。
简米云服务器
登录简米云控制台,进入“云服务器ECS”实例列表页面,每一台实例的表格里直接显示“公网IP”和“私网IP”两列,如果没看到公网IP,可能是服务器没有分配公网IP,需要去“弹性公网IP”页面查看绑定的EIP地址。
酷番云服务器
进入“云服务器CVM”控制台,实例列表同样直接展示“主IPv4地址”,鼠标悬停在上面还会显示公网IP和私网IP的详细弹窗。
华为云服务器
在“弹性云服务器ECS”列表页,每个实例条目下方有IP地址信息,公网IP和私有IP分开显示,如果弹性公网IP是单独绑定的,在“弹性公网IP”管理页面也能查到。
行业共识认为,云服务器的公网IP和私网IP可以不同时出现在系统内部,尤其在使用NAT网关的情况下,命令行只能感知到内网层,所以当你需要对外提供访问时,务必以控制台显示的公网IP为准。
同一台服务器有多个IP地址怎么看
服务器可以配置多块网卡,也可以在一块网卡上绑定多个IP,这种情况在运维中不少见,比如一台服务器同时跑多个网站,每个网站用一个独立IP。
查看所有网卡上的IP
用ip addr查看,每个网络接口都有自己的inet行,一个接口也可以有多行inet记录。
2: eth0: ...
inet 192.168.1.100/24 ...
inet 192.168.1.101/24 ...
这说明网卡上绑定了两个IP,哪个是主IP,看路由表:
ip route
默认路由(default via)对应的源IP就是主要出口IP。
区分内网IP和公网IP的判断方法
光看数字很难直接判断,但有一个简单规律:
- 开头、
16.到31.开头、168.开头,这三类都是内网保留地址,无法从公网直接访问。 - 其他IP段(如
114.114.114、8.8.8这类公网DNS或真实公网段)通常是公网IP。
如果你想确认服务器对外出口的公网IP,最实用的方法是让服务器主动访问一个第三方服务,让它回显你的公网IP,在命令行执行:
curl ifconfig.me
或者:
curl ip.sb
这两个服务会返回这台服务器访问互联网时使用的公网IP,如果这个IP和你买的公网IP一致,说明路由正常;如果不一致,中间可能有代理或NAT。
服务器IP地址查询中容易踩的坑
搞清楚了怎么看服务器IP,再提醒几个常见问题,避免你在查询过程中绕弯子换服务器ip地址怎么查的需求被误导。
查到的是内网IP,白忙一场
很多人在服务器上执行ip addr,看到192.168开头的地址,直接拿去访问,结果访问不了,这不是命令错了,而是你查的是内网IP,云服务器的公网IP是映射关系,不在网卡上直接体现,正确做法是去控制台看,或者用
curl ifconfig.me查出口IP。
用localhost或0.0.1当IP地址
0.0.1是回环地址,仅代表本机,服务器上的网站配置、数据库授权、以及你需要填写的服务器IP地址,都不能用这个,它只适合在服务器本机测试服务是否运行正常。
忘记了IP,只能通过服务商找回
如果彻底忘了服务器IP,云服务商的控制台依然能查到绑定关系,据统计,大多数云厂商都支持通过账号ID、手机号等验证方式找回控制台权限,进入实例列表即可看到IP,如果是物理服务器,可能需要联系托管机房查询资产管理页面。
动态IP和静态IP的区别
云服务器的公网IP默认是固定的,只要不手动释放,不会变,但家用宽带或部分低价VPS可能分配动态IP,重启后IP就变了,这时建议使用弹性公网IP或做DDNS解析,否则域名会失效。
Q&A:关于服务器IP地址的常见疑问
怎样查看linux服务器ip地址最准确?
登录服务器执行ip addr,看非lo接口的inet行,就能看到当前网卡的IPv4地址,同时执行curl ifconfig.me可以确认公网出口IP,两个命令结合,能覆盖内网和公网两种视角。
服务器ip地址和域名有什么关系?
域名通过DNS解析指向服务器IP地址,用户访问域名时,DNS服务器返回该域名对应的服务器IP,浏览器再向这个IP发起连接,所以IP是真实地址,域名是为了方便记忆而映射的名字,IP变了,只需修改DNS解析记录,域名不变。
为啥控制台显示的IP和我用命令查到的不一样?
如果控制台显示的是公网IP,命令行查到的是内网IP,这是云服务器的NAT转发机制造成的正常现象,服务器网卡上绑定的是私网地址,云网关将公网流量转发到私网地址上,此时要以控制台显示的公网IP作为对外服务的地址。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/762110.html





