Gebruik Unifi USG

Hi Tweak.

Na zelf veel uitzoekwerk heb ik een Unifi USG als router ipv de Fritz!box. Erg tevreden over de snelheid en stabiliteit.

Voor de mensen die ook een usg als modem willen inzetten hierbij mijn config.gateway.json.
Met veel dank aan: http://www.nickd.nl/tweak/edgerouter/

Wat te doen om deze te gebruiken.
Mijn sparkl/canal digitaal boxen zitten op een vast ip: 10.10.10.250 & 10.10.10.251
Aan te passen in de regel services - nat - rule 2 & 3

De next hop moet het IPTV gateway adres zijn, bij mij 10.10.48.0 in de regel static - route. Het juiste IPTV gateway adres kan je achterhalen met behulp van CLI commando: netstat -rn . De kolom Gateway toont twee gateway’s. Het adres dat met 10. begint is het juiste gateway adres.

config.gateway.json:

Configuratie bekijken
{
    “firewall”: {
        “source-validation”: “disable”
    },
    “interfaces”: {
        “ethernet”: {
            “eth0”: {
                “description”: “WAN”,
                “duplex”: “auto”,
                “speed”: “auto”,
                “vif”: {
                    “4”: {
                        “address”: [
                            “dhcp”
                        ],
                        “description”: “eth0.4 - IPTV”,
                        “dhcp-options”: {
                            “client-option”: [
                                “send vendor-class-identifier “IPTV_RG”;”, 
                                “request subnet-mask, routers, rfc3442-classless-static-routes;”
                            ],
                            “default-route”: “no-update”,
                            “default-route-distance”: “210”
                        }
                    },
                    “34”: {
                        “description”: “eth0.34 - Internet”,
                        “address”: [
                            “dhcp”
                        ],
                        “dhcp-options”: {
                            “default-route-distance”: “1”,
                            “default-route”: “update”,
                            “name-server”: “update”
                        },
                        “firewall”: {
                            “in”: {
                                “name”: “WAN_IN”
                            },
                            “local”: {
                                “name”: “WAN_LOCAL”
                            },
                            “out”: {
                                “name”: “WAN_OUT”
                            }
                        }
                    }
                }
            },
            “eth2”:{
                “disable”: "’’",
                “duplex”: “auto”,
                “speed”: “auto”
            }
        },
        “loopback”: {
            “lo”: "’’"
        }
    },
    “protocols”: {
        “igmp-proxy”: {
            “interface”: {
                “eth1”: {
                    “role”: “downstream”,
                    “threshold”: “1”,
                    “whitelist”: [
                        “239.0.0.0/16”,
                        “225.0.71.0/24”,
                        “224.0.0.0/16”
                    ]
                },
                “eth0”: {
                    “role”: “disabled”,
                    “threshold”: “1”
                },
                “eth0.4”: {
                    “alt-subnet”: [
                        “0.0.0.0/0”
                    ],
                    “role”: “upstream”,
                    “threshold”: “1”
                },
                “eth0.34”: {
                    “role”: “disabled”,
                    “threshold”: “1”
                },
                “eth2”: {
                    “role”: “disabled”,
                    “threshold”: “1”
                }
            }
        },
        “static”: {
            “route”: {
                “185.6.48.0/26”: {
                    “next-hop”: {
                        “10.10.48.0”: "’’"
                    }
                }
            }
        }
    },
    “service”: {
        “nat”: {
            “rule”: {
                “2”: {
                    “description”: “ipv-srtp-abox1”,
                    “inbound-interface”: “eth0.4”,
                    “inside-address”: {
                        “address”: “10.10.10.250”,
                        “port”: “555-65000”
                    },
                    “log”: “disable”,
                    “protocol”: “udp”,
                    “source”: {
                    “address”: “185.6.48.0/26”
                    },
                    “type”: “destination”
                },
                “3”: {
                    “description”: “ipv-srtp-abox2”,
                    “inbound-interface”: “eth0.4”,
                    “inside-address”: {
                        “address”: “10.10.10.251”,
                        “port”: “555-65000”
                    },
                    “log”: “disable”,
                    “protocol”: “udp”,
                    “source”: {
                        “address”: “185.6.48.0/26”
                    },
                    “type”: “destination”
                },
                “5000”: {
                    “description”: “MASQ corporate_network to IPTV network”,
                    “log”: “disable”,
                    “outbound-interface”: “eth0.4”,
                    “protocol”: “all”,
                    “type”: “masquerade”
                },
                “5001”: {
                    “description”: “MASQ corporate_network to WAN”,
                    “log”: “disable”,
                    “outbound-interface”: “eth0.34”,
                    “protocol”: “all”,
                    “type”: “masquerade”
                }
            }
        }
    }
}
4 likes

Bedankt voor het delen, hopelijk hebben meer mensen hier profijt van :).

Bedankt voor het delen. Een werkende config maken stond nog op mijn to-do lijst.

Ik moest om dit werkend te krijgen nog 2 verschillende MAC adressen gebruiken. omdat de DHCP server voor beide vlans (WAN kant) maar een keer een ip uitdeelt. Dit betekende wel TV maar geen internet (of andersom)
Daarnaast Lekte de USG4 wat multicast verkeer. Hiervoor zelf 1 week geen TV gehad +/- 1 jr geleden. Ik zal vanavond eens mijn config posten.

OK, ik kan er nu ook bij natuurlijk :slight_smile:
Zoals je kan zien heb ik iets meer VLAN’s in gebruik. de IPTV boxen zitten in een apart VLAN (ETH3.444) ETH2 is de WAN aansluiting (ETH2 WAN2 die ik als LAN gebruik) en gebruik ik IPV6 via een HE tunnel. Het wachten is nog op native IPV6 van Tweak.

Onderstaande werkt al ruim 1 jaar zonder problemen. Op een enkele verstoring bij Canaal Digitaal na dan.

Configuratie bekijken
{  
    "interfaces":{  
        "tunnel":{  
            "tun0":{  
                "address":[  
                    "2001:xxx:xxx:xxx::2/64"
                ],
                "description":"HE.NET IPv6 Tunnel",
                "encapsulation":"sit",
                "firewall":{  
                    "in":{  
                        "ipv6-name":"WANv6_IN"
                    },
                    "local":{  
                        "ipv6-name":"WANv6_LOCAL"
                    },
                    "out":{  
                        "ipv6-name":"WANv6_OUT"
                    }
                },
                "local-ip":"82.197.xxx.xxx",
                "multicast":"disable",
                "remote-ip":"216.xxx.xxx.xxx",
                "ttl":"255"
            }
        },
        "ethernet":{  
            "eth2":{
                "vif":{  
                    "4":{  
                        "address":[  
                            "dhcp"
                        ],
                        "description":"WAN",
                        "mac":"xx:xx:xx:xx:xx:01",
                        "dhcp-options":{  
                            "client-option":[  
                                "send vendor-class-identifier "IPTV_RG";",
                                "request subnet-mask, routers, rfc3442-classless-static-routes;"
                            ],
                            "default-route":"no-update",
                            "default-route-distance":"220",
                            "name-server":"update"
                        },
                        "egress-qos":"0:5",
                        "ip":{  
                            "source-validation":"loose"
                        }
                    },
                    "34":{  
                        "description":"WAN",
                        "mac":"xx:xx:xx:xx:xx:02",
                        "address":[  
                            "dhcp"
                        ],
                        "egress-qos":"0:2",
                        "dhcp-options":{  
                             "default-route":"update",
                             "default-route-distance":"1",
                             "name-server":"no-update"
                        },
                        "firewall":{  
                            "in":{  
                                "ipv6-name":"WANv6_IN",
                                "name":"WAN_IN"
                            },
                            "local":{  
                                "ipv6-name":"WANv6_LOCAL",
                                "name":"WAN_LOCAL"
                            },
                            "out":{  
                                "ipv6-name":"WANv6_OUT",
                                "name":"WAN_OUT"
                            }
                        }
                    }
                }
            }
        }
    },
    "port-forward":{  
        "auto-firewall":"enable",
        "wan-interface":"eth2.34"
    },
    "protocols":{  
        "static":{  
            "interface-route":{  
                "0.0.0.0/0":{  
                    "next-hop-interface":{  
                        "eth2.34":"''"
                    }
                }
            },
            "interface-route6":{  
                "::/0":{  
                    "next-hop-interface":{  
                        "tun0":"''"
                    }
                }
            },
            "route": {
                "185.24.175.0/24": {
                    "next-hop": {
                        "10.10.48.1": "''"
                    }
                },
                "185.41.48.0/24": {
                    "next-hop": {
                        "10.10.48.1": "''"
                    }
                }
            }
        },
        "igmp-proxy":{  
            "interface":{  
                "eth2.4":{  
                    "alt-subnet":[  
                        "0.0.0.0/0"
                    ],
                    "role":"upstream",
                    "threshold":"1"
                },
                "eth3.444":{  
                    "role":"downstream",
                    "threshold":"1",
                    "whitelist":[
					     "239.0.3.0/16",
                         "225.0.71.0/24",
                         "224.0.0.0/16"
					]
                },
                "eth2.34":{  
                    "role":"disabled",
                    "threshold":"1"
                },
                "eth0":{  
                    "role":"disabled",
                    "threshold":"1"
                },
                "eth1":{  
                    "role":"disabled",
                    "threshold":"1"
                },
                "eth1.10":{  
                    "role":"disabled",
                    "threshold":"1"
                },
                "eth1.15":{  
                    "role":"disabled",
                    "threshold":"1"
                },
                "eth1.40":{  
                    "role":"disabled",
                    "threshold":"1"
                },
                "eth1.60":{  
                    "role":"disabled",
                    "threshold":"1"
                },
                "eth1.69":{  
                    "role":"disabled",
                    "threshold":"1"
                },
                "eth1.80":{  
                    "role":"disabled",
                    "threshold":"1"
                },
                "eth3":{  
                    "role":"disabled",
                    "threshold":"1"
                },
                "eth3.65":{  
                    "role":"disabled",
                    "threshold":"1"
                },
                "eth3.67":{  
                    "role":"disabled",
                    "threshold":"1"
                },
                "eth3.100":{  
                    "role":"disabled",
                    "threshold":"1"
                },
                "eth3.200":{  
                    "role":"disabled",
                    "threshold":"1"
                },
                "eth3.3000":{  
                    "role":"disabled",
                    "threshold":"1"
                }
            }
        }
    },
    "service":{  
        "lldp":{  
            "interface":{  
                "eth2":{  
                    "disable":"''"
                }
            }
        },
        "dns":{  
            "forwarding":{  
                "except-interface":[  
                    "eth2",
                    "eth2.34",
                    "eth2.4"
                ]
            }
        },
        "mdns":{
            "repeater":{
                "interface":[
                    "eth0",
                    "eth1.60",
                    "eth3.200"
                ]
            }
        },
        "nat":{  
            "rule":{  
                "5001":{  
                    "description":"MASQ corporate_network to IPTV network",
                    "log":"disable",
                    "outbound-interface":"eth2.4",
                    "protocol":"all",
                    "type":"masquerade"
                },
                "6001":{  
                    "description":"MASQ corporate_network to WAN",
                    "log":"disable",
                    "outbound-interface":"eth2.34",
                    "protocol":"all",
                    "source":{  
                        "group":{  
                            "network-group":"corporate_network"
                        }
                    },
                    "type":"masquerade"
                },
                "6002":{  
                    "description":"MASQ remote_user_vpn_network to WAN",
                    "log":"disable",
                    "outbound-interface":"eth2.34",
                    "protocol":"all",
                    "source":{  
                        "group":{  
                            "network-group":"remote_user_vpn_network"
                        }
                    },
                    "type":"masquerade"
                },
                "6003":{  
                    "description":"MASQ guest_network to WAN",
                    "log":"disable",
                    "outbound-interface":"eth2.34",
                    "protocol":"all",
                    "source":{  
                        "group":{  
                            "network-group":"guest_network"
                        }
                    },
                    "type":"masquerade"
                }
            }
        }
    },
    "vpn":{  
        "ipsec":{  
            "auto-firewall-nat-exclude":"disable",
            "ipsec-interfaces":{  
                "interface":[  
                    "eth2.34"
                ]
            },
            "nat-traversal":"enable"
        },
        "l2tp":{  
            "remote-access":{  
                "dhcp-interface":"eth2.34"
            }
        }
    },
    "system": {
        "conntrack": {
            "modules": {
                "sip":"disable"
            },
            "expect-table-size":"2048",
            "hash-size":"32768",
            "table-size":"262144"
        }
    }
}

Bedankt voor het delen van configuratie allemaal!

Ik wil een tip geven over het posten van configuratie. Als u het tandwiel in de editor aanklikt en in het menu daar de knop met Details verbergen aanklikt, verschijnt er een blokje code in de editor. Typ vervolgens in dit blok ```json, plak hier de configuratiecode en typ nadien ``` . Dan wordt de code als .json getoond in een ingeklapte lijst.

Hierdoor blijft het topic overzichtelijk :wink:

Bij voorbaat dank!

1 like

Een bericht is gesplitst naar een nieuw topic: Internet en Bellen icm OpenWRT Xiaomi R3P

Dit is geen geldige JSON. Je gebruikt “ en ” maar dit moet " zijn. Daarnaast klopt deze regel niet helemaal

“send vendor-class-identifier “IPTV_RG”;”, 

JSON validators geven aan dat dit niet mag en het lijkt er op dat de file wordt genegeerd als ik 'm er in laat.

Edit: Ik zie in veel voorbeelden de volgende regel:

"send vendor-class-identifier "IPTV_RG";",

Als ik die in mijn config.gateway.json zet wordt het bestand wel ingeladen, maar ik krijg nog geen antwoord van de DHCP server op VLAN 4. Kan iemand van Tweak misschien toelichten of deze regel uberhaupt van belang is? Het staat namelijk niet op de pagina ‘Gebruik eigen apparatuur’.

Edit 2: And the PEBCAK goes to …
/me had VLAN 4 niet op alle plekken geconfigureerd. Nadat ik dat had gedaan kreeg ik een IP adres \o/. Het is dus gelukt met de " regel

Dat is niet van belang en is niet nodig idd.

1 like

Bedankt voor het delen!
Helaas niet geschikt voor de 1GB glas verbinding.

Of zie ik over het hoofd dat je een glas naar UTP converter hebt?

Ik gebruik de USG-Pro juist op de 1gb glas verbinding. Alhoewel ik de verbinding nog via de Genexis laat lopen, zou ik ook direct op glas kunnen koppelen. Helaas heb ik geen mooie afdek plaat voor als de genexis weg is. dus voorlopig maar met Koper.