41 lines
		
	
	
	
		
			911 B
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			911 B
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
{% set exit = inventory_hostname.split('-')[1]|int %}
 | 
						|
{% set lo_address = interfaces
 | 
						|
    | selectattr('name', '==', 'lo')
 | 
						|
    | map(attribute='ip_addresses') | first
 | 
						|
    | selectattr('role') | selectattr('role.value', '==', 'loopback')
 | 
						|
    | map(attribute='address') %}
 | 
						|
{% set ip = lo_address | ipv4 | first %}
 | 
						|
{% set ip6 = lo_address | ipv6 | first -%}
 | 
						|
 | 
						|
auto inside
 | 
						|
iface inside
 | 
						|
    vrf-table auto
 | 
						|
    address {{ ip }}
 | 
						|
    address {{ ip6 }}
 | 
						|
 | 
						|
auto outside
 | 
						|
iface outside
 | 
						|
    vrf-table auto
 | 
						|
    address {{ ip }}
 | 
						|
    address {{ ip6 }}
 | 
						|
 | 
						|
{% for iface in ifaces_firewall %}
 | 
						|
auto {{ iface }}.2
 | 
						|
iface {{ iface }}.2
 | 
						|
    vrf inside
 | 
						|
 | 
						|
auto {{ iface }}.4
 | 
						|
iface {{ iface }}.4
 | 
						|
    vrf outside
 | 
						|
 | 
						|
{% endfor -%}
 | 
						|
 | 
						|
# Backup firewall routes are exchanged over these subinterfaces.
 | 
						|
auto peerlink.2
 | 
						|
iface peerlink.2
 | 
						|
    vrf inside
 | 
						|
 | 
						|
auto peerlink.4
 | 
						|
iface peerlink.4
 | 
						|
    vrf outside
 | 
						|
    address {{ "169.254.1.0/24" | ipaddr(exit + 1) }}
 |