# Telekom sagemcom F@st 5655v2 router A router a gyári beállításokkal kíválóan működik. A gondok nálam akkor kezdődtek amikor a valós használati körülményeimhez próbáltam beállítani. A gyári beállításban a router a **192.168.1.1**-es IP címen üzemel. A DHCP szerver a **192.068.1.100-200** tartományban oszt IP címet a hálózati eszközöknek. Az első dolgom volt, hogy az IP címet, és a DHCP pool-t átállítottam a **10.0.0.1** és **10.0.0.100-250** címre és tartományra. A beállítások mentése után a kívánt módon működött az eszköz, mígnem a GUEST Wifi lehetőséget szerettem volna kipróbálni. A DHCP beállítások oldalon van egy figyelmeztető üzenet, miszerint a DHCP pool beállításánál ügyeljünk arra, hogy a *192.168.2.0/24* IP tartomány a GUEST WLAN részére van fenntartva, ezért más tartományt válasszunk.   Ezt tudomásul vettem, majd bekapcsoltam a GUEST Wifi-t és beállítottam az SSID-t és a titkosítást. Majd az egyik mobil eszközzel csatlakoztam a Guest hálózatra. A csatlakozás után az eszköz jelezte, hogy bizony ezen a kapcsolaton keresztül az internet nem elérhető. A GUEST DHCP-n keresztül a 192.168.2.5-ös IP címet kapta a csatlakozott eszköz, DNS szerver címet a 192.168.1.1-el, átjárónak pedig a 192.168.2.1-et. A GUEST Wifi ezekkel a beállításokkal nem működik. Viszont a GUEST hálózat, és a hozzá tartozó DHCP pool nem konfigurálható, mivel nincs hozzá konfigurációs felület. A router típusra rákeresve az alábbi repot találtam https://github.com/wuseman/SAGEMCOM-FAST-5370e-TELIA Az itt található leírás alapján, a router webes felületét megnyitva, a konzolban elérhető a JS objektum, amin keresztül a webes konfigurációs alkalmazás hozzáfér a router tulajdonságaihoz és módosítani is tudja azokat. A tulajdonságokat lekérdező getter függvény a ``` $.xmo.getValuesTree("*"); ``` Ahol a paraméterben átadott útvonal a tulajdonság-fában a lekérdezni kívánt tulajdonság elérési útját adja meg. A gyökér elem a Device. ``` $.xmo.getValuesTree("Device"); ``` A fenti parancsot kiadva a teljes fa struktúrát megkapjuk. Egy konkrét elem címzésénél, ha a fában tömb elemre kell hivatkozni, ott vagy az elem alias nevével, vagy az uid azonosítójával lehet a tömb elemet kijelölni. Pl `Elem[@uid='1']` vagy `Elem[Alias='Aliasnev']` A GUEST LAN konfiguráláshoz először az interface ip címét kellett beállítani, ami a fában a `Device/IP/Interfaces/Interface[Alias='IP_BR_GUEST']/IPv4Addresses/IPv4Address[Alias='IP_BR_GUEST_ADDRESS']/IPAddress` útvonalon található. ``` > $.xmo.getValuesTree("Device/IP/Interfaces/Interface[Alias='IP_BR_GUEST']/IPv4Addresses/IPv4Address[Alias='IP_BR_GUEST_ADDRESS']/IPAddress"); < "192.168.2.1" ``` (Ha a getter-t olyan útvonallal hívjuk meg ami nem található a tulajdonság-fában, akkor hibaüzenetet kapunk. XMO getValue action error: "Unknown path" A következőben leírtakra nem biztatok senki, mert egy esetleges rossz beállítás a router működőképtelenségét okozhatja! Miután megvan a helyes elérési út, a setter függvénnyel módosíthatjuk az értéket. Ehhez a $.xmo hegyes végét hasznájuk! 😊 ``` $.xmo.setValuesTree("10.0.1.1","Device/IP/Interfaces/Interface[Alias='IP_BR_GUEST']/IPv4Addresses/IPv4Address[Alias='IP_BR_GUEST_ADDRESS']/IPAddress"); ``` A setter első paramétere az érték, a második pedig a módosítandó ág. A módosítás sikerességét a getter lefuttatásával ellenőrizhetjük vissza. Ha olyan paramétert próbálunk módosítani ami nem lehetséges, akkor a webes alkalmazás ki is léptet. A GUEST LAN DHCP pool konfigurálásához az alábbi módosításokat eszközöltem: ``` $.xmo.setValuesTree("10.0.0.1","Device/DHCPv4/Server/Pools/Pool[Alias='GUEST_POOL']/DNSServers"); $.xmo.setValuesTree("10.0.1.1","Device/DHCPv4/Server/Pools/Pool[Alias='GUEST_POOL']/IPRouters"); $.xmo.setValuesTree("10.0.1.2","Device/DHCPv4/Server/Pools/Pool[Alias='GUEST_POOL']/MinAddress"); $.xmo.setValuesTree("10.0.1.254","Device/DHCPv4/Server/Pools/Pool[Alias='GUEST_POOL']/MaxAddress"); ``` Érdekes lehet még a Device/Hosts/Hosts útvonal alatt lévő eszközlistában az eszközhöz tartozó UserHostName tulajdonság. Ezt lehetséges módosítani is, ellentétben a HostName tulajdonsággal. A módosítás után az eszközt a UserHostName.home címen tudjuk elérni.