Как я могу отобразить IP-адрес eth0 на экране входа в систему на Precise Server?

Сервер, которым я управляю, достаточно неудобно, имеет динамический IP-адрес, назначаемый DHCP. Однако удобный противовес заключается в том, что он установлен примерно в двух футах от того места, где я сижу. Я знаю, как отредактировать / etc / issue, чтобы показывать другие значения, до того, как приглашение входа в систему будет доставлено на дисплей, но я хотел бы знать, возможно ли для / etc / issue отображать текущий IP-адрес eth0 (переоценен во время загрузки), чтобы я мог видеть его, а затем войти в ssh без необходимости входа в систему, чтобы запустить ifconfig.

23
задан 15 November 2012 в 03:16

6 ответов

/etc/issue, к сожалению, представляет собой простой текст, в нем есть некоторые опции, которые вы можете добавить к нему (см. man agetty), но не IP-адрес eth0.

Если вы поместите это в /etc/rc.local:

IP=$(/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')
echo "eth0 IP: $IP" > /etc/issue

Тогда вы увидите что-то вроде этого:

eth0: 192.168.0.2
myServer login:
0
ответ дан 15 November 2012 в 03:16

Начиная с Debian 8 / jessie, вы можете использовать escape-символы \4 и \6 для вывода адресов IPv4 и IPv6. Таким образом, файл /etc/issue:

Debian GNU/Linux 8 \n \l

eth0: \4{eth0}

выведет что-то вроде следующего на консоли входа в систему:

Debian GNU/Linux 8 myserver tty1

eth0: 192.168.1.100
myserver login:

Я думаю, что Ubuntu обеспечит аналогичную функциональность (по крайней мере, в более новых версиях)

0
ответ дан 15 November 2012 в 03:16

С помощью systemd вы можете сделать systemctl edit getty@ что-то вроде:

[Service]
ExecStartPre=-/bin/bash -c '[ ! -f /etc/.issue.orig ] && cp /etc/issue /etc/.issue.orig; int=`ls /sys/class/net|grep enp|head -1`; sed -r "s/\\\\\\n/[\\\\\\4\{$int\}]/" < /etc/.issue.orig > /etc/issue'

Затем systemctl daemon-reload && systemctl restart getty@tty1

0
ответ дан 15 November 2012 в 03:16

Основываясь на ответе Алекса и комментарии Ребса, вот что у меня есть для моего файла /etc/rc.local (только соответствующие строки):

PRE_MSG="Ubuntu 14.04.3 LTS" # this is from the original /etc/issue

IP=$(/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')

IP_MSG="Server IP Address:"

printf "%s %s %s\n\n%s %s\n\n" "$PRE_MSG" '\n' '\l' "$IP_MSG" "$IP" > "/etc/issue"

Команда printf делает волшебство. К сожалению, размещение '\n' и '\l' внутри строки формата закончилось заменой первого символом новой строки, и файл /etc/issue был испорчен.

Короче говоря, эти 4 строки сохраняют исходную информацию, отображаемую в файле /etc/issue, и добавляют сообщение Server IP Address:.

И, как сказал Ребс, имейте в виду, что каждый раз, когда вы перезагружаете сервер, этот скрипт переопределяет файл /etc/issue, поэтому, возможно, попробуйте его внутри другого скрипта и в другом файле, и, как только он заработает, перенесите меняется над ...

Удачи и счастливого BASHing:)

0
ответ дан 15 November 2012 в 03:16

Основываясь на Nurchi, Alex и ответах Steve & комментарий от Ребе,

следующее будет grep старый IP и добавлять в любом не локальном (127). IP-адреса. Мой сервер является VM и не имеет eth0. При тестировании на Месте Ubuntu 18.04

в /etc/network/if-up.d/update-issue

#!/bin/sh
MSG=$(cat /etc/issue | grep -v IP)
IP=$(/sbin/ifconfig | grep 'inet' | grep -v '127' | cut -d: -f2 | awk '{ print $2 }')
printf "%s\n%s\n\n" "$MSG" "IP: $IP" > /etc/issue

Затем chmod 0755 /etc/network/if-up.d/update-issue

единственной разницей между моим ответом и Steve является добавление grep строк, чтобы удалить строку IP, получить сообщение и повторно добавить его наряду с новым/обновленным IP

0
ответ дан 16 October 2019 в 16:50

Для Ubuntu 19.04 я выполнил эти шаги:

я создал файл: /etc/network/if-up.d/update-issue со следующим содержанием:

#!/bin/sh
PREFIX="Ubuntu 19.04 - dev"
IPADDRS=$(hostname -I | tr " " "\n" | grep -v "^$" | sort -t . -k 1,1n | head -1 | tr "\n" " ")
echo "$PREFIX\n\nIP: $IPADDRS\n" > /etc/issue

я затем отметил файл как исполняемый файл: chmod 0755 /etc/network/if-up.d/update-issue

Работает отлично!

0
ответ дан 16 October 2019 в 16:50

Другие вопросы по тегам:

Похожие вопросы: