-
Notifications
You must be signed in to change notification settings - Fork 1
Changes before the presentation at HL2025 v2 #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,79 @@ | ||
| Configuring border for demo env: | ||
|
|
||
| Full network scheme  | ||
|
|
||
| 1. Download Debian 12 nocloud image: | ||
| ```bash | ||
| wget https://cdimage.debian.org/images/cloud/bookworm/latest/debian-12-nocloud-amd64.qcow2 | ||
| ``` | ||
| 2. Run virtual machine via virt-manager or qemu: | ||
| ``` | ||
| Hostname: border, ip_address: 10.10.10.3 on enp1s0 | ||
| ``` | ||
| 3. Install packages: | ||
| ```bash | ||
| sudo apt update | ||
| sudo apt install screen tcpdump jq git wget | ||
| ``` | ||
|
|
||
| 4. Install docker on border router | ||
| ```bash | ||
| sudo apt install ca-certificates curl | ||
| sudo install -m 0755 -d /etc/apt/keyrings | ||
| sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc | ||
| sudo chmod a+r /etc/apt/keyrings/docker.asc | ||
| echo \ | ||
| "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ | ||
| $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ | ||
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null | ||
| sudo apt update | ||
| sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin | ||
| ``` | ||
| 5. Download CEOS image (cEOS64-lab-4.34.3M.tar) from [Arista oficial repo](https://www.arista.com/en/support/software-download) | ||
|
|
||
| 6. Import image to docker | ||
| ```bash | ||
| docker import cEOS64-lab-4.34.3M.tar ceos:4.34.3M | ||
| ``` | ||
| 7. Run CEOS container | ||
| ```bash | ||
| docker run --name ceos --network bridge --privileged -p 4443:443 -td --rm -e INTFTYPE=eth -e ETBA=1 -e SKIP_ZEROTOUCH_BARRIER_IN_SYSDBINIT=1 -e CEOS=1 -e EOS_PLATFORM=ceoslab -e container=docker -e MAPETH0=1 -e MGMT_INTF=enp1s0 ceos:4.34.3M /sbin/init systemd.setenv=INTFTYPE=eth systemd.setenv=ETBA=1 systemd.setenv=SKIP_ZEROTOUCH_BARRIER_IN_SYSDBINIT=1 systemd.setenv=CEOS=1 systemd.setenv=EOS_PLATFORM=ceoslab systemd.setenv=container=docker systemd.setenv=MAPETH0=1 systemd.setenv=MGMT_INTF=enp1s0 | ||
| ``` | ||
| 8. Add veth pairs to CEOS container netns | ||
| ```bash | ||
| sudo ip netns attach ceos "$(docker inspect -f '{{.State.Pid}}' ceos)" | ||
| ip link add veth-11 type veth peer name eth12 | ||
| ip link set netns ceos eth12 | ||
| ip link set veth-11 up | ||
| ip netns exec ceos ip link set eth12 up | ||
| ip link add veth22 type veth peer name eth22 | ||
| ip link set veth22 up | ||
| ip link set netns ceos eth22 | ||
| ip netns exec ceos ip link set eth22 up | ||
| ``` | ||
| 9. Configure routing in main netns | ||
| ```bash | ||
| ip address add 10.20.20.1/24 dev veth-11 | ||
| ip address add 10.30.30.1/24 dev veth22 | ||
| ip route add 10.40.40.0/24 via 10.20.20.2 | ||
| ip route add 172.16.0.0/24 via 10.30.30.2 | ||
| iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -o enp1s0 -j MASQUERADE | ||
| iptables -t nat -A POSTROUTING -s 10.30.30.0/24 -o enp1s0 -j MASQUERADE | ||
| echo 1 > /proc/sys/net/ipv4/ip_forward | ||
| iptables -P FORWARD ACCEPT | ||
| ``` | ||
| 10. Connecting to CEOS CLI | ||
| ```bash | ||
| docker exec -it ceos Cli | ||
| ``` | ||
| 11. Configuring CEOS router | ||
| ```bash | ||
| > no aaa root | ||
| > enable | ||
| # agent Fru terminate | ||
| # agent Ebra terminate | ||
Alex2ndr marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| # configure | ||
| (config)# <paste ./border/ceos_config.txt here> | ||
| (config)# exit | ||
| # write mem | ||
| ``` | ||
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,84 @@ | ||
| ! Command: show running-config | ||
| ! device: ceos (cEOSLab, EOS-4.34.3M-44102281.4343M (engineering build)) | ||
| ! | ||
| no aaa root | ||
| ! | ||
| no service interface inactive port-id allocation disabled | ||
| ! | ||
| transceiver qsfp default-mode 4x10G | ||
| ! | ||
| service routing protocols model multi-agent | ||
| ! | ||
| agent PowerManager shutdown | ||
| agent LedPolicy shutdown | ||
| agent Thermostat shutdown | ||
| agent PowerFuse shutdown | ||
| agent StandbyCpld shutdown | ||
| agent LicenseManager shutdown | ||
| ! | ||
| hostname ceos | ||
| ! | ||
| spanning-tree mode mstp | ||
| ! | ||
| system l1 | ||
| unsupported speed action error | ||
| unsupported error-correction action error | ||
| ! | ||
| vrf instance ext | ||
| rd 1:1 | ||
| ! | ||
| interface Ethernet12 | ||
| no switchport | ||
| ip address 10.20.20.2/24 | ||
| ! | ||
| interface Ethernet22 | ||
| no switchport | ||
| vrf ext | ||
| ip address 10.30.30.2/24 | ||
| ! | ||
| interface Ethernet510 | ||
| ! | ||
| interface Loopback0 | ||
| ip address 10.40.40.1/32 | ||
| ! | ||
| interface Vxlan1 | ||
| vxlan source-interface Loopback0 | ||
| vxlan udp-port 4789 | ||
| vxlan vrf ext vni 10 | ||
| ! | ||
| ip routing | ||
| ip routing vrf ext | ||
| ! | ||
| ip route 10.10.10.0/24 10.20.20.1 | ||
| ip route vrf ext 0.0.0.0/0 10.30.30.1 | ||
| ! | ||
| router bgp 65300 | ||
| neighbor 10.10.10.1 remote-as 65100 | ||
| neighbor 10.10.10.1 ebgp-multihop 7 | ||
| neighbor 10.10.10.1 timers min-hold-time 3 | ||
| neighbor 10.10.10.1 idle-restart-timer 60 | ||
| neighbor 10.10.10.1 send-community extended | ||
| neighbor 10.10.10.2 remote-as 65200 | ||
| neighbor 10.10.10.2 ebgp-multihop 7 | ||
| neighbor 10.10.10.2 timers min-hold-time 3 | ||
| neighbor 10.10.10.2 idle-restart-timer 60 | ||
| neighbor 10.10.10.2 send-community extended | ||
| ! | ||
| address-family evpn | ||
| neighbor 10.10.10.1 activate | ||
| neighbor 10.10.10.2 activate | ||
| ! | ||
| vrf ext | ||
| rd 10.30.30.2:10 | ||
| route-target import 65000:10 | ||
| route-target export 65000:10 | ||
| redistribute static | ||
| ! | ||
| router multicast | ||
| ipv4 | ||
| software-forwarding kernel | ||
| ! | ||
| ipv6 | ||
| software-forwarding kernel | ||
| ! | ||
| end |
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
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
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.