Internally Hosted eSync Server Routing Question

Support -

We have a Flexy 201 and it connects to our own publicly accessible eSync server that I setup a while back via the data management options.

Questions

  1. I was wondering if the eWON accesses the eSync server you define via the VPN connection’s public IP address or the WAN public IP address typically?

    • If from the VPN, what IP address range would we see connections coming from, and is there a notification list for emails regarding changes at this level I can have my email address included in on such notifications?
  2. Is there a command to run from BASIC IDE that could show me the public IP addresses of a Flexy 201 (VPN or non-VPN WAN)?

The Reason

I’m trying to determine if I can lock down the connection in our firewall appliance to only allows connections to this server from specific IP addresses. This way we block everything and only allow through what you want to allow since we only need to access this via the eWONs only from the outside world.

Our firewall IDP system has been reporting an increase in attempted attacks and such on some of our web servers so if I can do anything to lessen the attack surface, this is the approach I’d like to take with the eSync server in particular at least so I don’t have to worry about it unless an IP address changes at which point I’d take action accordingly.

I’ve already changed the admin username to something different and have a super long and cryptic password but if I can just drop unnecessary packets from going to it from our network appliance firewall, I’d like to lock this system down super tight but I need to understand first if this will come only from the VPN public IP address or the IP address of the WAN at the plant. If per the WAN public IP, I’m curious if there is a command or command method I can run on the eWON to get that detail even if reading from an external URL output?

Hi @PJ_IOT

Apologies on the delay here.

  1. To answer your question, no matter what, the eWON will use its public IP address to interface with the eSync server. The VPN ip is transparent in that context.

2 . I wrote a function that will provide you with the public ip address. You can find it below:



FUNCTION public($ip$)
    IF $ip$ <> "" THEN
        PRINT "Your public IP address is: " + $ip$
    ELSE
        $url$ = "https://api.ipify.org"
        $header$ = ""
        $method$ = "GET"
    
        REQUESTHTTPX $url$, $method$, $header$
        actionId% = GETSYS PRG, "ACTIONID"
    
        ONSTATUS "GOTO Response"
    ENDIF
ENDFN

Response:
    eventId% = GETSYS PRG, "EVTINFO"
    
    IF eventId% = actionId% THEN
        SETSYS PRG, "ACTIONID", eventId%
        currentState% = GETSYS PRG, "ACTIONSTAT"
        IF currentState% = 0 THEN
            body$ = RESPONSEHTTPX "RESPONSE-BODY"
            @public(body$)
        ENDIF
    ENDIF
END



You simply need to call: @public("")

It is very important to pass a blank string to the function call as it is called from the response function and terminates on receipt of a valid value.

1 Like