游客发表
CentOS里查IP,地址最直接的命令就是 ip addr。别想复杂了,地址敲下去,命令回车,地址完事。命令
我第一次用CentOS的地址时候,还是命令个纯小白,照着网上的地址教程敲 ifconfig,结果提示命令不存在。命令当时就懵了,地址后来才知道,命令CentOS 7开始,地址ifconfig就不是命令默认安装的了,得自己装net-tools。地址这其实是个坑,好多老教程还在用ifconfig,新系统直接给你报错。所以,记住,ip addr 是天生自带的,不用装任何东西。
输出结果里,你会看到 lo,那是回环地址,就是本机自己,永远是127.0.0.1,别管它。真正要看的是 eth0 或者 ens33 这种名字的网卡。往下翻,找到 inet 那一行,后面跟的IP地址就是你要的。比如 inet 192.168.1.100/24,那你的IP就是192.168.1.100,后面的/24是子网掩码,不用管。
如果嫌输出太长,想只看IP,可以加个参数:ip addr show eth0,或者更精简的 hostname -I。这个命令只显示IP,不带其他乱七八糟的信息,适合脚本里用。不过它会把所有网卡的IP都列出来,空格隔开,如果你有多个网卡,得自己分辨哪个是哪个。
还有个老办法,curl ifconfig.me 或者 curl ip.sb,这是查公网IP的。如果你在服务器上,内网IP和公网IP是两回事。内网IP是局域网里的地址,公网IP是互联网上别人看到的你的地址。有时候你需要知道公网IP,比如配置防火墙或者远程连接,这时候curl命令就派上用场了。注意,这需要联网,而且依赖外部服务,有时候会超时。
说实话,日常使用中,我基本只用 ip addr。它最可靠,信息最全。ifconfig那套老古董,能不用就不用,除非你维护的是老系统。CentOS 8和9里,ifconfig依然不是默认的,得装net-tools,但装了也没啥必要,ip命令功能更强。
有一次,我给客户的服务器配网络,远程过去,连不上。我第一反应就是查IP,但服务器连不上网,curl肯定不行,ifconfig又没装。最后我用 ip addr 一看,网卡down了,IP没起来。如果当时只会ifconfig,可能就得跑机房了。所以,这个命令关键时刻能救命。
说个小技巧,如果你只想看某个网卡的IP,又不想记网卡名字,可以这样:ip -4 addr show | grep inet,这样会把所有IPv4地址列出来,一目了然。或者干脆用 ip -br addr,这个以简洁模式输出,每行一个网卡,IP直接跟在后面,看起来特别清爽。
记不住没关系,敲个 ip 然后按两下Tab,系统会提示你有哪些子命令。多用几次就熟了。反正,CentOS里查IP,就认准 ip addr,其他都是花架子。
友情链接