8

I want to move all my projects from Shared Hosting to a personal server, basically a server in my home using my 200Mb Fiber connection.

The first problem I have is my dynamic IP address. It can change at any time (weeks, months) and I need a way to automatically point the Domains I have to my home IP. I don't know how I can do this. Actually I have a domain associated to a hosting company point to specific DNS of the Shared Hosting, but I need to point the domain to my IP (and update it when my IP address changes).

The second problem is about SSL. i want to upgrade one domain to SSL and configure Apache to use it, but I don't know if I can buy an SSL certificate for use in a domain with my dynamic IP (don't know if the certificate is for a domain or IP).

Any help is welcome.

  • Why don't you just pay for a static IP on your super-duper fibre line? – Kinnectus Oct 5 '15 at 12:35
  • well.. because my ISP dont offer me this service, its not a super-duper-configurable connection :) – Zenth Oct 5 '15 at 12:41
  • You're going to have to look into a dynamic DNS service such as no-ip or DynDNS etc. – Kinnectus Oct 5 '15 at 13:02
5

The dynamic IP aspect of your question can be addressed easily, as there are many providers that offer Dynamic DNS as a service. For example:

I've tried both DynDNS and no-ip myself, and they work as advertised. This was quite a while back, but I'm guessing they're still good.

SSL certificates are based on the domain, and not the IP, so provided that your server is set up properly, there's no issue.

  • Probably worth noting, most dynamic DNS services that can be used on a "naked" domain are paid-for services. – qasdfdsaq Oct 5 '15 at 15:25
2

Although there is already an answer marked correct, I'm going to add another with more detail. There is nothing wrong with @Jarmund's answer but I think more can be said.

As mentioned, you need a dynamic DNS service. I'm not sure any of them have a "good" completely free plans anymore. Last time I had one of the providers mentioned above you were required to click a link in an email every month to "refresh" or "keep active" the free account. Needless to say the email contained advertising which despite having a filter to flag the email as important for me, often had it end up in spam instead.

That said, some router brands these day DO include a free lifetime of the router subscription to a dynamic DNS service. For example, netgear has a myNetgear dynamic DNS service offered that is powered by no-ip.com. It no additional charge after you own the router, and after setup the router itself updates the external DNS. Other router brands seem to also have this, I won't mention other names because this is the only current first hand experience I have.

If you don't have a router that supports dynamic DNS then you will need to run a client on one of your local computers that is up 24/7 to keep the dynamic DNS service up to date. This is likely the case if you are running a modem/router supplied by your service provider. You might want to look into separating your modem and router and owning your own router. Without knowing your ISP its impossible to provide specific info.

Of course, the free service that comes with a router is to a single sub-domain of a common to the service domain. Examples: MyExample.someDynamicDNSExample.com points to your local external IP.

How does that help you if you have 5 (or any number) custom domain names? The dynamic DNS service would love it of you would pay them for more, and perhaps in a few cases there might be reason to do that, but in most cases you won't need to.

When your existing shared host sets up DNS or tells you what to enter in external DNS they are likely creating or telling you to create A-records.. that is records that point a domain (or sub-domain) name to a specific IP address. In this case what you will want to do with your custom domain names is enter CNAME records (delete any existing A-records, they will conflict) with the "value" set to your dynamic serives host name, or in the example here we would use MyExample.someDynamicDNSExample.com What this is basically saying is "this domain name uses the same numeric IP as MyExample.someDynamicDNSExample.com"

  • One caveat with this solution which may be a deal-breaker, depending on OPs requirements: An MX record can't refer to a CNAME record, should multiple domains be in play. – BillP3rd Oct 6 '15 at 15:17
  • @BillP3rd ... True and when I said "The dynamic DNS service would love it of you would pay them for more, and perhaps in a few cases there might be reason to do that, but in most cases you won't need to." that was one of the cases I had in mind. Most people don't have much luck with home run mail servers tho, due to all the difficulties with getting sent mail not to be spam. – Tyson Oct 6 '15 at 15:26
  • Correct. You will have to pay a dynamic provider to get what you want. – Tyson Oct 7 '15 at 10:17
0

For those that host domains through Google Domains, they have a page explaining how to set up client software that should run 24/7 to update the IP address. https://support.google.com/domains/answer/6147083?hl=en

They describe how to do it with existing client software as well as, if you're tech savvy, how to do REST POST requests to do it on your own with scripts etc.

Quoting the page:

Setting up a client program on your gateway, host, or server

There are several popular dynamic DNS clients in use, such as DDclient and INADYN. In addition most routers have software built in to detect IP changes and communicate them with the name servers.

Note: Google Domains uses the dyndns2 protocol.

Configure your dynamic DNS client with:

Provider (or DNS or Service): The name of your DNS Provider.

Username: (or credential) the generated username in the Dynamic DNS record.

Password (or credential): the generated password in the Dynamic DNS record.

After you have created the record and configured your client software, test it by entering the subdomain and domain into a web browser (or appropriate client) and seeing that it connects to the correct resource.

Examples

DDclient now has support for Google Domains.

DDclient with Google Domains Support

ddclient.conf entries:

ssl=yes

protocol=googledomains

login=generated_username

password=generated_password

your_resource.your_domain.tld

General client configuration examples:

DDclient

without Google Domains support INADYN

Sample ddclient.conf entries:

protocol=dyndns2

use=web

server=domains.google.com

ssl=yes

login=generated_username

password=generated_password

your_resource.your_domain.tld

Add the following to your inadyn.conf

system default@domains.google.com

username generated_username

password generated_password

alias sub.domain.tld

Using the API to update your Dynamic DNS record

Dynamic DNS client software automatically updates your dynamic DNS record. You can perform updates manually with the API by making making a POST request (GET is also allowed) to the following url:

https://domains.google.com/nic/update

The API requires HTTPS. Here’s an example request:

https://username:password@domains.google.com/nic/update?hostname=subdomain.yourdomain.com&myip=1.2.3.4

Note: You must set a user agent in your request as well. Web browsers will generally add this for you when testing via the above url. In any case, the final HTTP request sent to our servers should look something like this:

Example HTTP query:

POST /nic/update?hostname=subdomain.yourdomain.com&myip=1.2.3.4 HTTP/1.1

Host: domains.google.com

Authorization: Basic base64-encoded-auth-string User-Agent: Chrome/41.0 your_email@yourdomain.com

Request Parameters:

Parameter Required/Optional Description

username:password Required The generated username and password associated with the host that is to be updated.

hostname Required The hostname to be updated.

myip Optional

(Required if you have an IPv6 address) The IP address to which the host will be set. If not supplied, we’ll use the IP of the agent that sent the request.

Note: myip is required if your agent uses an IPv6 address. You can check your agent’s IP address by going to https://domains.google.com/checkip.

offline Optional Sets the current host to offline status. If an update request is performed on an offline host, the host is removed from the offline state.

Allowed values are

yes

no

One of the following responses will be returned after the request is processed.

Please ensure you interpret the response correctly, or you risk having your client blocked from our system.

Response Status Description

good 1.2.3.4 Success The update was successful. Followed by a space and the updated IP address. You should not attempt another update until your IP address changes.

nochg 1.2.3.4 Success The supplied IP address is already set for this host. You should not attempt another update until your IP address changes.

nohost Error The hostname does not exist, or does not have Dynamic DNS enabled.

badauth Error The username / password combination is not valid for the specified host.

notfqdn Error The supplied hostname is not a valid fully-qualified domain name.

badagent Error Your Dynamic DNS client is making bad requests. Ensure the user agent is set in the request.

abuse Error Dynamic DNS access for the hostname has been blocked due to failure to interpret previous responses correctly.

911 Error An error happened on our end. Wait 5 minutes and retry.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.