Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands - CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround - CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check - NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere - MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates - LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference Co-authored-by: Cursor <cursoragent@cursor.com>
147 lines
3.7 KiB
Bash
Executable File
147 lines
3.7 KiB
Bash
Executable File
#!/bin/bash
|
||
set -euo pipefail
|
||
|
||
# Add VLAN 11 secondary IP with systemd service for persistence (WSL2 compatible)
|
||
# Creates a systemd service that runs on boot to add the IP
|
||
|
||
set -e
|
||
|
||
# Configuration
|
||
VLAN11_IP="192.168.11.23"
|
||
VLAN11_NETMASK="24"
|
||
VLAN11_GATEWAY="192.168.11.1"
|
||
PRIMARY_IF="eth0"
|
||
|
||
echo "🔧 Adding VLAN 11 Secondary IP Address (Persistent via systemd)"
|
||
echo ""
|
||
|
||
# Check if running as root
|
||
if [ "$EUID" -ne 0 ]; then
|
||
echo "❌ This script must be run with sudo"
|
||
echo " Usage: sudo $0"
|
||
exit 1
|
||
fi
|
||
|
||
CURRENT_IP=$(ip -4 addr show $PRIMARY_IF 2>/dev/null | grep -oP 'inet \K[\d.]+' | head -1)
|
||
|
||
echo "📋 Configuration:"
|
||
echo " Primary Interface: $PRIMARY_IF"
|
||
echo " Current IP: $CURRENT_IP"
|
||
echo " VLAN 11 IP: $VLAN11_IP/$VLAN11_NETMASK"
|
||
echo " VLAN 11 Gateway: $VLAN11_GATEWAY"
|
||
echo ""
|
||
|
||
# Add IP immediately
|
||
echo "➕ Adding VLAN 11 IP address immediately..."
|
||
ip addr add $VLAN11_IP/$VLAN11_NETMASK dev $PRIMARY_IF 2>/dev/null || true
|
||
|
||
# Add route
|
||
if ! ip route show | grep -q "192.168.11.0/24"; then
|
||
ip route add 192.168.11.0/24 dev $PRIMARY_IF src $VLAN11_IP 2>/dev/null || true
|
||
fi
|
||
|
||
echo " ✅ IP added (temporary)"
|
||
echo ""
|
||
|
||
# Create systemd service for persistence
|
||
SERVICE_FILE="/etc/systemd/system/add-vlan11-ip.service"
|
||
SCRIPT_FILE="/usr/local/bin/add-vlan11-ip.sh"
|
||
|
||
echo "📝 Creating systemd service for persistence..."
|
||
echo ""
|
||
|
||
# Create script
|
||
cat > "$SCRIPT_FILE" << 'EOFSCRIPT'
|
||
#!/bin/bash
|
||
# Script to add VLAN 11 secondary IP
|
||
|
||
PRIMARY_IF="eth0"
|
||
VLAN11_IP="192.168.11.23"
|
||
VLAN11_NETMASK="24"
|
||
VLAN11_GATEWAY="192.168.11.1"
|
||
|
||
# Wait for interface to be up
|
||
sleep 2
|
||
|
||
# Add IP if not already present
|
||
if ! ip addr show $PRIMARY_IF | grep -q "$VLAN11_IP"; then
|
||
ip addr add $VLAN11_IP/$VLAN11_NETMASK dev $PRIMARY_IF
|
||
fi
|
||
|
||
# Add route if not present
|
||
if ! ip route show | grep -q "192.168.11.0/24"; then
|
||
ip route add 192.168.11.0/24 dev $PRIMARY_IF src $VLAN11_IP
|
||
fi
|
||
EOFSCRIPT
|
||
|
||
chmod +x "$SCRIPT_FILE"
|
||
echo " ✅ Script created: $SCRIPT_FILE"
|
||
|
||
# Create systemd service
|
||
cat > "$SERVICE_FILE" << EOF
|
||
[Unit]
|
||
Description=Add VLAN 11 Secondary IP Address
|
||
After=network-online.target
|
||
Wants=network-online.target
|
||
|
||
[Service]
|
||
Type=oneshot
|
||
ExecStart=$SCRIPT_FILE
|
||
RemainAfterExit=yes
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
EOF
|
||
|
||
echo " ✅ Service created: $SERVICE_FILE"
|
||
echo ""
|
||
|
||
# Enable and start service
|
||
echo "🔄 Enabling systemd service..."
|
||
systemctl daemon-reload
|
||
systemctl enable add-vlan11-ip.service
|
||
systemctl start add-vlan11-ip.service
|
||
|
||
if [ $? -eq 0 ]; then
|
||
echo " ✅ Service enabled and started"
|
||
else
|
||
echo " ⚠️ Service may not be available (WSL2 may not support systemd)"
|
||
echo " 💡 IP is added temporarily - will need to run script on each boot"
|
||
fi
|
||
|
||
# Verify
|
||
echo ""
|
||
echo "🔍 Verifying configuration..."
|
||
sleep 2
|
||
|
||
NEW_IPS=$(ip -4 addr show $PRIMARY_IF | grep "inet " | awk '{print $2}')
|
||
echo " Current IP addresses on $PRIMARY_IF:"
|
||
echo "$NEW_IPS" | sed 's/^/ /'
|
||
|
||
if echo "$NEW_IPS" | grep -q "$VLAN11_IP"; then
|
||
echo " ✅ VLAN 11 IP ($VLAN11_IP) is configured"
|
||
else
|
||
echo " ⚠️ VLAN 11 IP not found"
|
||
fi
|
||
|
||
# Test connectivity
|
||
echo ""
|
||
echo "🧪 Testing Connectivity..."
|
||
if ping -c 1 -W 2 $VLAN11_GATEWAY >/dev/null 2>&1; then
|
||
echo " ✅ VLAN 11 gateway ($VLAN11_GATEWAY) is reachable"
|
||
else
|
||
echo " ⚠️ VLAN 11 gateway ($VLAN11_GATEWAY) is not reachable"
|
||
fi
|
||
|
||
echo ""
|
||
echo "✅ Configuration complete!"
|
||
echo ""
|
||
if systemctl is-enabled add-vlan11-ip.service >/dev/null 2>&1; then
|
||
echo "💡 Service is enabled - IP will be added automatically on boot"
|
||
else
|
||
echo "💡 Note: On WSL2, you may need to run the script manually on each boot"
|
||
echo " Or add to ~/.bashrc or ~/.profile:"
|
||
echo " sudo ip addr add $VLAN11_IP/$VLAN11_NETMASK dev $PRIMARY_IF"
|
||
fi
|
||
echo ""
|