Table of Contents:

1.  Monitor Gateway

1.1  Introduction

This introduction shows how to use a script to monitor the gateway. The video link for this instruction is: https://youtu.be/8PieIwfSF_g

image-20220531155018-18.png

1.2  Steps

  • Create account in ThingsSpeak and creat channel.
  • Download script from dragino site and move it to properly directory

root@dragino-1baf44:~# wget http://www.dragino.com/downloads/downloads/LoRa_Gateway/LPS8/Firmware/customized_script/monitor_gateway.sh
Downloading 'http://www.dragino.com/downloads/downloads/LoRa_Gateway/LPS8/Firmware/customized_script/monitor_gateway.sh'
Connecting to 162.241.22.11:80
Writing to 'monitor_gateway.sh'
monitor_gateway.sh   100% |*******************************|  1860   0:00:00 ETA
Download completed (1860 bytes)
root@dragino-1baf44:~# chmod +x monitor_gateway.sh;mv monitor_gateway.sh /usr/bin/
root@dragino-1baf44:~#
root@dragino-1baf44:~#

  • change the script monitor_gateway.sh with properly users setting:

USER='xxxxx'             # user name in your thinkspeak --> Profile
PASS='xxxxx'     #MQTT_API_KEY in your thinkspeak --> Profile
CHAN_ID='xxxx'    #Channel ID   of the channel for this gateway
CHAN_KEY='xxxxx'   #Channel Write API  of the channel for this gateway

  • run /usr/bin/monitor_gateway.sh to test if upload is good.
  • Add monitor_gateway.sh to cron work /etc/crontabs/root to make this script runs perdiocally, below is an example to update every 20 minutes

# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
#*/10 * * * *  checklog
* 23 * * *  /etc/init.d/auto_update start
*/20 * * * *  /usr/bin/monitor_gateway.sh      

  • Reboot device.

1.3  Monitor Public IP

The monitor_gateway.sh has been updated to upload the public ip of the device as well.

User can find the public ip in field7, the chart is not able to show the complete public ip, user can check that in the export.

image-20220531145559-2.png

Find Public IP

2.  Remote Access

2.1  Remote Access via Remote.it.

Remote.it for remote access is available in the latest Dragino firmware for gateway. For security concern, the remote.it only available base on end user demand.

Important Notice:

  • Remote.it access will give full control of your device to remote support.
  • The Remote.it allows Dragino Support to remote access to the device, If user want to access himself, it need to sign up for an remote.it account.
  • For Quick add remote.it to Dragino for remote debug, please see below:

1. Install the Remote.it software

Users can directly click "Install" on the Web UI to install Remote. it.

image-20220725134300-1.png

2. Enter the license key

Users need to enter the license key in the box under "2. Register" section and click the "Save" button and "Register" button.

When the user enters this license key, Dragino support will have access to your gateway.

fd173d1d-faed-493e-a868-c511a38aba45

image-20230607085305-1.png

3. Connect and tell us your device ID or Hostname

Users can view the device ID or Hostname of the gateway on System --> System Overview interface.Such as : dragino-1ef9ac

image-20220725115720-2.png

2.1.1  How to save the registered remote after the gateway's firmware update.

Before version lgw--build-v5.4.1668240318-20221112-1606, once the gateway firmware is upgraded the remote configuration is gone.

This issue is now corrected:

The gateway version is lower than lgw--build-v5.4.1668240318-20221112-1606:

1. upload the backup file to update the configuration.

image-20221112162644-4.png

2. Check the 'Preserver Settings' check box when you upgrade the gateway with the firmware. 

image-20221112162543-2.png

The gateway version is greater or equal to  lgw--build-v5.4.1668240318-20221112-1606:

1. Only to do: Check the 'Preserver Settings' check box when you upgrade the gateway with the firmware. 

image-20221112162547-3.png

2.1.2  How to register hp0d with Remote.it

Prerequisites:

Users must have an account and APP for remote.it

https://app.remote.it

1.  Click "+" in the APP to add a device

Then click Add "Linux & Raspberry Pi" and the APP will generate a command to register the device.

image-20220815173938-1.jpeg

2.  Copy the register device command

image-20220815173944-2.jpeg

3.  Enter the command copied from the previous step on the HP0D Linux command line

image-20220815173951-3.jpeg

4.  Check whether the device is successfully registered on the Remote.it APP

image-20220815173958-4.jpeg

2.1.3  How to register the gateway with Remote.it via SSH Access for Linux console

Prerequisites:

Users must have an account and APP for remote.it

https://app.remote.it

For detailed examples, please see: OpenWrt How to Connect Guide (remote.it)

1.  Click "+" in the APP to add a device

Then click Add "OpenWrt" and the APP will generate a command to register the device.

image-20230320110123-4.png

2.  Copy the register device command

image-20230320110309-5.png

3.  Enter the command copied from the previous step on the gateway Linux command line

image-20230320105212-1.png

4.  Check whether the device is successfully registered on the Remote.it APP

image-20230320112057-6.png

2.1.4  Trouble Shooting

1. What should users do when gateway Remote.it installation fails

image-20220907162028-4.png

Step 1:  Users can download the archive and upload it to the gateway: backup.tar.gz

image-20220907161050-2.png

Step 2:  Back to the Remote.it screen, and click "Install" again.

image-20220907161352-3.png

Step 3: Follow the Remoteit user instruction for Dragino Gateway steps to reconfigure 

2.2  RSSH Introduction

Reverse SSH for remote access is available in the latest Dragino firmware for gateway. For security concern, the RSSH only available base on end user demand.

Important Notice:

RSSH access will give full control of your device to remote support. Please remove sensitivity info before perform this
This RSSH allow Dragino Support Team to remote access to customer's device. Customer is not able to remote access it via Dragino Server. 

If user want to access himself, he need to set up the RSSH server himself.

Below gateway support reverse SSH access:

  • Firmware Version > lgw--build-v5.4.1618196981-20210412-1111 Firmware Download
  • LG01N, OLG01N (Note: LG01-P LG01-S doesn't support)
  • LG02, OLG02
  • LG308, DLOS8
  • LPS8
  • LIG16
  • MS14 series if installed with the same firmware.

2.2.1  End User Guide to use SSH access

Go to this the Reverse SSH page as below:

image-20231107200442-2.png

Get the RSSH configure page

image-20220531152815-14.png

Connection OK.

  • ConnectionType:         Select a type
  • Login ID:                      Input the rssh server minimal ssh user
  • Host Address:             Input rssh server public IP address/domain name
  • Connect at Startup :   Choose to enable connect once the device is powered.
  • Network Keys:            Click the Generate keys to generate the keys and download / mail it to Dragino support so Dragino can prepare the remote access to

After doing above, please download and mail the public keys to Dragino support and wait for our mail for the valid host port. Input the valid host port got from our support and click connect so we can remote access to your gateway.

2.2.2  Set Up RSSH Server

Advance administrator can config a SSH server to provide support their end user themselves., Steps as below

Step 1 :  Download the SSH service code

1).  git clone https://github.com/dragino/rssh-server.git rssh-server

image-20220531150750-5.png

2).  cd rssh-server; sudo make ---> to Generate the execute file:rssh_serv

image-20220531150811-6.png

Debug :

if you git fail.         -->    sudo: git: command not found.
please install git.   -->    yum install git -y  or  apt-get install git -y.
if you make error 127,it lack of gcc.
please install gcc.  -->   yum install gcc.

image-20220531151516-7.png

if you make a fatal error : sqlite3.h,it lack of sqlite3.
please insatell sqlite3.

image-20220531151628-8.png

How to install Sqlit3:

 Step 1: Download the SQLit3 installation package
            sudo wget https://www.sqlite.org/2021/sqlite-autoconf-3350400.tar.gz

Step 2: tar the SQLit3 installation package
           sudo tar -zxvf sqlite-autoconf-3350300.tar.gz

Step 3: Generate the makefile
           cd sqlite-autoconf-3350300/;./configure

Step 4: Compile makefile
           sudo make

Step 5: Install makefile
           sudo make install

Check:
           cd /usr/local/bin;ls -al                                            -->    Check to see if there is a file for sqlite3
           cd sqlite-autoconf-3350300/;./sqlite3 test.db        -->    Test whether the sqlite3 was installed successfully

debug:
          If you get the imformation that is SQLite header and source version mismatch, when you execute./sqlite3 test.db.
          Please execute the command /sbin/ldconfig.
          After that execute the command ./sqlite3 test.db again.

Step 2 :  Install and run the RSS service

1).   install database for /var/rsshdb.sqlite3 and Server development port for 3721(The default is 3721)

user must enter the root account and run the following commands

$ ./create_sqlite3_db.sh
$ ./rssh_serv -p  3721 2>&1 &
$ ps -ef | grep rssh_serv check 3721 port

image-20220531151958-10.png

Debug:

 Check /var/rsshdb.sqlite3 --> ls /var/rsshdb.sqlite3
 Check ls /var/rsshdb.sqlite3 --> sudo chmod 777 rssh_serv
 if fail to open dpvlry or to bind to it
 please kill rssh_serv,and run  ./rssh_serv -p  3721 2>&1 &  again

Step 3 :  Create a minimal SSH user (reverse SSH proxy for the gateway)

1):  sudo useradd XXXXX (custom user name)
2):  sudo passwd xxxxxx
3):  cp /bin/bash /bin/rbash
4):  sudo nano /etc/passwd --> Change /bin/bash to /bin/rbash
5):  sudo nano /home/xxxxx/.bashrc empty it,and input export PATH=$HOME/bin
6):  sudo nano /home/xxxxx/.bash_profile empty it,and input export PATH=$HOME/bin

Now user "XXXXX" is the user with limited permissions of the current system

Step 4 :  Create an authorization key file

1):  sudo mkdir /home/xxxxx/.ssh; sudo touch /home/xxxxx/.ssh/authorizedkey

Debug:

 check: sudo ls /home/xxxxx/.ssh/authorizedkey

2.2.3  How does user get the gateway to connect to a user's private server

Step 1 :  Come back the gateway web UI to get the gateway Public key

1)  in the system --> Remote Mgmt/span

image-20220531152419-11.png

Step 2 :  Authorization server

Input the Gateway Publickey into user's private server "/home/XXXXX/.ssh/authorized_keys" file.

image-20220531152549-12.png

Step 3 :  Connect private server

This is same as connect Dragino Support Server but just change the server address to customize server address.

image-20220531152633-13.png

Step 4 :  Check Connection

Rssh Host connection Ok

image-20220531152815-14.png

User can use common ps | grep ssh to check it in the gateway.

image-20220531152840-15.png

Step 5 :  Access the gateway from customized server

Check what gateways link to server. 

$ ./connect-gw.sh -l

image-20220531153016-16.png

Access the gateway

$ ./connect-gw.sh <GWID>

image-20220531153219-17.png

 

Tags:
Created by Edwin Chen on 2022/05/02 08:22
    
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0