63 lines
1.9 KiB
Bash
63 lines
1.9 KiB
Bash
#!/bin/bash
|
|
# Quick run script for BGP container
|
|
# Simple one-command BGP server launcher
|
|
|
|
echo -e "\033[32m🚀 Quick BGP Server Launcher\033[0m"
|
|
|
|
# Check if required files exist
|
|
if [ ! -f "frr.conf" ]; then
|
|
echo -e "\033[31mError: frr.conf not found in current directory\033[0m"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -f "prefixes.txt" ]; then
|
|
echo -e "\033[31mError: prefixes.txt not found in current directory\033[0m"
|
|
exit 1
|
|
fi
|
|
|
|
# Stop existing container if running
|
|
docker stop bgp-server 2>/dev/null || true
|
|
docker rm bgp-server 2>/dev/null || true
|
|
|
|
# Pull latest image
|
|
echo -e "\033[33m📥 Pulling FRRouting image...\033[0m"
|
|
docker pull quay.io/frrouting/frr:latest
|
|
|
|
# Run container
|
|
echo -e "\033[33m🚀 Starting BGP server...\033[0m"
|
|
docker run -d \
|
|
--name bgp-server \
|
|
--hostname bgp-server \
|
|
--privileged \
|
|
--network host \
|
|
-v "$(pwd)/frr.conf:/etc/frr/frr.conf:ro" \
|
|
-v "$(pwd)/prefixes.txt:/etc/frr/prefixes.txt:ro" \
|
|
-e FRR_USER=frr \
|
|
-e FRR_VTYSH_PASSWORD=zebra \
|
|
--cap-add=NET_ADMIN \
|
|
--cap-add=SYS_ADMIN \
|
|
--security-opt seccomp=unconfined \
|
|
--restart unless-stopped \
|
|
quay.io/frrouting/frr:latest \
|
|
/usr/lib/frr/frrinit.sh start
|
|
|
|
# Wait for startup
|
|
sleep 5
|
|
|
|
# Show status
|
|
echo -e "\033[36m📊 Container Status:\033[0m"
|
|
docker ps --filter "name=bgp-server" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
|
|
|
# Show BGP status
|
|
echo -e "\n\033[36m🌐 BGP Status:\033[0m"
|
|
if docker exec bgp-server vtysh -c "show ip bgp summary" 2>/dev/null; then
|
|
echo -e "\n\033[32m✅ BGP Server is running successfully!\033[0m"
|
|
else
|
|
echo -e "\n\033[33m⚠️ BGP daemon is starting up...\033[0m"
|
|
fi
|
|
|
|
echo -e "\n\033[33m🔧 Useful commands:\033[0m"
|
|
echo -e " Connect to vtysh: docker exec -it bgp-server vtysh"
|
|
echo -e " View logs: docker logs bgp-server"
|
|
echo -e " Stop server: docker stop bgp-server"
|
|
echo -e " Check status: docker ps | grep bgp-server" |