74 lines
2.6 KiB
Bash
74 lines
2.6 KiB
Bash
#!/bin/bash
|
||
# ============================================================
|
||
# ЗАДАНИЕ 1. Настройка HQ-CLI (Linux / РЕД ОС 8, только консоль)
|
||
# Имя, адрес по DHCP от HQ-RTR (VLAN 200), часовой пояс.
|
||
# DHCP-сервер находится на HQ-RTR: выдаёт адрес, шлюз (HQ-RTR),
|
||
# DNS (HQ-SRV) и суффикс au-team.irpo.
|
||
# ============================================================
|
||
|
||
# --- Проверка прав root ---
|
||
if [[ $EUID -ne 0 ]]; then
|
||
echo "Запустите скрипт с правами root (sudo bash hq-cli.sh)"
|
||
exit 1
|
||
fi
|
||
|
||
# ================= ПЕРЕМЕННЫЕ (заполните перед запуском) =================
|
||
HOSTNAME_FQDN="hq-cli.au-team.irpo" # таблица 3, запись hq-cli.au-team.irpo
|
||
|
||
CLI_IF="enp0s3" # 1-й NIC — к HQ-SW (VLAN 200), адрес по DHCP
|
||
|
||
EXAM_TZ="Europe/Moscow" # проверить на экзамене
|
||
NM_CONF_DIR="/etc/NetworkManager/system-connections"
|
||
|
||
# ============ Проверка заполнения переменных ============
|
||
MISSING=()
|
||
for NAME in HOSTNAME_FQDN CLI_IF EXAM_TZ; do
|
||
[[ -z "${!NAME}" ]] && MISSING+=("$NAME")
|
||
done
|
||
if [[ ${#MISSING[@]} -gt 0 ]]; then
|
||
echo "Заполните переменные в начале скрипта: ${MISSING[*]}"
|
||
exit 1
|
||
fi
|
||
|
||
echo "=== Настройка HQ-CLI ==="
|
||
|
||
# --- 1. Имя хоста ---
|
||
hostnamectl set-hostname "$HOSTNAME_FQDN"
|
||
echo "Имя хоста: $(hostname)"
|
||
|
||
# --- 2. Интерфейс: адрес по DHCP ---
|
||
echo "--- Профиль $CLI_IF (DHCP) ---"
|
||
cat > "$NM_CONF_DIR/$CLI_IF.nmconnection" <<EOF
|
||
[connection]
|
||
id=$CLI_IF
|
||
type=ethernet
|
||
autoconnect=yes
|
||
interface-name=$CLI_IF
|
||
|
||
[ethernet]
|
||
|
||
[ipv4]
|
||
method=auto
|
||
|
||
[ipv6]
|
||
method=disabled
|
||
|
||
[proxy]
|
||
EOF
|
||
chmod 600 "$NM_CONF_DIR/$CLI_IF.nmconnection"
|
||
nmcli connection reload
|
||
nmcli connection up "$CLI_IF" || echo "ВНИМАНИЕ: не поднялся $CLI_IF (DHCP на HQ-RTR запущен?)"
|
||
|
||
# --- 3. Часовой пояс ---
|
||
timedatectl set-timezone "$EXAM_TZ"
|
||
|
||
echo ""
|
||
echo "=== Самопроверка для HQ-CLI ==="
|
||
ip -4 -br address show
|
||
echo ""
|
||
echo "Дополнительные проверки вручную (после получения адреса по DHCP):"
|
||
echo " hostnamectl (имя и часовой пояс?)"
|
||
echo " cat /etc/resolv.conf (DNS = адрес HQ-SRV, суффикс au-team.irpo?)"
|
||
echo " ip route (шлюз по умолчанию = адрес HQ-RTR?)"
|
||
echo " ping -c2 <адрес HQ-SRV>"
|