Voorheen gebruikte ik de volgende opdracht in bash om het hoofd-ip van mijn server te vinden
ipaddr=$(/sbin/ifconfig|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}' | grep -v '127.0.0.1')
Maar in centos7 werkt het niet meer omdat ifconfig niet beschikbaar is en het commando niet meer werkt, zelfs niet als ik ifconfig
installeer met behulp van yum install net-tools
Wat is het equivalente commando voor centos 7
Hartelijk dank
Antwoord 1, autoriteit 100%
U kunt de opdracht hostnaamgebruiken:
ipaddr=$(hostname -I)
-i, --ip-address
:
Geef het (de) IP-adres(sen) van de host weer. Merk op dat dit alleen werkt als de hostnaam kan worden opgelost.
-I, --all-ip-addresses
:
Toon alle netwerkadressen van de host. Met deze optie worden alle geconfigureerde adressen op alle netwerkinterfaces opgesomd. De loopback-interface en IPv6 link-local-adressen zijn weggelaten. In tegenstelling tot optie -i is deze optie niet afhankelijk van naamresolutie. Maak geen aannames over de volgorde van de uitvoer.
Antwoord 2, autoriteit 32%
Voer het commando ip addr
in op de console
Antwoord 3, autoriteit 28%
Ref: https:/ /garbagevalue.com/blog/4-simle-ways-to-check-ip-adres-in-centos-7
Ik gebruik CentOS 7 en commando
ip a
is genoeg om het werk te doen.
Bewerken
Snijd gewoon het IP-adresgedeelte uit die test.
ip a | grep 192
Antwoord 4, autoriteit 3%
Zoiets – een riff op het antwoord van @maarten-vanlinthout
ip -f inet a show eth0| grep inet| awk '{ print $2}' | cut -d/ -f1
Antwoord 5, autoriteit 3%
U kunt eenvoudige opdrachten uitvoeren zoals
curl ifconfig.co
curl ifconfig.me
wget -qO - icanhazip.com
Antwoord 6, autoriteit 3%
Als je geen gebruik wilt maken van externe bronnen (of niet kunt), zou ik het volgende aanraden:
DEVICE=$(ls -l /sys/class/net | awk '$NF~/pci0/ { print $(NF-2); exit }')
IPADDR=$(ip -br address show dev $DEVICE | awk '{print substr($3,1,index($3,"/")-1);}')
De eerste regel krijgt de naam van het eerste netwerkapparaat op de PCI-bus, de tweede regel geeft het IP-adres.
BTW ps ... | grep ... | awk ...
stinkt. awk heeft geen grep nodig.
Antwoord 7, autoriteit 3%
Beetje laat maar ik gebruik
curl -4 icanhazip.com
retourneert het primaire IP-adres van de server.
Antwoord 8, autoriteit 3%
hostnaam -I | awk ‘ {print $1}’
Antwoord 9, autoriteit 2%
SERVER_IP="$(ip addr show ens160 | grep 'inet ' | cut -f2 | awk '{ print $2}')"
vervang ens160 door uw interfacenaam
Antwoord 10
Ik geloof dat de meest betrouwbare manier om het IP-adres van de externe server te krijgen, is om een externe service te gebruiken.
ipaddr=$(curl -s http://whatismyip.akamai.com/)
Antwoord 11
Voer deze opdracht uit om ip4 en ip6 weer te geven:
ifconfig eth0 | grep inet | awk '{print $2}' | cut -d/ -f1