Add README for hosts directory explaining interface configuration files
This commit is contained in:
75
hosts/README.md
Normal file
75
hosts/README.md
Normal file
@@ -0,0 +1,75 @@
|
||||
# Host Interface Configuration Files
|
||||
|
||||
This directory contains network interface configuration files for Alpine Linux hosts in the ContainerLab topology.
|
||||
|
||||
## Files
|
||||
|
||||
- `host1_interfaces` - Configuration for host1 (VLAN 40, IP 10.40.40.101)
|
||||
- `host2_interfaces` - Configuration for host2 (VLAN 34, IP 10.34.34.102)
|
||||
- `host3_interfaces` - Configuration for host3 (VLAN 40, IP 10.40.40.103)
|
||||
- `host4_interfaces` - Configuration for host4 (VLAN 78, IP 10.78.78.104)
|
||||
|
||||
## Usage
|
||||
|
||||
Each file is mounted to `/etc/network/interfaces` in its respective host container via ContainerLab's `binds` feature:
|
||||
|
||||
```yaml
|
||||
host1:
|
||||
kind: linux
|
||||
image: alpine:latest
|
||||
binds:
|
||||
- hosts/host1_interfaces:/etc/network/interfaces
|
||||
```
|
||||
|
||||
## Format
|
||||
|
||||
Files use Debian/Alpine ifupdown format with bonding and VLAN extensions:
|
||||
|
||||
```
|
||||
auto lo
|
||||
iface lo inet loopback
|
||||
|
||||
auto bond0
|
||||
iface bond0 inet manual
|
||||
bond-mode 4 # LACP (802.3ad)
|
||||
bond-miimon 100
|
||||
bond-lacp-rate 1
|
||||
bond-slaves eth1 eth2
|
||||
|
||||
auto bond0.<vlan>
|
||||
iface bond0.<vlan> inet static
|
||||
address <ip-address>
|
||||
netmask 255.255.255.0
|
||||
vlan-raw-device bond0
|
||||
```
|
||||
|
||||
## Key Concepts
|
||||
|
||||
### LACP Bonding
|
||||
- All hosts use **mode 4** (802.3ad LACP) bonding
|
||||
- Dual-homed to MLAG leaf pairs for redundancy
|
||||
- Requires matching LACP configuration on switches
|
||||
|
||||
### VLAN Tagging
|
||||
- Hosts handle VLAN tagging via sub-interfaces
|
||||
- Format: `bond0.<vlan_id>` (e.g., bond0.40, bond0.34, bond0.78)
|
||||
- Switch ports are configured as trunks allowing specific VLANs
|
||||
|
||||
### IP Addressing
|
||||
- Static IP configuration on VLAN sub-interfaces
|
||||
- Subnet assignment based on VLAN ID pattern (e.g., VLAN 40 = 10.40.40.0/24)
|
||||
|
||||
## Modification
|
||||
|
||||
To change host configuration:
|
||||
|
||||
1. Edit the appropriate `host*_interfaces` file
|
||||
2. Commit changes to git
|
||||
3. Redeploy the lab: `sudo containerlab deploy -t evpn-lab.clab.yml --reconfigure`
|
||||
|
||||
No need to manually configure hosts after deployment - these files ensure clean, repeatable deployments.
|
||||
|
||||
## See Also
|
||||
|
||||
- [HOST_INTERFACE_CONFIGURATION.md](../docs/HOST_INTERFACE_CONFIGURATION.md) - Detailed documentation
|
||||
- [DEPLOYMENT_GUIDE.md](../DEPLOYMENT_GUIDE.md) - Lab deployment instructions
|
||||
Reference in New Issue
Block a user