Um nach dem Login die auf dem System verfügbaren IP Adressen anzeigen zu lassen muss man, je nach Distribution, eine der Dateien editieren
~/.bashrc
~/.bash_profile
~/.profile
nano ~/.bashrc
Einfügen:
echo "----- IP-Adressen dieses Servers -----" ip -o -4 addr show | awk '{print "IPv4:", $2, $4}' ip -o -6 addr show | awk '{print "IPv6:", $2, $4}' echo "--------------------------------------"
Du möchtest das für jeden LXC Container haben? ACHTUNG! In dieser Variante werden die Adressen für JEDEN Benutzer gezeigt, der sich auf der Shell anmeldet.
Das geht so:
#!/bin/bash read -r -d '' IPINFO_SCRIPT <<'EOF' #!/bin/bash # Farben definieren RED='\033[0;31m' GREEN='\033[0;32m' CYAN='\033[1;36m' NC='\033[0m' # No Color echo -e "${CYAN}----- IP-Adressen dieses Servers -----${NC}" ip -o -4 addr show | awk -v green="$GREEN" -v nc="$NC" '{print green "IPv4:" nc, $2, $4}' ip -o -6 addr show | awk -v red="$RED" -v nc="$NC" '{print red "IPv6:" nc, $2, $4}' echo -e "${CYAN}--------------------------------------${NC}" EOF for CTID in $(pct list | awk '$2=="running" {print $1}'); do echo "Bearbeite laufenden Container $CTID ..." TARGET_FILE="/etc/profile.d/ipinfo.sh" echo "$IPINFO_SCRIPT" | pct exec $CTID -- tee $TARGET_FILE>/dev/null pct exec $CTID -- chmod +x $TARGET_FILE echo " Datei $TARGET_FILE angelegt und ausführbar gemacht." done echo "Fertig."
Als Skript anlegen, ausführbar machen und ausführen. (auf jedem Proxmox Server einzeln)
Die Ausgabe nach dem Login sieht dann etwa so aus:
—– IP-Adressen dieses Servers —–
IPv4: lo 127.0.0.1/8
IPv4: eth0 192.168.178.15/24
IPv4: docker0 172.17.0.1/16
IPv6: lo ::1/128
IPv6: eth0 abcd::1234:efab:5678:cdef/xx
————————————–