Для реализации FRR EVPN Multi-Homing (MH) в режиме All-Active (AA) ключевым элементом является настройка ESI (Ethernet Segment Identifier) на интерфейсах, смотрящих в сторону клиента (CE).
Ниже приведен базовый пример конфигурации для одного из двух VTEP (коммутаторов доступа), работающих в паре.
Конфигурация интерфейса (Bond/LACP)
Интерфейс должен быть объединен в Bond, чтобы ядро Linux и FRR понимали логику Multi-Homing.
# В системе (Linux)
ip link add bond0 type bond mode balance-lacp
ip link set eth1 master bond0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| set -x | |
| set +x | |
| # Arguments passed from kube-burner | |
| NUM_CUDN=${1:-72} | |
| EXTERNAL_WEBSERVER_IP=${2:-""} | |
| L3VNI_START=${3:-100} | |
| L2VNI_START=${4:-20000} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| -- wezterm.lua -- config optimized for Claude Code | |
| -- Place at: ~/.wezterm.lua | |
| -- | |
| -- NOTE: Like zellij, WezTerm does not yet have native Claude Code | |
| -- agent team split-pane support (only tmux and iTerm2 do). | |
| -- Agent teams will fall back to in-process mode. However, WezTerm's | |
| -- CLI (wezterm cli split-pane, send-text, etc.) makes manual | |
| -- orchestration straightforward. See the companion launcher script. | |
| local wezterm = require("wezterm") |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Configuration Constants | |
| LOCAL_IP="198.18.0.155" # Host VTEP IP | |
| ANYCAST_SVC_IP="172.27.187.82" # The Shared Service IP | |
| BGP_AS=64512 # Your BGP AS | |
| # 1. Global Kernel Tuning for VRF/Anycast | |
| echo "Tuning kernel for Anycast VRF performance..." | |
| sysctl -w net.ipv4.tcp_l3mdev_accept=1 |
Terminal Setup: WezTerm + Zellij + Neovim + Starship (Claude Code oriented)
Terminal Setup: WezTerm + Zellij + Neovim + Starship + Glow (Claude Code oriented)
Claude Code-oriented terminal setup with Cmd+Click file opening in floating nvim panes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Claude Code (cc) Commands for .bashrc | |
| # Quick tmux-based session management for Claude Code | |
| # Context directories | |
| _CC_HA="$HOME/pezbox/infra/homeAssistant" | |
| _CC_HW="$HOME/pezbox/hiveworth" | |
| _CC_RS="$HOME/pezbox/redfin-scraper" | |
| # Resolve context name to directory |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| -- Leader key: spacebar (set before any mappings) | |
| vim.g.mapleader = " " | |
| vim.g.maplocalleader = " " | |
| ------------------------------------------------- | |
| -- Options | |
| ------------------------------------------------- | |
| vim.opt.wrap = true | |
| vim.opt.textwidth = 80 | |
| vim.opt.autoindent = true |
Auto-focus the correct terminal pane when Claude Code finishes a task or needs your input. Shows macOS notifications with sound.
- Claude Code CLI installed
jqinstalled (brew install jq)- macOS (uses
osascriptfor notifications)
Idempotent bootstrap script for an Ubuntu 24.04 LTS development VM
optimised for Claude Code agent sessions.
Run it once to install everything. Run it again to update. Safe, transparent, and documented at every step.
NewerOlder