knb:wireguard-offloader

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
knb:wireguard-offloader [2020/05/10 16:35] – Fixed links lqbknb:wireguard-offloader [2020/07/06 22:49] lqb
Zeile 13: Zeile 13:
   * [[https://www.ui.com/download/edgemax/edgepoint/ep-r6/edgerouter-er-xer-x-sfpep-r6er-10x-firmware-v208-hotfix1|Firmware Version v2.0.8-hotfix1]]   * [[https://www.ui.com/download/edgemax/edgepoint/ep-r6/edgerouter-er-xer-x-sfpep-r6er-10x-firmware-v208-hotfix1|Firmware Version v2.0.8-hotfix1]]
   * Wireguard Debian Package ([[https://github.com/WireGuard/wireguard-vyatta-ubnt|Github Projekt]]): [[https://github.com/WireGuard/wireguard-vyatta-ubnt/releases/download/1.0.20200506-1/e50-v2-v1.0.20200506-v1.0.20200319.deb|e50-v2-v1.0.20200506-v1.0.20200319.deb]]   * Wireguard Debian Package ([[https://github.com/WireGuard/wireguard-vyatta-ubnt|Github Projekt]]): [[https://github.com/WireGuard/wireguard-vyatta-ubnt/releases/download/1.0.20200506-1/e50-v2-v1.0.20200506-v1.0.20200319.deb|e50-v2-v1.0.20200506-v1.0.20200319.deb]]
 +
 +
 +===== /config/config.boot erstellen =====
 +
 +Daten müssen bei FFMUC erfragt und in die Variablen eingepflegt werden.
 +
 +mk_config.boot.sh:
 +<code bash>
 +#!/bin/bash
 +
 +#USERNMAE/PASSWORD: ubnt/ubnt
 +
 +HOST_NAME="nam-segm11"
 +HOST_IPV4="172.20.X.1/24"
 +HOST_IPV6="2001:608:a01:X::1/64"
 +HOST_IPV6_PREFIX="2001:608:a01:X::/64"
 +
 +DHCP_SUBNET="172.20.X.0/24"
 +DHCP_START="172.20.X.10"
 +DHCP_STOP="172.20.X.254"
 +DHCP_DEFAULT_ROUTER="172.20.X.1"
 +DHCP_DNS="$DHCP_DEFAULT_ROUTER"
 +
 +WG0_IPV4="172.17.0.X/31"
 +WG0_IPV6="2001:608:a01:fffe::X/127"
 +WG0_ENDPOINT="vpn01.ext.ffmuc.net:X"
 +WG0_PRIVATE_KEY="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
 +
 +WG1_IPV4="172.18.0.X/31"
 +WG1_IPV6="2001:608:a01:fffd::X/127"
 +WG1_ENDPOINT="vpn02.ext.ffmuc.net:X"
 +WG1_PRIVATE_KEY="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
 +
 +BGP_AS="XXXXX"
 +BGP_NEIGHBOR1_IPV4="172.17.0.X"
 +BGP_NEIGHBOR1_IPv6="2001:608:a01:fffd::X"
 +BGP_NEIGHBOR2_IPv4="172.18.0.X"
 +BGP_NEIGHBOR2_IPv6="2001:608:a01:fffe::X"
 +BGP_NEXTHOP_IPV4="$BGP_NEIGHBOR1_IPV4"
 +BGP_NEXTHOP_IPV6="$BGP_NEIGHBOR2_IPv6"
 +
 +SNMP_COMMUNITY="XXXXXXXXXXXXXXX"
 +SNMP_CONTACT="name"
 +SNMP_DESCRIPTION="nam-epr"
 +SNMP_LOCATION="ORT"
 +
 +CLIENT1_IPV4="172.20.X.X"
 +CLIENT1_IPV6="2001:608:a01:X:X:X:X:X"
 +
 +
 +
 +
 +cat<<EOF
 +firewall {
 +    all-ping enable
 +    broadcast-ping disable
 +    ipv6-name VPN6_IN {
 +        default-action drop
 +        rule 10 {
 +            action accept
 +            description "Accept related and established IPv6 connections"
 +            log disable
 +            protocol all
 +            state {
 +                established enable
 +                invalid disable
 +                new disable
 +                related enable
 +            }
 +        }
 +        rule 20 {
 +            action accept
 +            description "Accept ICMP (aka Ping)"
 +            log disable
 +            protocol icmpv6
 +        }
 +        rule 30 {
 +            action accept
 +            description "Accept inbound SSH"
 +            destination {
 +                port 22
 +            }
 +            disable
 +            log disable
 +            protocol tcp
 +        }
 +        rule 40 {
 +            action accept
 +            description "Accept inbound HTTP"
 +            destination {
 +                port 80
 +            }
 +            disable
 +            log disable
 +            protocol tcp
 +        }
 +        rule 50 {
 +            action accept
 +            description "Accept inbound HTTPS"
 +            destination {
 +                port 443
 +            }
 +            disable
 +            log disable
 +            protocol tcp
 +        }
 +        rule 1010 {
 +            action accept
 +            description "Accept inbound SSH to host1"
 +            destination {
 +                address $CLIENT1_IPV6 #VAR
 +                port 22
 +            }
 +            log disable
 +            protocol tcp
 +        }
 +        rule 9000 {
 +            action accept
 +            description "Accept anything"
 +            disable
 +            protocol all
 +        }
 +        rule 9090 {
 +            action drop
 +            description "Ensure that unaccepted IPv6 packages are denied at end of chain"
 +            protocol all
 +        }
 +    }
 +    ipv6-receive-redirects disable
 +    ipv6-src-route disable
 +    ip-src-route disable
 +    log-martians enable
 +    name VPN_IN {
 +        default-action reject
 +        description "VPN to internal"
 +        rule 10 {
 +            action accept
 +            description "Accept related and established IPv4 connections"
 +            log disable
 +            protocol all
 +            state {
 +                established enable
 +                invalid disable
 +                new disable
 +                related enable
 +            }
 +        }
 +        rule 20 {
 +            action accept
 +            description "Accept ICMP (aka Ping)"
 +            log disable
 +            protocol icmp
 +        }
 +        rule 30 {
 +            action accept
 +            description "Accept inbound SSH"
 +            destination {
 +                port 22
 +            }
 +            disable
 +            log disable
 +            protocol tcp
 +        }
 +        rule 40 {
 +            action accept
 +            description "Accept inbound HTTP"
 +            destination {
 +                port 80
 +            }
 +            log disable
 +            protocol tcp
 +        }
 +        rule 50 {
 +            action accept
 +            description "Accept inbount HTTPS"
 +            destination {
 +                port 443
 +            }
 +            log disable
 +            protocol tcp
 +        }
 +        rule 1010 {
 +            action accept
 +            description "Accept inbound SSH to host1"
 +            destination {
 +                address $CLIENT1_IPV4 #VAR
 +                port 22
 +            }
 +            disable
 +            log disable
 +            protocol tcp
 +        }
 +        rule 9000 {
 +            action accept
 +            description "Accept anything"
 +            disable
 +            protocol all
 +        }
 +        rule 9090 {
 +            action drop
 +            description "Ensure that unaccepted IPv4 packages are denied at end of chain"
 +            log disable
 +            protocol all
 +        }
 +    }
 +    options {
 +        mss-clamp {
 +            interface-type wg
 +            mss 1366
 +        }
 +        mss-clamp6 {
 +            interface-type wg
 +            mss 1366
 +        }
 +    }
 +    receive-redirects disable
 +    send-redirects enable
 +    source-validation disable
 +    syn-cookies enable
 +}
 +interfaces {
 +    ethernet eth0 {
 +        address dhcp
 +        duplex auto
 +        speed auto
 +    }
 +    ethernet eth1 {
 +        duplex auto
 +        poe {
 +            output off
 +        }
 +        speed auto
 +    }
 +    ethernet eth2 {
 +        duplex auto
 +        poe {
 +            output off
 +        }
 +        speed auto
 +    }
 +    ethernet eth3 {
 +        duplex auto
 +        poe {
 +            output off
 +        }
 +        speed auto
 +    }
 +    ethernet eth4 {
 +        duplex auto
 +        poe {
 +            output off
 +        }
 +        speed auto
 +    }
 +    loopback lo {
 +    }
 +    switch switch0 {
 +        address $HOST_IPV4 #VAR
 +        address $HOST_IPV6 #VAR
 +        firewall {
 +            out {
 +                ipv6-name VPN6_IN
 +                name VPN_IN
 +            }
 +        }
 +        ipv6 {
 +            dup-addr-detect-transmits 1
 +            router-advert {
 +                cur-hop-limit 64
 +                link-mtu 0
 +                managed-flag false
 +                max-interval 600
 +                other-config-flag false
 +                prefix $HOST_IPV6_PREFIX { #VAR
 +                    autonomous-flag true
 +                    on-link-flag true
 +                    valid-lifetime 2592000
 +                }
 +                reachable-time 0
 +                retrans-timer 0
 +                send-advert true
 +            }
 +        }
 +        mtu 1500
 +        switch-port {
 +            interface eth1 {
 +            }
 +            interface eth2 {
 +            }
 +            interface eth3 {
 +            }
 +            interface eth4 {
 +            }
 +            vlan-aware disable
 +        }
 +    }
 +    wireguard wg0 {
 +        address $WG0_IPV4 #VAR
 +        address $WG0_IPV6 #VAR
 +        listen-port 51822
 +        mtu 1406
 +        peer 3maAGagRC6if+yZdRj8FoT80TP/KdEmIlcRs1+oHWgI= {
 +            allowed-ips 0.0.0.0/0
 +            allowed-ips ::/0
 +            endpoint $WG0_ENDPOINT #VAR
 +            persistent-keepalive 25
 +        }
 +        private-key $WG0_PRIVATE_KEY #VAR
 +        route-allowed-ips false
 +    }
 +    wireguard wg1 {
 +        address $WG1_IPV4 #VAR
 +        address $WG1_IPV6 #VAR
 +        listen-port 51823
 +        mtu 1406
 +        peer VRHnZKr3T5/CeOD4THfHdhp0lLoNVhD19uevSGyC4Ck= {
 +            allowed-ips 0.0.0.0/0
 +            allowed-ips ::/0
 +            endpoint $WG1_ENDPOINT #VAR
 +            persistent-keepalive 25
 +        }
 +        private-key $WG1_PRIVATE_KEY #VAR
 +        route-allowed-ips false
 +    }
 +}
 +protocols {
 +    bgp $BGP_AS { #VAR
 +        address-family {
 +            ipv6-unicast {
 +                redistribute {
 +                    connected {
 +                    }
 +                }
 +            }
 +        }
 +        maximum-paths {
 +            ebgp 4
 +        }
 +        neighbor $BGP_NEIGHBOR1_IPV4 { #VAR
 +            remote-as 65132
 +            soft-reconfiguration {
 +                inbound
 +            }
 +        }
 +        neighbor $BGP_NEIGHBOR2_IPv4 { #VAR
 +            remote-as 65132
 +            soft-reconfiguration {
 +                inbound
 +            }
 +        }
 +        neighbor $BGP_NEIGHBOR1_IPv6 { #VAR
 +            address-family {
 +                ipv6-unicast {
 +                }
 +            }
 +            remote-as 65132
 +            soft-reconfiguration {
 +                inbound
 +            }
 +        }
 +        neighbor $BGP_NEIGHBOR2_IPv6 { #VAR
 +            address-family {
 +                ipv6-unicast {
 +                }
 +            }
 +            remote-as 65132
 +            soft-reconfiguration {
 +                inbound
 +            }
 +        }
 +        redistribute {
 +            connected {
 +            }
 +        }
 +    }
 +    static {
 +        route 172.22.0.0/16 {
 +            next-hop 192.168.179.1 {
 +                description LAN
 +            }
 +        }
 +        route 195.30.94.26/32 {
 +            next-hop 192.168.179.1 {
 +                description "vpn02.ext.ffmuc.net - v4"
 +            }
 +        }
 +        route 195.30.193.34/32 {
 +            next-hop 192.168.179.1 {
 +                description "vpn01.ext.ffmuc.net - v4"
 +            }
 +        }
 +        route6 2001:608:a01::44/128 {
 +            blackhole {
 +            }
 +        }
 +        route6 2001:608:a01::45/128 {
 +            blackhole {
 +            }
 +        }
 +        table 11 {
 +            route 0.0.0.0/0 {
 +                next-hop $BGP_NEXTHOP_IPV4 { #VAR
 +                }
 +            }
 +            route6 ::/0 {
 +                next-hop $BGP_NEXTHOP_IPV6 { #VAR
 +                }
 +            }
 +        }
 +    }
 +}
 +service {
 +    dhcp-server {
 +        disabled false
 +        hostfile-update disable
 +        shared-network-name internal {
 +            authoritative disable
 +            subnet $DHCP_SUBNET { #VAR
 +                default-router $DHCP_DEFAULT_ROUTER #VAR
 +                dns-server $DHCP_DNS #VAR
 +                lease 600
 +                start $DHCP_START { #VAR
 +                    stop $DHCP_STOP #VAR
 +                }
 +                unifi-controller 195.30.94.28
 +            }
 +        }
 +        static-arp disable
 +        use-dnsmasq disable
 +    }
 +    dns {
 +        forwarding {
 +            cache-size 10000
 +            listen-on switch0
 +        }
 +    }
 +    gui {
 +        http-port 80
 +        https-port 443
 +        older-ciphers enable
 +    }
 +    snmp {
 +        community $SNMP_COMMUNITY { #VAR
 +            authorization ro
 +        }
 +        contact $SNMP_CONTACT #VAR
 +        description $SNMP_DESCRIPTION #VAR
 +        location $SNMP_LOCATION #VAR
 +    }
 +    ssh {
 +        port 22
 +        protocol-version v2
 +    }
 +    unms {
 +        disable
 +    }
 +}
 +system {
 +    flow-accounting {
 +        disable-memory-table
 +        ingress-capture post-dnat
 +        interface eth0
 +        netflow {
 +            enable-egress {
 +                engine-id 51
 +            }
 +            engine-id 50
 +            mode daemon
 +            server 167.71.92.38 {
 +                port 2055
 +            }
 +            timeout {
 +                expiry-interval 60
 +                flow-generic 60
 +                icmp 60
 +                max-active-life 60
 +                tcp-fin 10
 +                tcp-generic 60
 +                tcp-rst 10
 +                udp 60
 +            }
 +            version 9
 +        }
 +        syslog-facility daemon
 +    }
 +    host-name $HOST_NAME #VAR
 +    login {
 +        user ubnt {
 +            authentication {
 +                encrypted-password \$5\$trVYj6jdWHatLKF6\$BruP2qvNOWNQ2BcoY4EscxECQdHxNWeHrTA1chhzYe0
 +                plaintext-password ""
 +            }
 +            full-name ""
 +            level admin
 +        }
 +    }
 +    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 {
 +        }
 +    }
 +    syslog {
 +        global {
 +            facility all {
 +                level notice
 +            }
 +            facility protocols {
 +                level debug
 +            }
 +        }
 +    }
 +    time-zone UTC
 +    traffic-analysis {
 +        custom-category XBOX {
 +            name XBOX
 +        }
 +        dpi enable
 +        export enable
 +    }
 +}
 +traffic-control {
 +    optimized-queue {
 +        policy global
 +        policy queues
 +    }
 +}
 +
 +
 +/* Warning: Do not remove the following line. */
 +/* === vyatta-config-version: "config-management@1:conntrack@1:cron@1:dhcp-relay@1:dhcp-server@4:firewall@5:ipsec@5:nat@3:qos@1:quagga@2:suspend@1:system@4:ubnt-pptp@1:ubnt-udapi-server@1:ubnt-unms@1:ubnt-util@1:vrrp@1:vyatta-netflow@1:webgui@1:webproxy@1:zone-policy@1" === */
 +/* Release version: v2.0.8-hotfix.1.5278088.200305.1641 */
 +EOF
 +
 +</code>
 +
 +
  
  
  
  • knb/wireguard-offloader.txt
  • Zuletzt geändert: 2020/07/07 06:04
  • von lqb