在日常运维中,我们知道,公网IP地址是需要付费的,很多服务器虽然可以上网,但都是通过SNAT(源地址转换)的方式实现,我们可以通过查询系统中的网卡配置,得到内网IP地址,但这种方式,无法得知公网的IP地址是多少。现总结几个方法给到大家,通过一、二条命令可以查出服务器的出口IP地址是多少。
查本机IP地址:
方法一:用ifconfig。
有些系统是最小化安装的,使用ifconfig如果报”command not found”,就需要先安装net-tools软件包。
yum install net-tools ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.25.250.74 netmask 255.255.255.0 broadcast 172.25.250.255 inet6 fe80::20c:29ff:fe4e:adc2 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:4e:ad:c2 txqueuelen 1000 (Ethernet) RX packets 68173 bytes 100125994 (95.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 14557 bytes 1001559 (978.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 98346 bytes 24272804 (23.1 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 98346 bytes 24272804 (23.1 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
方法二:用ip add
ip add是系统最直接的命令,哪怕是最小化安装,这个命令也可以正常执行,推荐使用
ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:4e:ad:c2 brd ff:ff:ff:ff:ff:ff inet 172.25.250.74/24 brd 172.25.250.255 scope global ens33 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe4e:adc2/64 scope link valid_lft forever preferred_lft forever
方法三:查网卡配置文件
Centos7/8版本的,网卡配置文件目录为/etc/sysconfig/network-scripts,这个目录里有ifcfg开头的网卡配置文件,想查看哪个网卡,用cat命令即可。
cat /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="none" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="ens33" UUID="c606c5bd-0fb6-4d94-97e8-42326ec03e14" DEVICE="ens33" ONBOOT="yes" IPADDR="172.25.250.74" PREFIX="24" GATEWAY="172.25.250.2" DNS1="172.25.250.2" DNS2="114.114.114.114" IPV6_PRIVACY="no"
Centos9版本的,网卡配置文件目录为/etc/NetworkManager/system-connections,这个目录里有nmconnection结尾的网卡配置文件,想查看哪个网卡,用more命令即可。
more /etc/NetworkManager/system-connections/ens160.nmconnection [connection] id=ens160 uuid=64f16f63-653b-389f-9a33-0ab8a5646e19 type=ethernet autoconnect-priority=-999 interface-name=ens160 timestamp=1724149817 [ethernet] [ipv4] address1=172.25.250.89/24,172.25.250.2 dns=180.76.76.76;114.114.114.114; method=manual [ipv6] addr-gen-mode=eui64 method=auto [proxy]
查服务器公网IP地址:
方法一:
curl -s -m 2 ifconfig.me;echo 112.220.22.252 #返回的结果 命令解说: curl:()"client URL"缩写)是一个命令行工具,可运行在windows上,也可运行下linux下。它主要用于通过命令行传输数据,比如下载文件、上传文件、发送表单数据等。它支持多种协议,包括HTTP、HTTPS、FTP、FTPS等。 -s:静默输出,不打印进度条 -m:最大传输时间,以秒为单位 ifconfig.me:网址,类似的还有icanhazip.com,members.3322.org/dyndns/getip,ipinfo.io/ip echo:在输出公网IP地址时,换行,美化输出结果
方法二:
wget -qO - ipecho.net/plain;echo 112.220.22.252 #返回的结果 命令解说: -q:--quiet,不输出日志信息 -O: --output-document=FILE,下载的文件重命名,注意O是大写的字符o,不是数字0. -:表示终端屏幕,表示结果输出屏幕,不存到文件中
方法三:
yum install -y bind-utils #如果是centos系,用这个命令 apt-get install -y dnsutils #如果是ubuntu系,用这个命令 nslookup myip.opendns.com resolver1.opendns.com Server: resolver1.opendns.com Address: 208.67.222.222#53 Non-authoritative answer: Name: myip.opendns.com Address: 112.220.22.252
声明:欢迎大家光临本站,学习IT运维技术,转载本站内容,请注明内容出处”来源刘国华教育“。如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。