52 lines
1.5 KiB
Bash
52 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
set -Eeuo pipefail
|
|
|
|
PRIVATE_INTERFACE="${PRIVATE_INTERFACE:-eth1}"
|
|
PRIVATE_MAC="${PRIVATE_MAC:-fa:16:3e:b6:c6:70}"
|
|
PRIVATE_ADDRESS="${PRIVATE_ADDRESS:-192.168.0.5/24}"
|
|
NETPLAN_FILE="/etc/netplan/60-signoz-private.yaml"
|
|
|
|
if [[ $EUID -ne 0 ]]; then
|
|
echo "Запустите через sudo: sudo $0" >&2
|
|
exit 1
|
|
fi
|
|
|
|
actual_mac="$(cat "/sys/class/net/${PRIVATE_INTERFACE}/address" 2>/dev/null || true)"
|
|
if [[ "$actual_mac" != "$PRIVATE_MAC" ]]; then
|
|
echo "Остановка: MAC ${PRIVATE_INTERFACE} равен '${actual_mac:-не найден}', ожидался ${PRIVATE_MAC}." >&2
|
|
exit 1
|
|
fi
|
|
|
|
install -d -m 0700 /root/netplan-backup
|
|
if [[ -f "$NETPLAN_FILE" ]]; then
|
|
cp -a "$NETPLAN_FILE" "/root/netplan-backup/60-signoz-private.yaml.$(date +%Y%m%d-%H%M%S)"
|
|
fi
|
|
|
|
cat >"$NETPLAN_FILE" <<EOF
|
|
network:
|
|
version: 2
|
|
ethernets:
|
|
${PRIVATE_INTERFACE}:
|
|
match:
|
|
macaddress: "${PRIVATE_MAC}"
|
|
set-name: "${PRIVATE_INTERFACE}"
|
|
addresses:
|
|
- "${PRIVATE_ADDRESS}"
|
|
mtu: 1500
|
|
optional: true
|
|
EOF
|
|
chmod 0600 "$NETPLAN_FILE"
|
|
|
|
netplan generate
|
|
echo "Создан ${NETPLAN_FILE}:"
|
|
cat "$NETPLAN_FILE"
|
|
echo
|
|
echo "Netplan временно применит конфигурацию на 120 секунд."
|
|
echo "Подтвердите её в приглашении только после проверки второй SSH-сессии."
|
|
netplan try --timeout 120
|
|
|
|
echo
|
|
ip -br -4 address show "$PRIVATE_INTERFACE"
|
|
ip -4 route show dev "$PRIVATE_INTERFACE"
|
|
ip route get 192.168.0.1
|