• Hi, Pleskians! We are running a UX testing of our upcoming product intended for server management and monitoring.
    We would like to invite you to have a call with us and have some fun checking our prototype. The agenda is pretty simple - we bring new design and some scenarios that you need to walk through and succeed. We will be watching and taking insights for further development of the design.
    If you would like to participate, please use this link to book a meeting. We will sent the link to the clickable prototype at the meeting.
  • Our UX team believes in the in the power of direct feedback and would like to invite you to participate in interviews, tests, and surveys.
    To stay in the loop and never miss an opportunity to share your thoughts, please subscribe to our UX research program. If you were previously part of the Plesk UX research program, please re-subscribe to continue receiving our invitations.
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.

Issue How to route local traffic internally

GlennT

Basic Pleskian
Hello all,

I am trying to figure out how to resolve local-to-server traffic internally instead of having it route to router and back again.

For example, on Plesk 17.x/Centos 7 server I ran into a problem where a Scheduled Task set up as Fetch URL would not resolve and failed with URL not found.

I added the domain to hosts file using the internal IP address and it then resolved and executed correctly.

My problem compounds because I am running Imunify360 and on a second Plesk 17.x/Centos 6 server, I ran into same problem but added Public IP address to IP Address under Tools and then configured Plesk DNS/Bind.

This allowed the Fetch URL Scheduled Task to resolve to external IP and run without error for all domains.

The problem is that now there is all kinds of local-to-server traffic which routes to router IP (192.168.10.254) and back to originating server and IM360 blocks that traffic because it identifies all that traffic as malicious which leads the Scheduled Task as noted above to fail.

I have to then whitelist the router IP of 192.168.10.254 and the Scheduled Task then works again.

So here is where I am at:

If I configure Plesk DNS to use internal IP but don't add external IP to Public IP address to IP Address under Tools, websites won't ping internally and don't resolve. Internal DNS only seems to work if I add external IP address under Public IP address.

The only thing that works is manually adding internal IP for every domain/subdomain to hosts file which is not a realistic option.
  1. How can I get Plesk/Centos to resolve all domains by internal IP address without having to manually update hosts file?
  2. Is there a way to have domain names resolve internally without installing Plesk DNS? I would rather not have DNS installed.
  3. Are there any potential drawbacks resolving domains inside the server to internal IP address?
  4. Am I correct in assuming all traffic which is shown as originating from router IP 192.168.10.254 originates from local server?
    1. All inbound traffic is not NAT'd while all internal outbound traffic is NAT'd: All inbound traffic should show as originating from external IPs since it is NAT'd.
I also have ticket into Cloudlinux to see if they have any insights.

Any additional insights into all of this would be greatly appreciated.

Thanks,
G
 
Last edited:
Hi GlennT,

How are you fetch a page from URL? Maybe you can use `wget` with --header in your case? Something like:
# wget --header="Host: foo.bar" http://localhost/

Code:
[...]
       --header=header-line
           Send header-line along with the rest of the headers in each HTTP
           request.  The supplied header is sent as-is, which means it must
           contain name and value separated by colon, and must not contain
           newlines.

           You may define more than one additional header by specifying
           --header more than once.

                   wget --header='Accept-Charset: iso-8859-2' \
                        --header='Accept-Language: hr'        \
                          http://fly.srk.fer.hr/

           Specification of an empty string as the header value will clear all
           previous user-defined headers.

           As of Wget 1.10, this option can be used to override headers
           otherwise generated automatically.  This example instructs Wget to
           connect to localhost, but to specify foo.bar in the "Host" header:

                   wget --header="Host: foo.bar" http://localhost/

           In versions of Wget prior to 1.10 such use of --header caused
           sending of duplicate headers.
[...]
 
Buddy you are having a lot of questions, and a lot of problems. I can give you several advises on what to do for your IP and your server problems. First of all with if you want to know what is wrong with the program and why it is not runing because of IP go http://whatsmyrouterip.com , here you can find the solution for your problem. If after that your server is not gonna run, you can make the change while visit 192.168.0.1 and there you can do the changes for your server to work properly and without any issues.
 
Back
Top