Add possibility to use extra linux network table

pull/2/head
Leo Maroni 4 years ago
parent 7a4fac2d8b
commit 1a38e19965
No known key found for this signature in database
GPG Key ID: B1ADA545CD2CBACD

@ -20,6 +20,8 @@ dn42_pingfinder_location: "/usr/bin/dn42_pingfinder"
dn42_pingfinder_uuid: "" dn42_pingfinder_uuid: ""
dn42_pingfinder_logfile: "/dev/null" dn42_pingfinder_logfile: "/dev/null"
dn42_configure_linux_network_table: no
dn42_peers: dn42_peers:
- name: "neighbour" - name: "neighbour"
as: "4242424242" as: "4242424242"
@ -30,4 +32,4 @@ dn42_peers:
port: 42424 port: 42424
endpoint: "example.com:2342" endpoint: "example.com:2342"
pubkey: "peers_public_key" pubkey: "peers_public_key"
privkey: "your_private_key" privkey: "your_private_key"

@ -35,3 +35,14 @@
- "ip a add {{ dn42_local_v6 }}/128 dev lo" - "ip a add {{ dn42_local_v6 }}/128 dev lo"
notify: restart networking notify: restart networking
- name: Configure DN42 Table on loopback-interface
interfaces_file:
iface: "lo"
option: "post-up"
value: "{{ item }}"
state: present
with_items:
- "ip rule add table 42"
- "ip -6 rule add table 42"
when: dn42_configure_linux_network_table
notify: restart networking

@ -15,6 +15,8 @@ define OWNNETSETv6 = [{{ dn42_local_subnet_v6 }}+];
################################################ ################################################
router id OWNIP; router id OWNIP;
ipv4 table dn42_v4;
ipv6 table dn42_v6;
protocol device { protocol device {
scan time 10; scan time 10;
@ -71,6 +73,7 @@ protocol kernel {
scan time 20; scan time 20;
ipv6 { ipv6 {
table dn42_v6;
import none; import none;
export filter { export filter {
if source = RTS_STATIC then reject; if source = RTS_STATIC then reject;
@ -78,12 +81,16 @@ protocol kernel {
accept; accept;
}; };
}; };
{% if dn42_configure_linux_network_table %}
kernel table 42;
{% endif %}
}; };
protocol kernel { protocol kernel {
scan time 20; scan time 20;
ipv4 { ipv4 {
table dn42_v4;
import none; import none;
export filter { export filter {
if source = RTS_STATIC then reject; if source = RTS_STATIC then reject;
@ -91,12 +98,16 @@ protocol kernel {
accept; accept;
}; };
}; };
{% if dn42_configure_linux_network_table %}
kernel table 42;
{% endif %}
} }
protocol static { protocol static {
route OWNNET reject; route OWNNET reject;
ipv4 { ipv4 {
table dn42_v4;
import all; import all;
export none; export none;
}; };
@ -106,6 +117,7 @@ protocol static {
route OWNNETv6 reject; route OWNNETv6 reject;
ipv6 { ipv6 {
table dn42_v6;
import all; import all;
export none; export none;
}; };
@ -116,6 +128,7 @@ template bgp dnpeers {
path metric 1; path metric 1;
ipv4 { ipv4 {
table dn42_v4;
import filter { import filter {
if is_valid_network() && !is_self_net() then { if is_valid_network() && !is_self_net() then {
{% if dn42_enable_roa %} {% if dn42_enable_roa %}
@ -134,6 +147,7 @@ template bgp dnpeers {
}; };
ipv6 { ipv6 {
table dn42_v6;
import filter { import filter {
if is_valid_network_v6() && !is_self_net_v6() then { if is_valid_network_v6() && !is_self_net_v6() then {
{% if dn42_enable_roa %} {% if dn42_enable_roa %}
@ -197,4 +211,4 @@ template bgp dnpeers_v6 {
} }
include "/etc/bird/peers/*"; include "/etc/bird/peers/*";

@ -12,4 +12,4 @@ protocol bgp {{ peer.name }}_v6 from dnpeers{% if not peer.multiprotocol is defi
debug {{ peer.debug }}; debug {{ peer.debug }};
{% endif %} {% endif %}
}; };
{% endif %} {% endif %}

Loading…
Cancel
Save