linux如何查看ip:多条命令按需选用

linux如何查看ip,主流分为ip命令、ifconfig命令、hostname命令、nmcli命令四类,ip命令适配CentOS7、Ubuntu18.04之后的绝大多数新版发行版,ifconfig需要提前安装net-tools工具包,hostname仅能查看主机对外IP,nmcli适合启用NetworkManager服务的服务器,虚拟机NAT模式下,命令查到的是内网IP,公网IP需要访问外部查询接口获取。

linux如何查看ip:ip命令操作

你直接输入ipa执行,这条命令全称ipaddress,输出内容会列出服务器所有网卡,包含回环网卡lo、物理网卡eth0或者ens33、虚拟网卡,inet后面跟着的就是IPv4内网地址,inet6对应IPv6地址,网卡状态里的UP代表网卡处于启用状态,DOWN代表网卡未启用。你可以加上网卡名称缩小查询范围,示例为ipashowens33,只输出指定网卡信息,减少无关内容干扰。

ipr可以查看路由信息,顺带确认网关与出口IP,适合排查多网卡环境下流量走哪一张网卡。这条命令不会单独列出所有网卡IP,更多用来辅助定位数据包出站地址,不能作为单独查询IP的首选。

linux如何查看ip:ifconfig命令操作

CentOS、Rocky这类系统默认没有预装net-tools,直接输入ifconfig会提示命令不存在,安装命令为yuminstallnet-tools-y,Debian、Ubuntu系列使用aptinstallnet-tools。执行完成后,eth0、ens开头网卡下inet字段就是内网IP,RX、TX数值代表网卡收发流量。

命令依赖包适用发行版输出重点
ipaiproute2(系统自带)新版CentOS、Ubuntu、Debian全部网卡、IPv4、IPv6、网卡状态
ifconfignet-tools老版本Linux网卡IP、收发流量统计
hostname-Ihostname(系统自带)全系列只输出内网IP,无多余文字
nmcliNetworkManager桌面版、带图形网络管理服务器网络连接详情、IP、DNS

hostname-I是极简查询方式,大写I,输出只返回内网IP,没有网卡名称、状态等冗余文本,适合写shell脚本,脚本里直接捕获这个结果传递给变量。小写i参数作用不同,用来解析主机名,不能用来获取本机网卡IP。

nmclidevshow可以在启用NetworkManager的主机查看IP,你也可以简写nmcliconshow,查看已激活网络连接,再追加具体连接名称查看详细地址。容器环境一般不运行NetworkManager,这条命令在容器内大概率无法使用。

内网IP不等于公网IP。

服务器处于家庭宽带、云主机NAT、虚拟机NAT环境时,上面所有本地命令查到的地址都是内网地址,公网出口IP需要通过curl调用外部接口查询,常用示例curlifconfig.me,curlshturl.cc/XsZ,这类请求会向外部站点返回服务器对外IP,需要服务器可以正常访问外网才能拿到结果。服务器无法连通外网时,该类查询直接超时失败。

该方法的适用边界是,所有本地查询命令只能读取操作系统内核网卡配置,无法穿透四层负载均衡、NAT网关,负载均衡后端节点执行查询,得到的地址是后端节点内网IP,不是负载均衡对外提供的服务IP。

你在生产脚本自动化场景优先选用ipa或者hostname-I,这两个命令依赖包iproute2和hostname属于Linux基础组件,大多数精简容器、最小化服务器镜像都会自带,不用额外安装软件,降低部署依赖带来的失败概率。

敬慕百科汇集百科知识与游戏文化,带你发现世界的每一个精彩角落。

想要了解更多关于linux如何查看ip的文章欢迎访问:百科