fault_tolerant_router won't return
Trying to set up fault_tolerant_router
[URL="https://github.com/drsound/fault_tolerant_router"]/URL]
on a standalone i7 desktop, to solve a particular problem in our office that we can't seem to fix with a commercial router.
It rolls over as soon as the primary link goes down, but won't return to the primary when that link comes back up.
The network config is
link 1 (enp1s0) -> outbound router 1
link 2 (enp2s0) -> outbound router 2
link 3 (enp3s0) <-> Office LAN
I've attached below the 3 ifcfg-xxx files from /etc/sysconfig/network-scripts, and also /etc/fault_tolerant_router.conf
Anyone out there using ftr successfully, who can see my (OBVIOUS?) error?
Any advice greatly appreciated.
Russell Griffiths
ifcfg-enp1s0
NAME="System enp1s0"
TYPE=Ethernet
DEVICE=enp1s0
HWADDR="4c:cc:6a:4e:5b:00"
BOOTPROTO=STATIC
IPADDR=192.168.1.5
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
NETWORK=192.168.1.0
#IPV4_ROUTE_METRIC=300
DEFROUTE=no
ONBOOT=yes
DNS1=192.168.1.1
DNS2=8.8.8.8
DNS3=8.8.4.4
UUID=d771bcc5-7cde-4323-9215-fa60db7b1652
MACADDR=""
IPV4_FAILURE_FATAL=no
PROXY_METHOD=none
IPV6_FAILURE_FATAL=no
IPV6INIT=no
BROWSER_ONLY=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
BOOTPROTO=none
MTU=""
link2
NAME="System enp1s0"
TYPE=Ethernet
DEVICE=enp1s0
HWADDR="4c:cc:6a:4e:5b:00"
BOOTPROTO=STATIC
IPADDR=192.168.1.5
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
NETWORK=192.168.1.0
#IPV4_ROUTE_METRIC=300
DEFROUTE=no
ONBOOT=yes
DNS1=192.168.1.1
DNS2=8.8.8.8
DNS3=8.8.4.4
UUID=d771bcc5-7cde-4323-9215-fa60db7b1652
MACADDR=""
IPV4_FAILURE_FATAL=no
PROXY_METHOD=none
IPV6_FAILURE_FATAL=no
IPV6INIT=no
BROWSER_ONLY=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
BOOTPROTO=none
MTU=""
link3
NAME="System enp3s0"
TYPE=Ethernet
DEVICE=enp3s0
BOOTPROTO=STATIC
IPADDR=192.168.0.28
NETMASK=255.255.255.0
BROADCAST=192.168.0.255
NETWORK=192.168.0.0
#IPV4_ROUTE_METRIC=200
DEFROUTE=no
ONBOOT=yes
DNS1=192.168.0.2
DNS2=8.8.8.8
DNS3=8.8.4.4
UUID=4ae0f9b3-171e-3b86-984b-5a43155ea305
MACADDR=""
IPV4_FAILURE_FATAL=no
PROXY_METHOD=none
IPV6_FAILURE_FATAL=no
IPV6INIT=no
BROWSER_ONLY=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
BOOTPROTO=none
MTU="
fault_tolerant_router.conf
uplinks:
- interface: enp2s0
type: static
ip: 192.168.1.27
gateway: 192.168.1.1
description: Optus
priority_group: 1
#optional parameter
weight: 1
- interface: enp3s0
type: static
ip: 192.168.0.28
gateway: 192.168.0.2
description: Telstra
priority_group: 5
#optional parameter
weight: 1
downlinks:
# this is the interface where all the traffic from the office LAN
# that is headed outbound to the internet, comes IN
lan: enp1s0
#leave blank if you have no DMZ
dmz:
tests:
#an array of IP addresses to ping to verify the uplinks state. You can add as
#many as you wish. Predefined ones are Google DNS, OpenDNS DNS, other public
#DNS. Every time an uplink is tested the IP addresses are shuffled, so listing
#order is not important.
ips:
- 8.8.8.8
- 8.8.4.4
- 208.67.222.222
- 208.67.220.220
- 4.2.2.2
- 4.2.2.3
#number of successfully pinged IP addresses to consider an uplink to be
#functional
required_successful: 4
#number of ping retries before giving up on an IP
ping_retries: 1
#seconds between a check of the uplinks and the next one
interval: 5
log:
file: "/var/log/fault_tolerant_router.log"
#file: "/tmp/fault_tolerant_router.log"
#maximum log file size (in bytes). Once reached this size, the log file will
#be rotated.
max_size: 1024000
#number of old rotated files to keep
old_files: 10
email:
send: true
sender: router@<deleted>.com.au
recipients:
- <deleted>f9999@gmail.com
smtp_parameters:
address: smtp.gmail.com
port: 587
#domain: domain.com
authentication: :login
enable_starttls_auto: true
user_name: <deleted for this post>@gmail.com
password: <deleted for this post>
#base IP route table number, just need to change if you are already using
#multiple routing tables
base_table: 1
#just need to change if you are already using ip policy routing, to avoid
#overlapping, must be higher than 32767 (the default routing table priority,
#see output of "ip rule" command)
base_priority: 40000
#just need to change if you are already using packet marking, to avoid
#overlapping
base_fwmark: 1
|