Quantcast
Channel: EdgeRouter topics
Viewing all articles
Browse latest Browse all 20028

Load balancing 3 WAN PPPoE & VLANs on ERX

$
0
0

Hello folks,

 

I'm fairly new to Ubiquiti (having previously worked with MikroTik), and I'm trying to replace a god-awful Draytek 300B that currently acts as a load balancer on my network with an Edgerouter X. I'm also self-taught, so it's quite likely I overlooked something.

 

The ER-X runs EdgeOS 1.9.0.

 

I'm working bit by bit from the KB articles and forums. The network is fairly simple:

WAN: I get 3 PPPoE 80/20Mbps links in that I'm trying to balance. My ISP provides the same DNS server on all 3 links.

LAN: 10.10.10.0/24 is my management subnet where the ER-X, Cloud Key, and UAP Pro units will be eventually.

My clients will connect to the UAP Pro units on two VLANs, 28 & 34, with addresses at 10.10.28.0/24 and 10.10.34.0/24, respectively. There will also be a guest VLAN 50, which isn't in use yet.

 

This is the configuration I've put together so far:

 

firewall {
    all-ping enable
    broadcast-ping disable
    group {
        network-group PRIVATE_NETS {
            network 192.168.0.0/16
            network 172.16.0.0/12
            network 10.0.0.0/8
        }
    }
    ipv6-receive-redirects disable
    ipv6-src-route disable
    ip-src-route disable
    log-martians disable
    modify balance {
        rule 10 {
            action modify
            description "do NOT load balance lan to lan"
            destination {
                group {
                    network-group PRIVATE_NETS
                }
            }
            modify {
                table main
            }
        }
        rule 40 {
            action modify
            description "do NOT load balance destination public address"
            destination {
                group {
                    address-group ADDRv4_pppoe2
                }
            }
            modify {
                table main
            }
        }
        rule 50 {
            action modify
            description "do NOT load balance destination public address"
            destination {
                group {
                    address-group ADDRv4_pppoe3
                }
            }
            modify {
                table main
            }
        }
        rule 60 {
            action modify
            description "do NOT load balance destination public address"
            destination {
                group {
                    address-group ADDRv4_pppoe4
                }
            }
            modify {
                table main
            }
        }
        rule 70 {
            action modify
            modify {
                lb-group G
            }
        }
    }
    name WAN_IN {
        default-action drop
        description "WAN to LAN"
        rule 10 {
            action accept
            description "Allow established/related"
            log enable
            protocol all
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            log enable
            protocol all
            state {
                invalid enable
            }
        }
    }
    name WAN_LOCAL {
        default-action drop
        description "WAN to router"
        rule 10 {
            action accept
            description "Allow established/related"
            log enable
            protocol all
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            log enable
            protocol all
            state {
                invalid enable
            }
        }
    }
}
interfaces {
    ethernet eth0 {
        address 10.10.10.1/24
        description "management LAN"
        firewall {
            in {
                modify balance
            }
        }
        duplex auto
        speed auto
        vif 28 {
            address 10.10.28.1/24
            description "VLAN 28"
            mtu 1500
        }
        vif 34 {
            address 10.10.34.1/24
            description "VLAN 34"
            mtu 1500
        }
        vif 50 {
            address 192.168.1.1/24
            description "VLAN GUEST"
            mtu 1500
        }
    }
    ethernet eth1 {
        description "management LAN 2"
        duplex auto
        speed auto
    }
    ethernet eth2 {
        description "WAN 1"
        duplex auto
        pppoe 2 {
            default-route none
            firewall {
                in {
                    name WAN_IN
                }
                local {
                    name WAN_LOCAL
                }
            }
            mtu 1492
            name-server none
            password ***********
            user-id ***********
        }
        speed auto
    }
    ethernet eth3 {
        description "WAN 2"
        duplex auto
        pppoe 3 {
            default-route none
            firewall {
                in {
                    name WAN_IN
                }
                local {
                    name WAN_LOCAL
                }
            }
            mtu 1492
            name-server none
            password ***********
            user-id ***********
        }
        speed auto
    }
    ethernet eth4 {
        description "WAN 3"
        duplex auto
        pppoe 4 {
            default-route none
            firewall {
                in {
                    name WAN_IN
                }
                local {
                    name WAN_LOCAL
                }
            }
            mtu 1492
            name-server none
            password ***********
            user-id ***********
        }
        speed auto
    }
    switch switch0 {
        address 10.10.1.1/24
        description Local
        firewall {
            in {
                modify balance
            }
        }
        mtu 1500
        switch-port {
            interface eth1 {
            }
            vlan-aware disable
        }
    }
    loopback lo {
    }
}
load-balance {
    group G {
        interface pppoe2 {
        }
        interface pppoe3 {
        }
        interface pppoe4 {
        }
        lb-local enable
        sticky {
            dest-addr enable
            dest-port enable
            source-addr enable
        }
    }
}
protocols {
    static {
        interface-route 0.0.0.0/0 {
            next-hop-interface pppoe2 {
            }
            next-hop-interface pppoe3 {
            }
            next-hop-interface pppoe4 {
            }
        }
    }
}
service {
    dhcp-server {
        disabled false
        hostfile-update disable
        shared-network-name guest-dhcp {
            authoritative disable
            subnet 192.168.1.0/24 {
                default-router 192.168.1.1
                dns-server 192.168.1.1
                lease 86400
                start 192.168.1.6 {
                    stop 192.168.1.243
                }
                unifi-controller 10.10.10.10
            }
        }
        shared-network-name LAN {
            authoritative disable
            subnet 10.10.10.0/24 {
                default-router 10.10.10.1
                dns-server 10.10.10.1
                lease 86400
                start 10.10.10.38 {
                    stop 10.10.10.243
                }
                unifi-controller 10.10.10.10
            }
        }
        shared-network-name WLAN-28 {
            authoritative disable
            subnet 10.10.28.0/24 {
                default-router 10.10.28.1
                dns-server 10.10.28.1
                lease 86400
                start 10.10.28.6 {
                    stop 10.10.28.243
                }
                unifi-controller 10.10.10.10
            }
        }
        shared-network-name WLAN-34 {
            authoritative disable
            subnet 10.10.34.0/24 {
                default-router 10.10.34.1
                dns-server 10.10.34.1
                lease 86400
                start 10.10.34.6 {
                    stop 10.10.34.243
                }
                unifi-controller 10.10.10.10
            }
        }
        use-dnsmasq disable
    }
    dns {
        forwarding {
            cache-size 300
            listen-on eth0
            listen-on eth1
            listen-on eth0.28
            listen-on eth0.34
            listen-on eth0.50
        }
    }
    gui {
        https-port 443
    }
    nat {
        rule 5004 {
            description "masquerade for WAN 1"
            outbound-interface pppoe2
            type masquerade
        }
        rule 5006 {
            description "masquerade for WAN 2"
            outbound-interface pppoe3
            type masquerade
        }
        rule 5008 {
            description "masquerade for WAN 3"
            outbound-interface pppoe4
            type masquerade
        }
    }
    ssh {
        port 22
        protocol-version v2
    }
}
system {
    conntrack {
        expect-table-size 4096
        hash-size 4096
        table-size 32768
        tcp {
            half-open-connections 512
            loose enable
            max-retrans 3
        }
    }
    host-name EDGEROUTERX
    login {
        user *********** {
            authentication {
                encrypted-password ***********
                plaintext-password ***********
            }
            level admin
        }
    }
    name-server 8.8.8.8
    name-server 8.8.4.4
    name-server *ISP.DNS.1*
    name-server *ISP.DNS.2*
    ntp {
        server 0.ubnt.pool.ntp.org {
        }
        server 1.ubnt.pool.ntp.org {
        }
        server 2.ubnt.pool.ntp.org {
        }
        server 3.ubnt.pool.ntp.org {
        }
    }
    offload {
        hwnat disable
    }
    syslog {
        global {
            facility all {
                level notice
            }
            facility protocols {
                level debug
            }
        }
    }
    time-zone Europe/London
    traffic-analysis {
        dpi enable
        export enable
    }
}
traffic-control {
    smart-queue WAN2_queue {
        download {
            ecn enable
            flows 1024
            fq-quantum 1514
            limit 10240
            rate 64mbit
        }
        upload {
            ecn enable
            flows 1024
            fq-quantum 1514
            limit 10240
            rate 16mbit
        }
        wan-interface pppoe2
    }
    smart-queue WAN3_queue {
        download {
            ecn enable
            flows 1024
            fq-quantum 1514
            limit 10240
            rate 64mbit
        }
        upload {
            ecn enable
            flows 1024
            fq-quantum 1514
            limit 10240
            rate 16mbit
        }
        wan-interface pppoe3
    }
    smart-queue WAN4_queue {
        download {
            ecn enable
            flows 1024
            fq-quantum 1514
            limit 10240
            rate 64mbit
        }
        upload {
            ecn enable
            flows 1024
            fq-quantum 1514
            limit 10240
            rate 16mbit
        }
        wan-interface pppoe4
    }
}

The problem is that clients can't reach the internet. They get assigned an address by their respective DHCP server, and DNS seems to work fine - I can ping a website from the client, the address succesfully resolves, but I get no replies. Disabling the smart queues doesn't help, and CPU & memory use are fairly low on the Dashboard.

 

Note: I'm not intending to use the switch0 interface, and eth1 also isn't in use, so I just assigned eth1 to switch0 and gave it a dummy address. I couldn't delete the switch0 interface, that's why i left it in.

 

Is there anything obvious that I've missed from the configuration? I'd appreciate any assistance.


Viewing all articles
Browse latest Browse all 20028

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>