Set Up a Blocking-Resistant Server With Floating IPs
Stay organized with collections
Save and categorize content based on your preferences.
Introduction
Outline servers can sometimes face the problem of being discovered and blocked
from highly censored networks. It's possible and not too difficult to recover a
blocked server if it was set up correctly. We will do this using DNS, the
Internet technology which translates domain names (like getoutline.org
) to
physical IP addresses (like 216.239.36.21
), and Floating IPs, a cloud feature
which lets you assign more than one IP address to an Outline server.
Requirements
There is a low level of technical skill needed to follow this guide. A basic
understanding of DNS is helpful, but not required. See the
MDN
guide on domain names for an introduction.
To have a concrete example we will use DigitalOcean and Google Domains, but any
cloud provider which allows assignment of IP addresses (e.g. Google Cloud or
AWS Lightsail)
and any domain registrar (e.g.
AWS Route 53)
will work just as well.
Instructions
The following list summarizes the steps to rotate the IP address of a server:
Purchase a domain name.
Point the domain name to our server's IP address.
Issue access keys using the domain name.
Assign a Floating IP to the server's Droplet.
Change the domain name to point at the new IP address.
Create an Outline Server on DigitalOcean
If you have a running DigitalOcean server, skip to the next step.
Open Outline Manager and Click "+" at the bottom left to enter the server
creation screen.
Click "Create Server" on the "DigitalOcean" button and follow the directions
in the app.

Make a Hostname for Your Server
Navigate to Google Domains and
click "Find the perfect one".
Enter a domain name in the search bar and choose a name. We used
outlinedemo.info
as an example.
Navigate to the DNS tab on Google Domains. Under "Custom Resource Records",
type your server's IP address in the field marked "IPV4 address".
Navigate to the "Settings" tab for your server in Outline Manager. Under
"Hostname", type the hostname you purchased and click "SAVE". This will make
all future access keys use this hostname instead of the server's IP address.

Change the Server's IP address
Navigate to your server on DigitalOcean's "Droplets" page.
Click "Enable Now" in the top right of the window next to "Floating IP".

- Find your server in the list of Droplets and click "Assign Floating IP".

Navigate back to the DNS tab on Google Domains.
Change the IP address as before, but this time with the new Floating IP
address. This may take up to 48 hours to take place, but often it only takes
a few minutes.
Navigate to Google's Online DNS tool
and enter your domain name to see when the change in the last step took
place.

Once this change propagates, clients will now connect to the new IP address. You
can connect to your server with a new key and open https://ipinfo.io to make
sure that you see your server's new IP address.
Conclusion
Rotating IP addresses of an Outline server can be a fast way to unblock a server
and restore service to clients. For more questions, feel free to comment on the
announcement post, visit
Outline's support page or
contact us directly.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-12-05 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-12-05 UTC."],[[["\u003cp\u003eOutline servers can be blocked in highly censored networks, but recovery is possible by rotating the server's IP address.\u003c/p\u003e\n"],["\u003cp\u003eThe recovery process involves using DNS to translate a domain name to an IP address and using a Floating IP feature to assign multiple IP addresses to the server.\u003c/p\u003e\n"],["\u003cp\u003eUsers need to purchase a domain name and point it to the server's IP address and can use services such as DigitalOcean and Google Domains, or similar providers.\u003c/p\u003e\n"],["\u003cp\u003eAfter setting up a hostname and assigning a Floating IP, users must update their domain's DNS records with the new Floating IP address.\u003c/p\u003e\n"],["\u003cp\u003eOnce the DNS changes propagate, clients will connect to the server using the new IP address, restoring access to previously blocked servers.\u003c/p\u003e\n"]]],["To recover a blocked Outline server, purchase a domain name and point it to the server's IP address. Then, issue access keys using the domain name. Next, assign a Floating IP to the server. Finally, update the domain name's DNS records to point to the new Floating IP address. This process switches the server's address without changing the access keys. Verify the update by using online tools to check if the domain is directing to the new IP.\n"],null,["# Set Up a Blocking-Resistant Server With Floating IPs\n\nIntroduction\n------------\n\nOutline servers can sometimes face the problem of being discovered and blocked\nfrom highly censored networks. It's possible and not too difficult to recover a\nblocked server if it was set up correctly. We will do this using DNS, the\nInternet technology which translates domain names (like `getoutline.org`) to\nphysical IP addresses (like `216.239.36.21`), and Floating IPs, a cloud feature\nwhich lets you assign more than one IP address to an Outline server.\n\nRequirements\n------------\n\nThere is a low level of technical skill needed to follow this guide. A basic\nunderstanding of DNS is helpful, but not required. See the\n[MDN](https://developer.mozilla.org/docs/Learn/Common_questions/What_is_a_domain_name)\nguide on domain names for an introduction.\n\nTo have a concrete example we will use DigitalOcean and Google Domains, but any\ncloud provider which allows assignment of IP addresses (e.g. Google Cloud or\n[AWS Lightsail](https://lightsail.aws.amazon.com/ls/docs/en_us/articles/lightsail-create-static-ip))\nand any domain registrar (e.g.\n[AWS Route 53](https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-using-route-53-to-point-a-domain-to-an-instance))\nwill work just as well.\n\nInstructions\n------------\n\n1. The following list summarizes the steps to rotate the IP address of a server:\n\n2. Purchase a domain name.\n\n3. Point the domain name to our server's IP address.\n\n4. Issue access keys using the domain name.\n\n5. Assign a Floating IP to the server's Droplet.\n\n6. Change the domain name to point at the new IP address.\n\nCreate an Outline Server on DigitalOcean\n----------------------------------------\n\nIf you have a running DigitalOcean server, skip to the next step.\n\n1. Open Outline Manager and Click \"+\" at the bottom left to enter the server\n creation screen.\n\n2. Click \"Create Server\" on the \"DigitalOcean\" button and follow the directions\n in the app.\n\nMake a Hostname for Your Server\n-------------------------------\n\n1. Navigate to [Google Domains](https://domains.google.com/m/registrar/) and\n click \"Find the perfect one\".\n\n2. Enter a domain name in the search bar and choose a name. We used\n `outlinedemo.info` as an example.\n\n3. Navigate to the DNS tab on Google Domains. Under \"Custom Resource Records\",\n type your server's IP address in the field marked \"IPV4 address\".\n\n4. Navigate to the \"Settings\" tab for your server in Outline Manager. Under\n \"Hostname\", type the hostname you purchased and click \"SAVE\". This will make\n all future access keys use this hostname instead of the server's IP address.\n\nChange the Server's IP address\n------------------------------\n\n1. Navigate to your server on DigitalOcean's \"Droplets\" page.\n\n2. Click \"Enable Now\" in the top right of the window next to \"Floating IP\".\n\n1. Find your server in the list of Droplets and click \"Assign Floating IP\".\n\n1. Navigate back to the DNS tab on Google Domains.\n\n2. Change the IP address as before, but this time with the new Floating IP\n address. This may take up to 48 hours to take place, but often it only takes\n a few minutes.\n\n3. Navigate to [Google's Online DNS tool](https://toolbox.googleapps.com/apps/dig/#A/)\n and enter your domain name to see when the change in the last step took\n place.\n\nOnce this change propagates, clients will now connect to the new IP address. You\ncan connect to your server with a new key and open \u003chttps://ipinfo.io\u003e to make\nsure that you see your server's new IP address.\n\nConclusion\nRotating IP addresses of an Outline server can be a fast way to unblock a server\nand restore service to clients. For more questions, feel free to comment on the\n[announcement post](https://redd.it/hrbhz4), visit\n[Outline's support page](https://support.getoutline.org/) or\n[contact us directly](https://support.getoutline.org/s/contactsupport)."]]