Internal IP not localhost? - ip

Recently I've had this problem with a Tomcat server and it was saying that it couldn't resolve the host address. It turned out to be that it required my internal IP to be assigned to localhost, i.e. 192.168.A.B but why was it not already resolved as localhost? And there's no good adding that IP to my hosts file because as soon as I change network it'll become something else.

Related

Host command providing wrong twitter IP address

I'm building a clone of the host command. I've tried finding the host of twitter.com and have received the same IP-Address both on my version and the real host command. The address is: 104.244.42.65.
For some reason, when I input this IP-Address into the browser, it says that there's no webpage with that IP address. Why is this happening?
The host command uses ICMP to detect if the DNS name of the host can be resolved and host is reachable. And you can resolve and reach the IP that resolved for twitter.com.
However, the web server of Twitter is probably configured to answer only if asked by DNS name and when your browser sends a HTTP GET request with the IP, the server does not respond.
Twitter gets tons of requests per minute. The surely use load-balancers that redirect "twitter.com" to multiple IP addresses and they don't want people to use particular IP addresses, which would mess up their load balancers.

IIS web app is not accessible on the same network but Apache app is

I have a server that has both Apache and IIS running simultaneously.
Both apps are configured on different ports and both apps use HTTPS.
The app on Apache (port 433) is accessible on any computer on the network, but I can't get the IIS app (port 4433) to work. It says: This site can’t be reached
I can ping the server.
I'm trying to access both websites with IP address of the server and port after it.
The IIS app works on the server, both with localhost address and server IP address.
I have tried all the solutions I found:
1. disabling firewall
2. allowing just the port I needed through the firewall
3. allowing anonymous access in IIS
4. different ports (4433, 7200...)
Nothing seems to work.
I will be grateful for any help.
I assume your IIS binding looks something like this:
Specifically, "All Unassigned" for the IP address, and no host name defined.
If that is what you have, then it sounds like a firewall problem. i.e. The traffic is not reaching your server.
The easiest way to check this is to turn off Apache and change the IIS binding to use port 443. If it works, then you know it's just the other port that doesn't work.
You can also use something like Wireshark to actually see if any traffic on port 4433 is making it to your server (you can use the filter tcp.port == 4433). If you don't see any traffic there even though you've made a request from another computer, then something is blocking it.
And when I say "firewall", I don't mean Windows Firewall. I mean either a router or dedicated firewall appliance that would need to be configured to allow traffic to that port.

Local DNS override works randomly with Bind

I have a Bind DNS server on my local network to get *.home resolution, and a forwarders section for every other domains. I also have a local web server which serve some subdomains of *.mydomain.com from the outside, with my ISP box redirecting ports 80/443 to it.
But from any computer within my local network, if I try to access any of the *.mydomain.com address, the IP address returned is my public IP address and the ISP box doesn't redirect the request to my server. I used a workaround by adding the subdomains *.mydomain.com with the local IP address of the server in /etc/hosts on each local computer but it's not perfect since I have to change it if I move a computer to another network, plus I can't do this on my non-rooted Android devices.
The perfect solution would be to have my local DNS overrinding the DNS entries for *.mydomain.com with the local IP instead of the public one. I tried some Bind9 configurations for this, some using the "response-policy" directive, some without it, but in every case, I get the external IP ~50% of the time and I can't figure out why. This happens on every computer I use (some are on Ubuntu, some with Windows), also on my Android phones.
Using dig #mydns subdomain.mydomain.com return the local IP so I assume that the Bind configuration is OK, but dig subdomain.mydomain.com (or ping) doesn't always return the proper IP. I also tried to disable forwarders for the subdomain like this :
zone "mydomain.com" {
type master;
file "/etc/bind/db.mydomain";
forwarders {};
};
I flushed the DNS cache of my computers and there is no other DNS server on my network so I don't understand how this can happen. I also tried to log requests on the Bind server and I don't see requests with the external IP address returned (only those with the internal). So where did these requests go through ?
I finally found out what the problem was : my custom DHCP/DNS server was configured for IPv4 only, but my ISP box also provide IPv6 capabilities, so all the DNS requests from the devices on the network where sent on both protocols and half of the time, the request was answered by the ISP box instead of my custom DNS.
I disabled IPv6 for now and the problem is gone. I'll configure it for my custom server later.

how do i make my website accessible from the internet without a static ip and from a virtual machine?

I have windows 8 host and i have installed ubuntu 14.10 server as a virtual machine in vmware. i have installed LAMP server and i am trying to host a website from it. i have created a virtual host. my website is accessible in the host machine when i go to the address 192.168.0.106.
my router info:
LAN
IP Address :192.168.0.1
INTERNET
IP Address :10.30.XXX.XXX
"what is my ip" in google: 113.XXX.XXX.XXX
how do i make my website accessible from the internet ? I know it is a dumb question, but i tried searching everywhere and could not get the solution.
Since you say that you can connect to the site from the host machine, it does not matter that it is in a VM.
You say that you can connect to your site via: 192.168.0.106 on the LAN. You need to forward connections to your WAN address (113.193.56.198) to your LAN address (192.168.0.106). You can do this in most router settings in a section called Port forwarding. Use port 80 if you're hitting the LAN IP from a browser and you don't have to add a port after the address like http:\\192.168.0.106:1234. Otherwise, use whatever port you like.
Once you get that working, it is a good idea to use a dynamic DNS service, which will connect your IP to a domain name and update the connection whenever your WAN IP changes. This way, instead of using the WAN IP in a browser, you can use your domain name and it should always work. But that's not your first problem. First get it working with the WAN IP by itself. Once you've got that working, get some DynDNS.
EDIT
If you think it should be working but can't figure out why it isn't, use a tool like nmap/zenmap to scan your WAN and LAN IPs. That will help you diagnose the problem.
A DynDNS should do the job!
It will automatically renew your dynamic ip address. All you need is; a tool that runs on your server with website.
Search for it on google, and you'll find a solution. Btw: there are, Free and paid solutions.
EDIT: by the way, your router requires additionally some port forwarding to make your website accessible from outside. Even with the DynDNS stuff installed.
Just to give you some indications.

Find Internal Hosting Server from Website IP

There is a website hosted on a server on our network, and I'm trying to find where exactly this has been installed.
Using the IP is there anyway that I can resolve this to a machine name on our network? I've tried pining the IP but don't get anything useful back.
This will return the machine/computer name:
PING -a xxx-xxx-xxx-xxx

Resources