loadbalancing does not work with one pppoe connection and another connection of either dhcp or static
Open, NormalPublic

Description

when using load balancing with a pppoe connection and another static or dhcp connection load balancing will never use the pppoe connection due to the way pppoe uses the iptables vs the other connection.

static routes with a different metric does not alleviate this as it would if one connection was dhcp and another static.

issue has persisted since original pull from vyatta codebase

i believe that in edgeos this issue is the primary reason load balancing is handled completely differently.

Details

Difficulty level
Hard (possibly days)
Version
-
Why the issue appeared?
Implementation mistake
masterit created this task.May 10 2017, 9:02 PM

in edgeos each loadbalanced interface has it's ip table set directly at the interface-health section of the loadbalancing config. ex:

load-balance {
	group <name> {
		interface <name> {
			route {
				default
				table <name>
			}
			weight <number>
			failover-only
			route-test {
				type {
					default
					ping {
						target <host>
					}
					script <name>
				}
				initial-delay <number>
				interval <number>
				count {
					success <number>
					failure <number>
				}
			}
		}
	}
}

UBNT Loadbalancing Guide

EwaldvanGeffen added a subscriber: EwaldvanGeffen.EditedMay 21 2017, 5:17 PM

What version have you been using?

This can be achieved in VyOS 1.2 albeit it's harder to resolve. I unfortunately lost a config example with pppoe, static and dhcp over ethernet working correctly. It requires using static interface routes for dhcp to fix weights; pppoe force-gateway option; and an adjustment of the static routes weight to match the dhcp ones (this was four years ago).

priochange: I'd like to first see where the PR stems from, before proceeding.

EwaldvanGeffen lowered the priority of this task from Unbreak Now! to Needs Triage.May 21 2017, 5:22 PM

been using the VyOS 1.2.0-beta1

i've never had this work successfully even on vyatta. back then i know they were working on a patch for this issue but it was never released.

static routes for the pppoe interface can't be done if the gateway changes (interface-routes don't work) not sure if static route x.x.x.x/x dhcp-interface would work either, i could not get either working with a pppoe tunnel.

the weights are only one issue, the other being even when the static routes were setup with the weight of 2 for both interfaces, the nat for both, and the loadbalancing configuration; only the dhcp interface was routable. it seems that the pppoe interface was not able to share the same iptable. (rather there was no way to set the weight of the pppoe interface to be the same as the dhcp one(a route of 0.0.0.0 with a weight of 2 did not work))

if there was a way to configure which iptable each interface used for outbound traffic i believe this would resolve the issue.

I added a force-gateway option some time ago. Regardless it's somewhat expected on 1.2, it needs testing and review. I meant 1.1.7 in my previous post (yes, confusion).

syncer triaged this task as Normal priority.Aug 1 2017, 3:04 AM
syncer changed the edit policy from "Task Author" to "Custom Policy".
syncer removed a project: VyOS 2.0.x.
syncer set Version to -.