akkadius / glass-isc-dhcp Goto Github PK
View Code? Open in Web Editor NEWGlass - ISC DHCP Server Interface
License: MIT License
Glass - ISC DHCP Server Interface
License: MIT License
Hi @Akkadius ,
I try to install Glass on my CentOS v6.5, after deployed, I've got this error when execute sudo npm start
or ./glass_start.sh
It keeps appear this errors in /opt/glass-isc-dhcp/logs/glass-error.log
/opt/glass-isc-dhcp/app.js:673
let transporter = nodemailer.createTransport({
^^^^^^^^^^^
SyntaxError: Unexpected identifier
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/opt/glass-isc-dhcp/bin/www:7:11)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
error: Forever detected script exited with code: 8
Can you guide me how to troubleshoot this error?
Big Thanks in Advance,
Sharkrit
I'd like to use glass-isc-dhcp on a raspberry pi, but there are some x86 elf binaries.
I propose detecting architecture on install and copying/linking appropriate binaries
Hello everyone,
Did anyone has tried to install GLASS-ISC-DHCP on RHEL8 ?
i keep getting errors when i run : nmp start
error 1: no such file or directory, open '/var/lib/dhcp/dhcpd.leases'
But it exist !!..
error2:
npm ERR! code ELIFECYCLE
nmp ERR! errno 1
npm ERR: [email protected] start : node ./bin/www
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in :
npm ERR! /root/.nmp/_logs/2020_01_08T23_41_30_708Z-debug.log
Help :(
Kudos! This looks awesome.
Do you have any plans to move to Kea DHCP? It has a REST API built-in.
I've only used ISC DHCP in the past, but, it seems like ISC is recommending that new deployments use Kea.
Hi,
While starting, it says:
RangeError [ERR_FS_FILE_TOO_LARGE]: File size (8173263173) is greater than possible Buffer: 2147483647 bytes
is it possible and how to increase Buffer size that is used?
Thanks.
Hi
Here is my compose file, I searched other issues, but I have 3000 open and there's nothing listening only on 8085
isc-dhcp:
container_name: dhcp
image: "networkboot/dhcpd"
network_mode: host
volumes:
- /opt/docker/dhcp/:/data/
glass:
container_name: glass
image: "node:8"
working_dir: /home/node/app
security_opt:
- apparmor:unconfined
environment:
- NODE_ENV=production
volumes:
- /opt/docker/glass/glass-isc-dhcp:/home/node/app
- /opt/docker/dhcp/:/var/lib/dhcp
- /opt/docker/dhcp/dhcpd.conf:/etc/dhcp/dhcpd.conf
#- /srv/dhcp/
ports:
- "8085:8080"
- "3005:3000"
command: "/bin/sh -c 'npm install && npm start'"
Hi,
The version of NodeJS suggested in the installation instructions (8.x Carbon) is now deprecated.
Following the installation instructions gives a big red warning to this effect.
Does Glass support either NodeJS 10.x or 12.x, which are the newer LTS releases?
Installation okay, Server up an runing but when I try to access the page I get: Upgrade Required
So what now?
ps: using latest versions on Debian 9
When I sort a column, the information will unsort a few seconds later. I can't seem to find a way to lock it or stop the refresh that unsorts it.
For anyone who is watching this project - I wanted to give a general update.
I've been very busy with work as of late, but it is within my intentions to test and make sure Glass works on all major distributions. I plan to do this within the next month or so when my workload frees up a bit.
I will correct any issues that I may run into with platform differences and update the documentation
I'm glad so many people have found their way to this project and have been enjoying using it, I didn't expect to see so much uptake
Thanks everyone!
Hi,
I'd love to use glass but I'm not able to start it.
Output is
> > [email protected] start /opt/glass-isc-dhcp
> > node ./bin/www
>
> /opt/glass-isc-dhcp/app.js:674
> let transporter = nodemailer.createTransport({
> ^^^
>
> SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
> at exports.runInThisContext (vm.js:53:16)
> at Module._compile (module.js:414:25)
> at Object.Module._extensions..js (module.js:442:10)
> at Module.load (module.js:356:32)
> at Function.Module._load (module.js:311:12)
> at Module.require (module.js:366:17)
> at require (module.js:385:17)
> at Object.<anonymous> (/opt/glass-isc-dhcp/bin/www:7:11)
> at Module._compile (module.js:435:26)
> at Object.Module._extensions..js (module.js:442:10)
>
> npm ERR! Linux 4.4.0-119-generic
> npm ERR! argv "/root/.nvm/versions/node/v4.2.2/bin/node" "/root/.nvm/versions/node/v4.2.2/bin/npm" "start"
> npm ERR! node v4.2.2
> npm ERR! npm v2.14.7
> npm ERR! code ELIFECYCLE
> npm ERR! [email protected] start: `node ./bin/www`
> npm ERR! Exit status 1
> npm ERR!
> npm ERR! Failed at the [email protected] start script 'node ./bin/www'.
> npm ERR! This is most likely a problem with the dhcpd-glass package,
> npm ERR! not with npm itself.
> npm ERR! Tell the author that this fails on your system:
> npm ERR! node ./bin/www
> npm ERR! You can get their info via:
> npm ERR! npm owner ls dhcpd-glass
> npm ERR! There is likely additional logging output above.
>
> npm ERR! Please include the following file with any support request:
> npm ERR! /opt/glass-isc-dhcp/npm-debug.log
and npm-debug.log is
0 info it worked if it ends with ok
1 verbose cli [ '/root/.nvm/versions/node/v4.2.2/bin/node',
1 verbose cli '/root/.nvm/versions/node/v4.2.2/bin/npm',
1 verbose cli 'start' ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info prestart [email protected]
6 info start [email protected]
7 verbose unsafe-perm in lifecycle true
8 info [email protected] Failed to exec start script
9 verbose stack Error: [email protected] start: `node ./bin/www`
9 verbose stack Exit status 1
9 verbose stack at EventEmitter.<anonymous> (/root/.nvm/versions/node/v4.2.2/lib/node_modules/npm/lib/utils/lifecycle.js:214:16)
9 verbose stack at emitTwo (events.js:87:13)
9 verbose stack at EventEmitter.emit (events.js:172:7)
9 verbose stack at ChildProcess.<anonymous> (/root/.nvm/versions/node/v4.2.2/lib/node_modules/npm/lib/utils/spawn.js:24:14)
9 verbose stack at emitTwo (events.js:87:13)
9 verbose stack at ChildProcess.emit (events.js:172:7)
9 verbose stack at maybeClose (internal/child_process.js:818:16)
9 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
10 verbose pkgid [email protected]
11 verbose cwd /opt/glass-isc-dhcp
12 error Linux 4.4.0-119-generic
13 error argv "/root/.nvm/versions/node/v4.2.2/bin/node" "/root/.nvm/versions/node/v4.2.2/bin/npm" "start"
14 error node v4.2.2
15 error npm v2.14.7
16 error code ELIFECYCLE
17 error [email protected] start: `node ./bin/www`
17 error Exit status 1
18 error Failed at the [email protected] start script 'node ./bin/www'.
18 error This is most likely a problem with the dhcpd-glass package,
18 error not with npm itself.
18 error Tell the author that this fails on your system:
18 error node ./bin/www
18 error You can get their info via:
18 error npm owner ls dhcpd-glass
18 error There is likely additional logging output above.
19 verbose exit [ 1, true ]
any idea?
Thanks
I can't find dhcps.leases
I found this very beautyfull and usefull tool for my isc-dhcp-server, but i run on Ubuntu and Debian into the same issues if i want to access the configs.
In the Logs there is a Error 500 (internal server error)
In Chrome i see in the logs if i press on the Save Config Button: "fs is not defined"
If i click on DHCP Config Snapshots i have a greyed out screen and the error: "ENOENT: no such file or directory, scandir './config_backups'"
The npm Package fs ist installed, but i get a warning that fsevents is unsopported on amd64 platforms, i tried also other nodejs versions like 6.14 and the newest 9.11 with no success.
Read out the Config Files and the lease table and so on works fine, paths in the config are default and all correct...
If it helps: I´m able to start/stop/restart the dhcp server from the Glass UI and can save the glass settings, only the dhcp settings and snapshots won´t run
Please help! :)
Just setup a dhcp server in my house and spotted this lovely looking application.
I installed it as per the instructions, ran npm, it gave vulnerability errors which i asked it to fix. It only did some of them and i didn't apply and that said it would force break something.
however, on running npm start it complained of being unable to find module asn1.
Could you recommend how i go about diagnosing the problem?
root@router:/opt/glass-isc-dhcp# cat /etc/debian_version
9.9
root@router:/opt/glass-isc-dhcp# uname -a
Linux router 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1 (2019-04-12) x86_64 GNU/Linux
root@router:/opt/glass-isc-dhcp#
root@router:/opt/glass-isc-dhcp# npm audit fix
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm audit fix --force
to install breaking changes; or refer to npm audit
for steps to fix these manually)[email protected] start /opt/glass-isc-dhcp
node ./bin/www
[Glass Server] Watching leases file '/var/lib/dhcp/dhcpd.leases'
[Glass Server] Config watcher initialized
[Glass Server] DHCP log watcher initialized
[Glass Server] Websocket server starting on port: 8080
module.js:550
throw err;
^
Error: Cannot find module 'asn1'
at Function.Module._resolveFilename (module.js:548:15)
at Function.Module._load (module.js:475:25)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
at Object. (/opt/glass-isc-dhcp/node_modules/sshpk/lib/formats/pem.js:9:12)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: node ./bin/www
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2019-08-21T20_47_02_802Z-debug.log
and the info from the debug.log
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'start' ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle [email protected]prestart: [email protected]start: [email protected]
6 info lifecycle [email protected]
7 verbose lifecycle [email protected]start: unsafe-perm in lifecycle truestart: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/opt/glass-isc-dhcp/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
8 verbose lifecycle [email protected]
9 verbose lifecycle [email protected]start: CWD: /opt/glass-isc-dhcpstart: Args: [ '-c', 'node ./bin/www' ]
10 silly lifecycle [email protected]
11 silly lifecycle [email protected]start: Returned: code: 1 signal: nullstart: Failed to exec start script
12 info lifecycle [email protected]
13 verbose stack Error: [email protected] start: node ./bin/www
13 verbose stack Exit status 1
13 verbose stack at EventEmitter. (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16)
13 verbose stack at emitTwo (events.js:126:13)
13 verbose stack at EventEmitter.emit (events.js:214:7)
13 verbose stack at ChildProcess. (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack at emitTwo (events.js:126:13)
13 verbose stack at ChildProcess.emit (events.js:214:7)
13 verbose stack at maybeClose (internal/child_process.js:915:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
14 verbose pkgid [email protected]
15 verbose cwd /opt/glass-isc-dhcp
16 verbose Linux 4.9.0-9-amd64
17 verbose argv "/usr/bin/node" "/usr/bin/npm" "start"
18 verbose node v8.16.1
19 verbose npm v6.4.1
20 error code ELIFECYCLE
21 error errno 1
22 error [email protected] start: node ./bin/www
22 error Exit status 1
23 error Failed at the [email protected] start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
I run two dhcpd (on two servers) in failover. Glass installed on primary server. Primary functions of glass works fine (view, read config, monitoring, restart, api).
My dhcpd config splitted by subnets for easy sync on secondary server, for ex.:
include "/etc/dhcp/dhcpd.d/subnet01.conf";
It would be great if you could read all your fixed addresses from your config file and display them as the dynamic leases, so we can see at a glance if an scope is filling up.
A second or two after viewing the glass interface the http process will crash and start over a few seconds later. When this happens this log entry is created.
Error: write EPIPE
at WriteWrap.afterWrite [as oncomplete] (net.js:868:14)
events.js:183
throw er; // Unhandled 'error' event
^
Error: write EPIPE
at WriteWrap.afterWrite [as oncomplete] (net.js:868:14)
On Centos 7 with Node 8.15
Hi,
while everything is working fine there are two little issues:
The "Device Chart" graphic is not showing up.
In "Active Leases" I cant search for IP addresses or blocks.
Tested browsers are Chromium and Firefox.
Can you give me a sample configuration of dhcpd.lease?
Now I use your project, but the Statistics View module can't display the data, all the information related to the lease is missing, I need your help urgently.
Tks! 🙇🏼♂️
Running in a docker container:
I don't think I'm use DHCPD pools, DHCPD is in another container, any ideas?
ror: Command failed: ./bin/dhcpd-pools -c /etc/dhcp/dhcpd.conf -l /var/lib/dhcp/dhcpd.leases -f j -A -s e
/bin/sh: 1: ./bin/dhcpd-pools: Permission denied
Hi,
nice project. I set it up on a clean Centos 8 system and wanted to share how I got it running. In case someone is interested:
As root install nodejs
$ yum -y install nodejs
do as in the original recipe:
$ cd /opt
$ git clone https://github.com/Akkadius/glass-isc-dhcp.git
$ cd glass-isc-dhcp
$ mkdir logs
$ chmod u+x ./bin/ -R
$ chmod u+x *.sh
$ npm install
$ npm install forever -g
You can ignore the npm warning about fsevent since you are not using MacOs:
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/forever/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
Beforer testing you have to change a path in /opt/glass-isc-dhcp/config/glass_config.json:
"leases_file": "/var/lib/dhcpd/dhcpd.leases",
"log_file": "/var/log/dhcpd/dhcpd.log",
Then let the firewall know about glass, you may have to adjust the zone. We have an internal and external zone. Otherwise public would also be an option:
$ firewall-cmd --zone=internal --add-port=3000/tcp --permanent
$ firewall-cmd --reload
In a final step you may register glass as system service. Therefore create:
vim /etc/systemd/system/dhcpd_glass.service
with the content:
[Unit]
Description=Glass ISC DHCP Server Gui Service
[Service]
ExecStart=/usr/bin/node /opt/glass-isc-dhcp/bin/www
# Required on some systems
WorkingDirectory=/opt/glass-isc-dhcp
Restart=always
# Restart service after 10 seconds if node service crashes
RestartSec=10
# Output to syslog
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=glass-dhcp
[Install]
WantedBy=multi-user.target
Enable the service:
systemctl enable dhcpd_glass.service
and start it:
systemctl start dhcpd_glass.service
Have fun!
Received the following error on the CLI after running cd /opt/glass-isc-dhcp; npm start
and selecting "Restart" in the web interface:
Redirecting to /bin/systemctl restart isc-dhcp-server.service
Failed to restart isc-dhcp-server.service: Unit not found.
POST /dhcp_start_stop_restart 500 325.151 ms - 984
RangeError: Invalid status code: 5
at ServerResponse.writeHead (_http_server.js:199:11)
at ServerResponse.writeHead (/opt/glass-isc-dhcp/node_modules/on-headers/index.js:55:19)
at ServerResponse._implicitHeader (_http_server.js:190:8)
at write_ (_http_outgoing.js:632:9)
at ServerResponse.end (_http_outgoing.js:751:5)
at ServerResponse.send (/opt/glass-isc-dhcp/node_modules/express/lib/response.js:221:10)
at /opt/glass-isc-dhcp/app.js:84:6
at Layer.handle_error (/opt/glass-isc-dhcp/node_modules/express/lib/router/layer.js:71:5)
at trim_prefix (/opt/glass-isc-dhcp/node_modules/express/lib/router/index.js:315:13)
at /opt/glass-isc-dhcp/node_modules/express/lib/router/index.js:284:7
Platform:
Hardware: Raspberry Pi 2 Model B Rev 1.1
Operating System: CentOS Linux 7 (AltArch)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 4.14.71-v7.1.el7
Architecture: arm
Was able to work around this issue using the following approach:
Create an alias to the Centos service (dhcpd.service):
Alias=isc-dhcp-server.service
to the [Install] sectionsystemctl daemon-reload
systemctl enable dhcpd
systemctl status isc-dhcp-server
The web console should now be able to restart/stop the service.
I'm running Debian configured as a router from an USB flash drive, since USB flash drives do not come with wear leveling (that I know of ) the amount of writes needs to be limited.
Judging from the "Install Glass (as root)" part, Glass doesn't save logs in /var/log which is running in ramdisk.
How much writing does this program actually do?
Below is the /opt/glass-isc-dhcp/bin/www file that has been modified to use the certificates created for another service (Librenms) my Ubuntu server provides. It took some hunting around and progressive failures to get it right...especially since this is my first foray into Nodejs. Incidentally the Nodjs version the ubuntu server is on is v10.19.0 so those of you who were wondering about the outdated 8 version in the installation docs. As of the date of writing this Ubuntu is fully patched. The following code was added:
/**
* Set up for https.
*/
const https = require('https');
const fs = require('fs');
var tls = require('tls');
const options = {
key: fs.readFileSync('/etc/ssl/private/server.key'),
cert: fs.readFileSync('/etc/ssl/certs/cmg-net01.pem')
};
and the server line was modified to include the options from above:
/**
* Create HTTPs server.
*/
var server = https.createServer(options,app);
While changing the default password, I discovered that passwords cannot contain spaces. This issue mannifests as repeated prompts for a password. Modifying the config/glass_config.json
file to remove the spaces in the password works around this issue and allows system login again.
Hello,
I followed your installation instructions, except for nodejs, because I had this already:
root > /opt/glass-isc-dhcp # node -v
v8.11.4
Everything went fine, the files in the options are the correct ones (double checked), but in the webpanel everything is at value zero. my subnet is shown correctly, but there is nothing in the statistics (No data available in table)
I'm on Debian latest (Linux gboslave 4.9.0-7-amd64 #1 SMP Debian 4.9.110-3+deb9u2 (2018-08-13) x86_64 GNU/Linux)
Have I done something wrong?
Thank you in advance!
Here are the configuration files and more info:
root > /opt/glass-isc-dhcp # dhcpd --version
isc-dhcpd-4.3.5
root > /opt/glass-isc-dhcp # cat config/glass_config.json
{
"admin_user": "xxx",
"admin_password": "xxx",
"leases_file": "/var/lib/dhcp/dhcpd.leases",
"log_file": "/var/log/dhcpd.log",
"config_file": "/etc/dhcp/dhcpd.conf",
"shared_network_critical_threshold": "95",
"shared_network_warning_threshold": "0",
"slack_webhook_url": "",
"slack_alert_channel": "",
"leases_per_minute_threshold": "50",
"ip_ranges_to_allow": [
""
],
"email_alert_to": "",
"sms_alert_to": "",
"ws_port": 8080
}
root > /opt/glass-isc-dhcp # cat /etc/dhcp/dhcpd.conf
authoritative;
log-facility local7;
get-lease-hostnames true;
option domain-name "local";
option domain-name-servers 192.168.178.2, 192.168.178.1;
ping-check true;
next-server 192.168.178.2;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.178.0 netmask 255.255.255.0 {
range 192.168.178.100 192.168.178.199;
option broadcast-address 192.168.178.255;
option subnet-mask 255.255.255.0;
option routers 192.168.178.1;
}
host gboslave {
hardware ethernet 70:45:D2:19:4E:4B;
fixed-address 192.168.178.2;
option host-name "gboslave";
}
--- and about 40 other fixed-ip hosts
I'm starting like:
root > /opt/glass-isc-dhcp # npm start
> [email protected] start /opt/glass-isc-dhcp
> node ./bin/www
[Glass Server] Watching leases file '/var/lib/dhcp/dhcpd.leases'
[Glass Server] Config watcher initialized
[Glass Server] DHCP log watcher initialized
[Glass Server] Websocket server starting on port: 8080
[Glass Server] Bootup complete
[Glass Server] Leases file loaded
[Glass Server] OUI Database Loaded
Recent install on CentOS 7.5. Pulled install from GitHub using sept 28 updates.
The app is fully functional and performing well, except that the Dashboard CPU utilization seems off by a power of 10.
My system detail: ProLiant DL380p Gen8 Xeon w/8 cores
Linux system monitor tools never report more than 24% user utilization on this server yet Glass Dashboard reports 160% to 250% CPU percentage.
Is there an update for centos or this HP platform that will align system information correctly?
Can this be corrected by a configuration change to a Glass specific file?
Thanks in advance for the feedback.
I'm working on getting this behind a TLS terminator (nginx) that I already have running on this server. I noticed a recent update allows for the HTTP port number to be configured, however, I do not see an option to configure the websocket port server-side.
My end goal is to configure the system to listen to ws:// on 3001, and have nginx listen for wss:// on 8443. I'll update this with my progress.
Hi,
After what appears to be a successful install, I get the following error when trying start glass:
[root@home glass-isc-dhcp]# npm start
[email protected] start /opt/glass-isc-dhcp
node ./bin/www
/opt/glass-isc-dhcp/app.js:673
let transporter = nodemailer.createTransport({
^^^^^^^^^^^
SyntaxError: Unexpected identifier
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (/opt/glass-isc-dhcp/bin/www:7:11)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
npm ERR! weird error 8
npm ERR! not ok code 0
perhaps it has something to do with my version of node.js? Here's the version of node and of the packages that I have installed. It's a centos 6.9 server.
[root@home glass-isc-dhcp]# node --version
v0.10.48
[root@home glass-isc-dhcp]# rpm -qa | grep node
nodejs-boom-0.4.2-2.el6.noarch
nodejs-sha-1.2.1-1.el6.noarch
nodejs-opener-1.3.0-7.el6.noarch
nodejs-glob-3.2.6-1.el6.noarch
nodejs-http-signature-0.10.0-3.el6.noarch
nodejs-which-1.0.5-8.el6.noarch
nodejs-promzard-0.2.0-6.el6.noarch
nodejs-init-package-json-0.0.10-1.el6.noarch
nodejs-npm-registry-client-0.2.28-3.el6.noarch
nodejs-fstream-0.1.24-1.el6.noarch
nodejs-retry-0.6.0-5.el6.noarch
nodejs-forever-agent-0.5.0-1.el6.noarch
nodejs-ctype-0.5.3-3.el6.noarch
nodejs-proto-list-1.2.2-5.el6.noarch
nodejs-ini-1.1.0-3.el6.noarch
nodejs-cryptiles-0.2.2-1.el6.noarch
nodejs-packaging-7-1.el6.noarch
nodejs-archy-0.0.2-8.el6.noarch
nodejs-tunnel-agent-0.3.0-1.el6.noarch
nodejs-0.10.48-3.el6.x86_64
nodejs-hoek-0.9.1-1.el6.noarch
nodejs-nopt-2.1.2-1.el6.noarch
nodejs-github-url-from-git-1.1.1-2.el6.noarch
nodejs-chmodr-0.1.0-4.el6.noarch
nodejs-aws-sign-0.3.0-1.el6.noarch
nodejs-editor-0.0.4-2.el6.noarch
nodejs-fstream-ignore-0.0.7-1.el6.noarch
nodejs-npmconf-0.1.2-1.el6.noarch
nodejs-mkdirp-0.3.5-3.el6.noarch
nodejs-osenv-0.0.3-5.el6.noarch
nodejs-once-1.1.1-5.el6.noarch
nodejs-hawk-1.0.0-1.el6.noarch
nodejs-npm-user-validate-0.0.3-1.el6.noarch
nodejs-assert-plus-0.1.4-1.el6.noarch
nodejs-minimatch-0.2.12-2.el6.noarch
nodejs-combined-stream-0.0.4-3.el6.noarch
nodejs-asn1-0.1.11-3.el6.noarch
nodejs-inherits-2.0.0-4.el6.noarch
nodejs-lru-cache-2.3.0-3.el6.noarch
nodejs-npmlog-0.0.4-1.el6.noarch
nodejs-sntp-0.2.4-1.el6.noarch
nodejs-oauth-sign-0.3.0-1.el6.noarch
nodejs-devel-0.10.48-3.el6.x86_64
nodejs-sigmund-1.0.0-5.el6.noarch
nodejs-delayed-stream-0.0.5-5.el6.noarch
nodejs-rimraf-2.2.2-1.el6.noarch
nodejs-block-stream-0.0.7-1.el6.noarch
nodejs-chownr-0.0.1-9.el6.noarch
nodejs-cmd-shim-1.1.0-3.el6.noarch
nodejs-lockfile-0.4.2-1.el6.noarch
nodejs-mute-stream-0.0.4-1.el6.noarch
nodejs-json-stringify-safe-5.0.0-1.el6.noarch
nodejs-read-package-json-1.1.3-1.el6.noarch
nodejs-uid-number-0.0.3-7.el6.noarch
nodejs-request-2.25.0-3.el6.noarch
nodejs-graceful-fs-2.0.0-2.el6.noarch
nodejs-mime-1.2.11-1.el6.noarch
nodejs-qs-0.6.6-3.el6.noarch
nodejs-node-uuid-1.4.1-1.el6.noarch
nodejs-form-data-0.1.1-1.el6.noarch
nodejs-slide-1.1.5-1.el6.noarch
nodejs-abbrev-1.0.4-6.el6.noarch
nodejs-child-process-close-0.1.1-2.el6.noarch
nodejs-cookie-jar-0.3.0-1.el6.noarch
nodejs-config-chain-1.1.7-1.el6.noarch
nodejs-tar-0.1.18-1.el6.noarch
nodejs-read-1.0.5-1.el6.noarch
nodejs-read-installed-0.2.4-1.el6.noarch
node-gyp-0.10.6-2.el6.noarch
nodejs-semver-2.1.0-1.el6.noarch
nodejs-ansi-0.2.1-1.el6.noarch
nodejs-normalize-package-data-0.2.1-1.el6.noarch
nodejs-async-0.2.10-1.el6.noarch
nodejs-fstream-npm-0.1.5-1.el6.noarch
This is more of an FYI. I'm not sure if there is a good long-term resolution for both use cases. However, I have diff code attached that will resolve the issue on a case-by-case basis.
If your ISC DHCP server config has the option 'db-time-format' set to 'local', your Active Leases page will not properly display the start and end times for the lease. This is because the timestamp is written differently in the leases file. Below are the differences when this option is set to 'local' instead of 'default' ('default' is the default if the option is not explicitly configured).
default setting - works fine with Glass:
lease x.x.x.x {
starts 2 2019/06/11 15:38:11;
ends 3 2019/06/12 15:38:11;
cltt 2 2019/06/11 15:38:11;
binding state active;
next binding state free;
rewind binding state free;
}
local setting:
lease x.x.x.x {
starts epoch 1560262460; # Tue Jun 11 10:14:20 2019
ends epoch 1560348860; # Wed Jun 12 10:14:20 2019
cltt epoch 1560262460; # Tue Jun 11 10:14:20 2019
binding state active;
next binding state free;
rewind binding state free;
}
If you're not in a position to remove the 'db-time-format' option, then to resolve this issue, you have to tweak /opt/glass-isc-dhcp/core/lease-parser.js. I've attached some git diff output. Disclaimer: I haven't triple-verified if this tweak has negative side effects in other parts of the app, but I don't believe it does.
After adding the prescribed line in root's crontab, the service starts on reboot, however, the service controls do not work and I was unable to save edits to the dhcp.conf file.
glass-error.log file contained:
/bin/sh: 1: service: not found
and the DHCP Config page showed:
/bin/sh: 1: dhcpd: not found
I was able to correct this by adding the absolute path /usr/sbin/
before the service command in ./routes/dhcp_start_stop_restart.js on lines 52, 56, 60
dhcp_exec = execSync('/usr/sbin/service isc-dhcp-server stop && sleep 1');
dhcp_exec = execSync('/usr/sbin/service isc-dhcp-server start');
dhcp_exec = execSync('/usr/sbin/service isc-dhcp-server restart && sleep 1');
AND
Adding the abs path before the dhcpd command in ./routes/dhcp_config_save.js on line 18
exec('/usr/sbin/dhcpd -t -cf ./syntax_verify_config > verify_output 2> verify_output', function(err, stdout, stderr)
after running cmd : npm start ; this is the output of error
CONSOLE OUTPUT
[email protected] start /opt/glass-isc-dhcp
node ./bin/www
[Glass Server] Bootup complete
[Glass Server] Leases file loaded
[Glass Server] OUI Database Loaded
[WS] STATUS: Socket clients (0)
[WS] STATUS: Socket clients (0)
[Glass Server] Alert loop started
[Slack]
undefined
[Glass Server] Loading E-Mail template...
[Glass Server] Loading E-Mail template... DONE...
[Glass Server] Sending E-Mail Alert...
/bin/sh: 1: ./bin/dhcpd-pools: Exec format error
child_process.js:644
throw err;
^
Error: Command failed: ./bin/dhcpd-pools -c /etc/dhcp/dhcpd.conf -l /var/lib/dhcp/dhcpd.leases -f j -A -s e
/bin/sh: 1: ./bin/dhcpd-pools: Exec format error
at checkExecSyncError (child_process.js:601:13)
at execSync (child_process.js:641:13)
at Timeout._onTimeout (/opt/glass-isc-dhcp/app.js:555:22)
at ontimeout (timers.js:498:11)
at tryOnTimeout (timers.js:323:5)
at Timer.listOnTimeout (timers.js:290:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: node ./bin/www
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'start' ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle [email protected]prestart: [email protected]start: [email protected]
6 info lifecycle [email protected]
7 verbose lifecycle [email protected]start: unsafe-perm in lifecycle truestart: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/opt/glass-isc-dhcp/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root:.
8 verbose lifecycle [email protected]
9 verbose lifecycle [email protected]start: CWD: /opt/glass-isc-dhcpstart: Args: [ '-c', 'node ./bin/www' ]
10 silly lifecycle [email protected]
11 silly lifecycle [email protected]start: Returned: code: 1 signal: nullstart: Failed to exec start script
12 info lifecycle [email protected]
13 verbose stack Error: [email protected] start: node ./bin/www
13 verbose stack Exit status 1
13 verbose stack at EventEmitter. (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:304:16)
13 verbose stack at emitTwo (events.js:126:13)
13 verbose stack at EventEmitter.emit (events.js:214:7)
13 verbose stack at ChildProcess. (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack at emitTwo (events.js:126:13)
13 verbose stack at ChildProcess.emit (events.js:214:7)
13 verbose stack at maybeClose (internal/child_process.js:925:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
14 verbose pkgid [email protected]
15 verbose cwd /opt/glass-isc-dhcp
16 verbose Linux 4.14.52-v7+
17 verbose argv "/usr/bin/node" "/usr/bin/npm" "start"
18 verbose node v8.11.3
19 verbose npm v6.2.0
20 error code ELIFECYCLE
21 error errno 1
22 error [email protected] start: node ./bin/www
22 error Exit status 1
23 error Failed at the [email protected] start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
I want to use this web app in a closed network but the Icons and Fonts are imported from external websites. If you could maybe localize those assets, so it would work properly offline that'd be great.
glass is freshly installed and starting up but failing and gives following error output. Can you please help?
/bin/sh: 1: ./bin/dhcpd-pools: Exec format error
child_process.js:645
throw err;
^
Error: Command failed: ./bin/dhcpd-pools -c /etc/dhcp/dhcpd.conf -l /var/lib/dhcp/dhcpd.leases -f j -A -s e
/bin/sh: 1: ./bin/dhcpd-pools: Exec format error
at checkExecSyncError (child_process.js:602:13)
at execSync (child_process.js:642:13)
at Timeout._onTimeout (/opt/glass-isc-dhcp/app.js:322:21)
at ontimeout (timers.js:498:11)
at tryOnTimeout (timers.js:323:5)
at Timer.listOnTimeout (timers.js:290:5)
First off, amazing project. I was amazed to find not many ISC-DHCP front ends, until I found this, and it's great. Is there anywhere I can donate a few dollars?
One naggle I've found is I'd like to just click "leases" and get a nice big list of all leases. However it just pulls up a blank page. If I want to get a list populated with everything, I have to click in the box and hit enter (search for a blank string).
I'm assuming the intention here is to not auto-populate with potentially thousands of leases on large infrastructure (and maybe overwhelm the browser)? I can understand that, but is there any possibility of having it auto-populate if leases < 500 or something similar, or even just have an auto-populate-leases
config option in glass_config.json
? Thanks!
If this is a simple add and you can point me in the right direction I can probably attempt a PR myself
Hello!
First of all, great work! I was able to get this running in under a day. However, I had to make a minor change to the start/stop code that allows this application to control the CentOS/RHEL-based ISC DHCPD service.
On these distros, the service is in systemd as dhcpd.service
instead of isc-dhcp-server.service
as it is in Debian-based distros.
It's a pretty simple fix:
diff --git a/routes/dhcp_start_stop_restart.js b/routes/dhcp_start_stop_restart.js
index 77acbb9..90d5e67 100644
--- a/routes/dhcp_start_stop_restart.js
+++ b/routes/dhcp_start_stop_restart.js
@@ -49,15 +49,15 @@ router.post('/', authorize.auth, function(req, res, next) {
switch (request.action) {
case "stop":
- dhcp_exec = execSync('/usr/sbin/service isc-dhcp-server stop && /bin/sleep 1');
+ dhcp_exec = execSync('/usr/sbin/service dhcpd stop && /bin/sleep 1');
res.send("<script type='text/javascript'>notification('DHCP Server Stopped');ignore_cache = 1;do_pjax_request
break;
case "start":
- dhcp_exec = execSync('/usr/sbin/service isc-dhcp-server start');
+ dhcp_exec = execSync('/usr/sbin/service dhcpd start');
res.send("<script type='text/javascript'>notification('DHCP Server Started');ignore_cache = 1;do_pjax_request
break;
case "restart":
- dhcp_exec = execSync('/usr/sbin/service isc-dhcp-server restart && /bin/sleep 1');
+ dhcp_exec = execSync('/usr/sbin/service dhcpd restart && /bin/sleep 1');
res.send("<script type='text/javascript'>notification('DHCP Server Restarted " + dhcp_exec + "');ignore_cache
break;
default:
Since the service
command redirects to systemctl
(at least for now), everything's all fine and happy.
Additionally, I have created a systemd starter service for this Node app and an rsyslog conf snippet that picks up the node
output and dumps it into its own log file so it's not in /var/log/messages
or /var/log/syslog
if you want one or both of those as well. With the starter service, systemd can intelligently detect when the process needs to be started/stopped, and you can use it to make sure that this starts after dhcpd. Note that due to the service naming difference between CentOS/RHEL and Debian, a minor modification would be needed to get it working on a Debian-based system.
For starters, absolutely love this work! Have been looking for something like this for months as part of a home lab project.
Unfortunately with my absolutely limited skillset I have come across a script start error that I just cant seem to get past. It may well be my own stupidity that is the error but in the event there is actually an error with the script I would appreciate your advice.
The logfile is:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'start' ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle [email protected]prestart: [email protected]start: [email protected]
6 info lifecycle [email protected]
7 verbose lifecycle [email protected]start: unsafe-perm in lifecycle truestart: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/opt/glass-isc-dhcp/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
8 verbose lifecycle [email protected]
9 verbose lifecycle [email protected]start: CWD: /opt/glass-isc-dhcpstart: Args: [ '-c', 'node ./bin/www' ]
10 silly lifecycle [email protected]
11 silly lifecycle [email protected]start: Returned: code: 1 signal: nullstart: Failed to exec start script
12 info lifecycle [email protected]
13 verbose stack Error: [email protected] start:node ./bin/www
13 verbose stack Exit status 1
13 verbose stack at EventEmitter. (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:285:16)
13 verbose stack at emitTwo (events.js:126:13)
13 verbose stack at EventEmitter.emit (events.js:214:7)
13 verbose stack at ChildProcess. (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack at emitTwo (events.js:126:13)
13 verbose stack at ChildProcess.emit (events.js:214:7)
13 verbose stack at maybeClose (internal/child_process.js:925:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
14 verbose pkgid [email protected]
15 verbose cwd /opt/glass-isc-dhcp
16 verbose Linux 4.4.38-v7+
17 verbose argv "/usr/bin/node" "/usr/bin/npm" "start"
18 verbose node v8.9.4
19 verbose npm v5.6.0
20 error code ELIFECYCLE
21 error errno 1
22 error [email protected] start:node ./bin/www
22 error Exit status 1
23 error Failed at the [email protected] start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
Allow us to specify a time for alerts
New install on Ubuntu 18.04 on the statistics page I have no device chart and nothing under Get OUI count by vendor. I have found a 500 error on the api for get_mac_oui_count_by_vendor and get this error when accessing the api directly. Cannot read property 'split' of undefined I have not found the issue with the Device Chart as of yet and also cannot search for any leases the search shows blank when using a known IP address. Any help would be greatly appreciated. Thanks
Phil
Thank you for publishing the glass-isc-dhcp.
The same issues as Device Chart missing. Another issues occurred.
Log is not output by DHCP Log.
However, it is a situation that is displayed on the server local browser.
Port 3000 is open with a firewall.
The location of Log File set in Glass Settings is correct, and the log is output to the log file.
Permission
////////////////////////////////////////////////////////////////
xxxxxxx@DHCP0101:~ $ ls -l /var/log/dhcpd/dhcpd.log
-rw-r--r-- 1 root adm 144255 5月 25 20:36 /var/log/dhcpd/dhcpd.log
////////////////////////////////////////////////////////////////
Part of the dhcpd.log
////////////////////////////////////////////////////////////////
May 25 20:40:43 DHCP0101 dhcpd[856]: DHCPDISCOVER from 00:14:5e:1e:a4:35 (IMM-00145E1EA435) via eth0
May 25 20:40:43 DHCP0101 dhcpd[856]: DHCPOFFER on 10.1.36.16 to 00:14:5e:1e:a4:35 (IMM-00145E1EA435) via eth0
May 25 20:40:43 DHCP0101 dhcpd[856]: reuse_lease: lease age 33 (secs) under 25% threshold, reply with unaltered, existing le
ase for 10.1.36.16
////////////////////////////////////////////////////////////////
We are operating in the following environment.
npm version
///////////////////////////////
{ 'dhcpd-glass': '0.0.0',
npm: '5.6.0',
ares: '1.10.1-DEV',
cldr: '32.0',
http_parser: '2.8.0',
icu: '60.1',
modules: '57',
napi: '3',
nghttp2: '1.29.0',
node: '8.11.2',
openssl: '1.0.2o',
tz: '2017c',
unicode: '10.0',
uv: '1.19.1',
v8: '6.2.414.54',
zlib: '1.2.11' }
///////////////////////////////
HW/OS/Browser
////////////////////////////////////////////
Raspberry pi type B
Raspbian Stretch with desktop 4.14
Chrom/Firefox/Edge
///////////////////////////////////////////
----- SOLVED with new server install with Centos 7 -----
I installed with npm install and npm install forever -g... But it is failed on npm start..
How can I fix this issue after npm start?
(Linux system is Centos 6.10)
[email protected] start /opt/glass-isc-dhcp
node ./bin/www
/opt/glass-isc-dhcp/app.js:121
let oui_reader = require('./core/oui-reader');
^^^^^^^^^^
SyntaxError: Unexpected identifier
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (/opt/glass-isc-dhcp/bin/www:7:11)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
npm ERR! weird error 8
npm ERR! not ok code 0
╭───────────────────────────────────────────────────────────────╮
│ │
│ New minor version of npm available! 6.4.1 -> 6.9.0 │
│ Changelog: https://github.com/npm/cli/releases/tag/v6.9.0 │
│ Run npm install -g npm to update! │
│ │
╰───────────────────────────────────────────────────────────────╯
> [email protected] start /opt/glass
> node ./bin/www
[Glass Server] Watching leases file '/var/lib/dhcp/dhcpd.leases'
[Glass Server] Config watcher initialized
[Glass Server] DHCP log watcher initialized
[Glass Server] Websocket server starting on port: 8080
[Glass Server] Bootup complete
[Glass Server] OUI Database Loaded
{ Error: EISDIR: illegal operation on a directory, read errno: -21, code: 'EISDIR', syscall: 'read' }
/bin/sh: 1: top: not found
[WS] STATUS: Socket clients (0)
/bin/sh: 1: top: not found
/bin/sh: 1: top: not found
[WS] STATUS: Socket clients (0)
[Glass Server] Alert loop started
/bin/sh: 1: top: not found
[Glass Server] Slack alert triggered, but no webhook configured...
[Glass Server] Loading E-Mail template...
[Glass Server] Loading E-Mail template... DONE...
[Glass Server] Sending E-Mail Alert...
Hi,
I try to run the Web UI on a Raspberry 3 and Raspian lite.
After some Miuntes of runing I get the following error.
GET /get_stats 500 33.057 ms - 1004
RangeError: Invalid status code: 2
at ServerResponse.writeHead (_http_server.js:194:11)
at ServerResponse.writeHead (/opt/glass-isc-dhcp/node_modules/morgan/node_modules/on-headers/index.js:55:19)
at ServerResponse._implicitHeader (http_server.js:185:8)
at write (_http_outgoing.js:632:9)
at ServerResponse.end (_http_outgoing.js:751:5)
at ServerResponse.send (/opt/glass-isc-dhcp/node_modules/express/lib/response.js:211:10)
at /opt/glass-isc-dhcp/app.js:75:9
at Layer.handle_error (/opt/glass-isc-dhcp/node_modules/express/lib/router/layer.js:71:5)
at trim_prefix (/opt/glass-isc-dhcp/node_modules/express/lib/router/index.js:315:13)
at /opt/glass-isc-dhcp/node_modules/express/lib/router/index.js:284:7
GET /glass_settings?v_ajax 304 9.844 ms - -
/bin/sh: 1: ./bin/dhcpd-pools: Exec format error
child_process.js:644
throw err;
^
Error: Command failed: ./bin/dhcpd-pools -c /etc/dhcp/dhcpd.conf -l /var/lib/dhcp/dhcpd.leases -f j -A -s e
/bin/sh: 1: ./bin/dhcpd-pools: Exec format error
at checkExecSyncError (child_process.js:601:13)
at execSync (child_process.js:641:13)
at Timeout._onTimeout (/opt/glass-isc-dhcp/app.js:555:22)
at ontimeout (timers.js:482:11)
at tryOnTimeout (timers.js:317:5)
at Timer.listOnTimeout (timers.js:277:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: node ./bin/www
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2018-03-25T16_29_09_440Z-debug.log
I can´t find the error, so hopfully you can help me.
Dieter
Hey,
im getting a weird error on saving the configuration.
Internet Systems Consortium DHCP Server 4.3.5
Copyright 2004-2016 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Can't open ./syntax_verify_config: Permission denied If you think you have received this message due to a bug rather than a configuration issue please read the section on submitting bugs on either our web page at www.isc.org or in the README file before submitting a bug
These pages explain the proper process and the information we find helpful for debugging.. exiting.
I tried the following:
chmod +x /opt
chmod +x /opt/glass-isc-dhcp
I also tried replacing the relative path in routes/dhcp_config_save
with the absolute one, still getting permission denied.
Using cat /opt/glass-isc-dhcp/syntax_verify_config
as a non-root User its working fine, dont know why i get a permission denied there...
OS Infos:
Ubuntu 18.04.3 LTS
isc-dhcp-server 4.3.5
First things first: thank you for such a beautiful piece of code. Amazing!
I have a shared network where I define some classes to ease management, like this:
On dhcpd.conf:
# Class Desktop
class "clsDesktop" {
match pick-first-value (option dhcp-client-identifier, hardware);
}
On an included file:
# Host boss-notebook
subclass "clsDesktop" 1:c4:6e:1f:ab:cd:ef;
Would be nice to have stats about how many devices are defined by class and how many have an active lease by class.
Side note, I define the clients on includes, so include support would be also nice.
Best regards.
include <filename.conf>
's in the DHCPd ConfigYes, those features would be awesome; yes, I'd love to beta test it in a closed environment if you decide to go this route
Is it possible to install Glass with the admin functions (e.g. editing DHCP server config, restarting DHCP server) disabled?
I would like my users to be able to see the DHCP leases easily, but don't want them being able to change the configuration.
Obviously I could put random strings for the "admin_user" and "admin_password" fields, but they are held in plain text in a configuration file
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.