Nachdem im HOOC Managementportal eine Anlage erstellt wurde, erfolgt die Aktivierung nach untenstehenden Punkten:
mv
chmod +x
das app_embeddedgateway ausführbar machenhwid
Der Hardware-Identifikations-Code (hwid) ist ein eindeutiger Code, welcher die Hardware identifiziert. Dadurch wird sichergestellt, dass ein Lizenzschlüssel nur von der jeweiligen Hardware verwendet werden kann. Erst nach erfolgreicher Bestätigung des Hardware-Identifikations-Code kann das HOOC Connect Binary mit den VPN-Zugangsdaten der Anlage heruntergeladen werden.
mv
chmod +x
das app_embeddedgateway ausführbar machenNun sollte der Console Output INFO[0000] Successfully connected to VPN...
ersichtlich sein. Zudem wird der Status
der VPN-Verbindung auf im HOOC Managementportal angezeigt.
Das HOOC Connect Binary erstellt beim Starten das Netzwerkinterface hooc-tap0. Falls nun die selbe Funktionalität wie beispielsweise beim HOOC Connect H gewünscht ist, muss eine Brücke zwischen dem physikalischen Netzwerkinterface, beispielsweise eth0 und dem hooc-tap0 konfiguriert werden. Bei untenstehenden Konfigurationsbeispielen bezieht die Brücke per DHCP eine IP Adresse.
Falls Sie iptables
verwenden, stellt der Befehl iptables -A FORWARD -j ACCEPT -i br-hooc -o br-hooc
sicher, dass die Brücke
Datenpakete korrekt weiterleitet. Falls Docker verwendet wird, muss dieser Befehl zwingend ausgeführt werden.
Die nicht persistente Konfiguration ist nach einem Neustart des Betriebssystems nicht mehr vorhanden. Stellen Sie sicher,
dass die Pakete net-tools
und bridge-utils
installiert sind. Führen Sie untenstehende Befehle als root-user aus.
# Create the bridge br-hooc
brctl addbr br-hooc
# Add the physical eth0 to the br-hooc bridge
brctl addif br-hooc eth0
# Remove IP eth0
ifconfig eth0 0.0.0.0
# Bring eth0 up
ifconfig eth0 up
# Obtain IP from local DHCP-Server
dhclient br-hooc
# Start the embedded gateway as root user with the bridge parameter
./app_embeddedgateway --vpn.linux.bridge=br-hooc
Die Netzwerkbrücke sowie das physikalische Netzwerkinterface in der entsprechenden Netzwerkkonfigurationsdatei anpassen:
iface eth0 inet manual
iface eth0 inet6 manual
auto br-hooc
iface br-hooc inet dhcp
bridge_ports eth0
Falls dhcpcd
verwendet wird, sollte in der Datei /etc/dhcpcd.conf
folgende Anpassungen gemacht werden:
denyinterfaces eth0
interface br-hooc
Mittels Neustart des Geräts oder der Netzwerkschnittstellen wird die persistente Konfiguration übernommen.
Die obenstehende Konfiguration ist nur ein Beispiel für eine Konfiguration. Diese muss je nach Betriebssystem und Version individuell angepasst werden.
Ein OS-spezifisches init.d-Skript wird benötigt, um die Binärdatei getrennt auszuführen.
#! /bin/sh
### BEGIN INIT INFO
# Provides: app_embeddedgateway
# Required-Start: networking
# Required-Stop: networking
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: This is app_embeddedgateway daemon
# Description: This is app_embeddedgateway daemon
### END INIT INFO
# Using the lsb functions to perform the operations.
. /lib/lsb/init-functions
# Process name ( For display )
NAME=app_embeddedgateway
# Daemon name, where is the actual executable
DAEMON=/usr/local/bin/app_embeddedgateway
# pid file for the daemon
PIDFILE=/var/run/app_embeddedgateway.pid
# log file for the daemon
LOGFILE=/var/log/app_embeddedgateway.log
# If the daemon is not there, then exit.
test -x $DAEMON || exit 5
case $1 in
start)
# Checked the PID file exists and check the actual status of process
if [ -e $PIDFILE ]; then
status_of_proc -p $PIDFILE $DAEMON "$NAME process" && status="0" || status="$?"
# If the status is SUCCESS then don't need to start again.
if [ $status = "0" ]; then
exit # Exit
fi
fi
# Start the daemon.
log_daemon_msg "Starting the process" "$NAME"
# Start the daemon with the help of start-stop-daemon
# Log the message appropriately
if start-stop-daemon --start --quiet --oknodo --background --make-pidfile --pidfile $PIDFILE --exec $DAEMON -- --log.file $LOGFILE; then
log_end_msg 0
else
log_end_msg 1
fi
;;
stop)
# Stop the daemon.
if [ -e $PIDFILE ]; then
status_of_proc -p $PIDFILE $DAEMON "Stoppping the $NAME process" && status="0" || status="$?"
if [ "$status" = 0 ]; then
start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE
/bin/rm -rf $PIDFILE
fi
else
log_daemon_msg "$NAME process is not running"
log_end_msg 0
fi
;;
restart)
# Restart the daemon.
$0 stop && sleep 2 && $0 start
;;
status)
# Check the status of the process.
if [ -e $PIDFILE ]; then
status_of_proc -p $PIDFILE $DAEMON "$NAME process" && exit 0 || exit $?
else
log_daemon_msg "$NAME Process is not running"
log_end_msg 0
fi
;;
*)
# For invalid arguments, print the usage message.
echo "Usage: $0 {start|stop|restart|status}"
exit 2
;;
esac
Wenn das Schreiben einer Logdatei aktiviert ist, wird empfohlen, die Logrotation einzurichten.
/var/log/app_embeddedgateway.log {
rotate 7
daily
missingok
compress
sharedscripts
postrotate
touch /var/log/app_embeddedgateway.log
endscript
}
Betreffend Netzwerkschnittstelle git es folgendes zu beachten:
--vpn.linux.bridge.bridge
übergeben werden.NET_ADMIN
und NET_BIND_SERVICE
Rechte. Entweder wird das Binary privilegiert
ausgeführt oder es werden die Rechte mittels setcap
erteilt. setcap cap_net_admin,cap_net_bind_service=+ep ./app_embeddedgateway