Logo

Arista EOS: eBGP with VeryCloud (AS198825) over GRE tunnel

Arista EOS: eBGP with VeryCloud (AS198825) over GRE tunnel

Complete Arista EOS configuration: GRE tunnel to VeryCloud, dual-stack eBGP IPv4 + IPv6 with peer-groups, prefix-lists, route-maps, MD5. For 7050X, 7280R, vEOS, and cEOS.

Introduction

Arista EOS shares 90% of Cisco syntax but with a few notable peculiarities: peer-groups encouraged for clean setups, slightly different AS-path syntax, and a CLI mode oriented toward DC. Most commands you know from Cisco IOS work as-is, but a few details differ.

This tutorial guides you for a Remote Transit IP VeryCloud on any recent Arista EOS (4.20+).

Prerequisites

  • An Arista switch/router (7050X, 7280R, vEOS, cEOS, etc.) with fixed public IP
  • VeryCloud's technical email with PUB_VC, 169.254.X.1, 2a0e:XXXX:XXXX::0, MD5
  • Your ASN
  • Your prefixes
  • Privileged CLI access
  • The interface facing Internet (e.g. Et1)

Step 1: Backup

enable
copy running-config startup-config
copy running-config flash:backup-pre-transit.cfg

Step 2: Enable IPv6 routing

configure
!
ipv6 unicast-routing
!
end

Step 3: Create the GRE tunnel

Arista EOS supports GRE tunnels since EOS 4.22 (check with show version). For older versions or pure-L3 MLP switches without hardware GRE support, use an upstream firewall/router for the tunnel and do BGP in pure L3 next.

configure
!
interface Tunnel0
   description "VeryCloud Remote Transit IP - GRE"
   ip address 169.254.X.2/30
   ipv6 address 2a0e:XXXX:XXXX::1/127
   mtu 1476
   ip tcp mss ceiling ipv4 1436
   tunnel mode gre
   tunnel source Ethernet1
   tunnel destination PUB_VC
   no shutdown
!
end

💡 If your Arista doesn't support hardware GRE (common on pure-L3 DC ToRs), put the tunnel on an upstream Linux box and just do BGP on the Arista pointing at the Linux-side peer-IPs.

Test:

end
show interfaces Tunnel0
ping 169.254.X.1
ping ipv6 2a0e:XXXX:XXXX::0

Step 4: Static routes for announcement

configure
!
ip route 192.0.2.0/24 Null0
ip route 198.51.100.0/24 Null0
ipv6 route 2001:DB8::/32 Null0
!
end

Step 5: Prefix-lists

configure
!
ip prefix-list TO-VC-V4 seq 10 permit 192.0.2.0/24
ip prefix-list TO-VC-V4 seq 20 permit 198.51.100.0/24

ipv6 prefix-list TO-VC-V6
   seq 10 permit 2001:DB8::/32

ip prefix-list NO-BOGONS seq 10 deny 0.0.0.0/8 le 32
ip prefix-list NO-BOGONS seq 20 deny 10.0.0.0/8 le 32
ip prefix-list NO-BOGONS seq 30 deny 127.0.0.0/8 le 32
ip prefix-list NO-BOGONS seq 40 deny 169.254.0.0/16 le 32
ip prefix-list NO-BOGONS seq 50 deny 172.16.0.0/12 le 32
ip prefix-list NO-BOGONS seq 60 deny 192.0.2.0/24 le 32
ip prefix-list NO-BOGONS seq 70 deny 192.168.0.0/16 le 32
ip prefix-list NO-BOGONS seq 80 deny 198.18.0.0/15 le 32
ip prefix-list NO-BOGONS seq 100 permit 0.0.0.0/0 le 24
!
end

Step 6: Route-maps

configure
!
route-map TO-VC permit 10
   match ip address prefix-list TO-VC-V4
!
route-map TO-VC6 permit 10
   match ipv6 address prefix-list TO-VC-V6
!
route-map FROM-VC permit 10
   match ip address prefix-list NO-BOGONS
!
route-map FROM-VC6 permit 10
!
end

Step 7: Peer-groups

Arista strongly encourages peer-groups:

configure
!
router bgp 65000
   router-id 192.0.2.1
   no bgp default ipv4-unicast
   bgp log-neighbor-changes
   timers bgp 30 90
   !
   neighbor VC-V4 peer-group
   neighbor VC-V4 remote-as 198825
   neighbor VC-V4 password MD5_SECRET
   neighbor VC-V4 ebgp-multihop 2
   neighbor VC-V4 maximum-routes 5000
   !
   neighbor VC-V6 peer-group
   neighbor VC-V6 remote-as 198825
   neighbor VC-V6 password MD5_SECRET
   neighbor VC-V6 ebgp-multihop 2
   neighbor VC-V6 maximum-routes 1000
   !
   neighbor 169.254.X.1 peer-group VC-V4
   neighbor 169.254.X.1 description "VeryCloud Transit v4"
   !
   neighbor 2a0e:XXXX:XXXX::0 peer-group VC-V6
   neighbor 2a0e:XXXX:XXXX::0 description "VeryCloud Transit v6"
!
end

💡 maximum-routes on Arista = equivalent of maximum-prefix on Cisco.

Step 8: Address-families

configure
!
router bgp 65000
   !
   address-family ipv4
      neighbor VC-V4 activate
      neighbor VC-V4 route-map FROM-VC in
      neighbor VC-V4 route-map TO-VC out
      network 192.0.2.0/24
      network 198.51.100.0/24
   !
   address-family ipv6
      neighbor VC-V6 activate
      neighbor VC-V6 route-map FROM-VC6 in
      neighbor VC-V6 route-map TO-VC6 out
      network 2001:DB8::/32
!
end

Step 9: Save

write

Step 10: Verify

show ip bgp summary

show ip bgp neighbors 169.254.X.1 received-routes
show ipv6 bgp neighbors 2a0e:XXXX:XXXX::0 received-routes

show ip bgp neighbors 169.254.X.1 advertised-routes

show ip bgp
show ip route bgp

Troubleshooting

Session in Idle — tunnel down, show interfaces Tunnel0, ACL blocking Estab but PfxRcd: 0clear ip bgp 169.254.X.1 soft in to refresh Prefixes not announced — route in RIB? show ip route 192.0.2.0, route-map too restrictive MD5 auth failedshow log grep AUTH, identical password both sides Hardware tunnel not supportedshow capabilities, use upstream Linux for tunnel

Useful commands

show ip bgp summary
show ipv6 bgp summary
show ip bgp neighbors 169.254.X.1
show ip bgp neighbors 169.254.X.1 advertised-routes
show ip bgp neighbors 169.254.X.1 received-routes
show ip bgp
show ip route bgp
show interfaces Tunnel0
show running-config section router bgp

clear ip bgp 169.254.X.1 soft in
clear ip bgp 169.254.X.1

show log | grep BGP

Conclusion

Arista EOS = nearly Cisco but with encouraged peer-groups and maximum-routes syntax instead of maximum-prefix. BGP itself is identical. The main Arista trap: not all models support hardware GRE — check with show capabilities or use an upstream Linux if pure-L3.

Going further: BFD on Arista (router bfd), VRF to isolate transit, ECMP with maximum-paths, RPKI EOS 4.30+.

Resources

Join our Discord community server

For any questions, suggestions, or just to chat with the community, join us on Discord!

900+Members