# How To's

Find out how to set PTR records or unblock IP addresses.

# Manage PTR Records

#### Overview

<span class="font-semibold">PTR</span> (pointer) is reverse DNS: the name the internet sees when something looks up your <span class="font-semibold">public IPv4</span> address. Many mail servers and some services expect your PTR to look professional (often a <span class="font-semibold">fully qualified domain name</span>, or FQDN, such as `<span class="md-inline-path-filename">mail.example.com</span>`).

For mail and reputation, it is best practice that <span class="font-semibold">PTR and forward DNS agree</span>: the IP’s PTR should point at a hostname that, in turn, <span class="font-semibold">resolves forward (A record) back to the same IP</span>. If they do not match, some recipients may defer or reject mail or treat the host as less trustworthy.

You manage PTR in the NOC portal on <span class="font-semibold">IP Address Management</span> for addresses <span class="font-semibold">on your account</span>. You cannot set PTR for IPs you do not own through this page.

##### Before you change anything

1. <span class="font-semibold">Decide on the hostname</span> you want (an FQDN you control).
2. <span class="font-semibold">Create/update forward DNS</span> so that the hostname’s <span class="font-semibold">A record</span> points to <span class="font-semibold">this same IPv4</span>. Do this in your DNS hosting (zone for the domain), not only in the portal.
3. <span class="font-semibold">Wait for DNS to propagate</span> if you just created the record (often minutes, sometimes longer).
4. In the portal, open <span class="font-semibold">IP Address Management</span>, find the IP (search, service filter, or <span class="font-semibold">Ctrl+K</span>), and expand the row or use <span class="font-semibold">Update reverse DNS</span> where offered.

#### Set a custom PTR (single address)

1. Open the IP’s <span class="font-semibold">PTR</span> flow (expanded row, <span class="font-semibold">Save</span> after editing the PTR field, or the <span class="font-semibold">Reverse DNS</span> modal).
2. Enter the <span class="font-semibold">new PTR</span> as a valid <span class="font-semibold">FQDN</span> (e.g. `<span class="md-inline-path-filename">smtp.example.com</span>`). Do not use bare words like `mail` without a domain; the portal expects a proper hostname format.
3. Confirm the value matches what you want the world to see <span class="font-semibold">and</span> that your <span class="font-semibold">forward DNS (A)</span> for that name already points to this IP.
4. Click <span class="font-semibold">Apply PTR</span> / <span class="font-semibold">Save</span>. The portal sends the change to the API; the upstream API system may normalise the name slightly (e.g. trailing dot).
5. After a few minutes, verify with an external tool (reverse lookup on the IP) or `dig -x YOUR.IP` from your own machine.

[![NoCrDNS.png](https://docs.f2h.cloud/uploads/images/gallery/2026-04/scaled-1680-/nocrdns.png)](https://docs.f2h.cloud/uploads/images/gallery/2026-04/nocrdns.png)

#### Reset PTR to the default

1. Open the same IP in <span class="font-semibold">IP Address Management</span>.
2. <span class="font-semibold">Use default</span> (modal) or <span class="font-semibold">Reset</span> (expanded row), depending on which UI you are in.
3. Confirm the action. The PTR returns to the platform <span class="font-semibold">default</span> for that service/IP.
4. Allow a short time for the change to appear globally, then verify with a reverse DNS lookup if needed.

Use this when you no longer host mail on that IP, you used a temporary hostname, or a custom PTR is causing mismatch warnings.

#### Bulk PTR updates

If you must align many addresses at once (e.g. after a migration), open <span class="font-semibold">Bulk PTR update</span>, paste one <span class="font-semibold">IP and hostname</span> per line (separated by space, tab, or comma), and review the counts for <span class="font-semibold">valid</span>, <span class="font-semibold">invalid</span>, and <span class="font-semibold">not yours</span> before queuing. Only lines for <span class="font-semibold">your</span> IPs are applied. The maximum batch size is <span class="font-semibold">500</span> per run; large jobs are completed in a queue with a summary at the end.

[![NoCIPBulk.png](https://docs.f2h.cloud/uploads/images/gallery/2026-04/scaled-1680-/nocipbulk.png)](https://docs.f2h.cloud/uploads/images/gallery/2026-04/nocipbulk.png)

#### Troubleshooting

<div class="ui-scroll-area" id="bkmrk-issue-what-to-check-"><div class="ui-scroll-area__viewport"><div class="ui-scroll-area__content"><table style="width:100%;height:165.781px;"><thead class="bg-muted/80"><tr class="border-border border-b" style="height:29.7969px;"><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" style="width:33.6046%;height:29.7969px;">Issue</th><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" style="width:66.3954%;height:29.7969px;">What to check</th></tr></thead><tbody class="divide-y divide-border bg-muted/40"><tr class="border-border border-b" style="height:46.5938px;"><td style="width:33.6046%;height:46.5938px;"><div class="md-table-cell-content"><span class="font-semibold">Save rejected or “invalid” hostname</span></div></td><td style="width:66.3954%;height:46.5938px;"><div class="md-table-cell-content">Use a real FQDN; check length and characters (letters, numbers, dots, hyphens per DNS rules).</div></td></tr><tr class="border-border border-b" style="height:29.7969px;"><td style="width:33.6046%;height:29.7969px;"><div class="md-table-cell-content"><span class="font-semibold">Mail still failing PTR checks</span></div></td><td style="width:66.3954%;height:29.7969px;"><div class="md-table-cell-content">Confirm that a record for the PTR name points to <span class="font-semibold">this</span> IP; wait for DNS TTL/propagation.</div></td></tr><tr class="border-border border-b" style="height:29.7969px;"><td style="width:33.6046%;height:29.7969px;"><div class="md-table-cell-content"><span class="font-semibold">Wrong IP / no permission</span></div></td><td style="width:66.3954%;height:29.7969px;"><div class="md-table-cell-content">PTR can only be set for IPs listed under your account on this page.</div></td></tr><tr class="border-border border-b" style="height:29.7969px;"><td style="width:33.6046%;height:29.7969px;"><div class="md-table-cell-content"><span class="font-semibold">Change is slow to show</span></div></td><td style="width:66.3954%;height:29.7969px;"><div class="md-table-cell-content">Global DNS caches can delay what you see; wait and test again with a fresh lookup.</div></td></tr></tbody></table>

</div></div></div>#### Quick checklist

- <span class="ui-checkbox"> [ ] </span> Forward <span class="font-semibold">A</span> (or appropriate record) points hostname → <span class="font-semibold">this IPv4</span>
- <span class="ui-checkbox"> [ ] </span> PTR in the portal is set to <span class="font-semibold">that same hostname</span> (FQDN)
- <span class="ui-checkbox"> [ ] </span> Verified with an external reverse lookup after propagation

# Unblock IP addresses (SPAM and HACK)

#### Overview

We register and operate public IP ranges for customer services. When an address sends mail or traffic that looks like <span class="font-semibold">spam</span>, <span class="font-semibold">bulk abuse</span>, or <span class="font-semibold">compromised-system behaviour</span>, blocklists and peers can flag <span class="font-semibold">our whole network</span>, not just one server.

So we run <span class="font-semibold">automatic protections</span> and sometimes <span class="font-semibold">restrict outgoing mail</span> (for example, blocking <span class="font-semibold">SMTP on port 25</span> from that address) until the problem is understood and fixed. That protects you, our other customers, and deliverability for everyone on our platform.

<span class="font-semibold">**SPAM**-type blocks</span> usually mean our filters saw <span class="font-semibold">messages leaving your server</span> that scored like junk: content, volume, bad list hygiene, weak authentication, or a <span class="font-semibold">compromised</span> mailbox/script relaying mail you did not intend.

<span class="font-semibold">**HACK**-type blocks</span> mean the traffic pattern looks like <span class="font-semibold">abuse from a broken or attacked machine</span>: malware, open relay abuse, scanning, brute-force egress, or similar — not “we didn’t like your newsletter wording” alone.

#### Before you click “Unblock”

Unblocking is <span class="font-semibold">not</span> a reset button. If the cause is still there, you will often be <span class="font-semibold">blocked again</span>, sometimes <span class="font-semibold">longer</span> or with <span class="font-semibold">stricter</span> review.

[![NoCIPDetails.png](https://docs.f2h.cloud/uploads/images/gallery/2026-04/scaled-1680-/nocipdetails.png)](https://docs.f2h.cloud/uploads/images/gallery/2026-04/nocipdetails.png)

##### If this were flagged as SPAM

1. <span class="font-semibold">Stop mail leaving that server</span> — stop or disable the MTA (Postfix, Exim, Sendmail, etc.) until you know what happened.
2. <span class="font-semibold">Drain the queue</span> — inspect and clear stuck mail so nothing fires out the moment you lift the restriction.
3. <span class="font-semibold">Trace the Message-ID</span> (from our alert email, if we sent one) in your logs to see <span class="font-semibold">which</span> messages triggered the block.
4. <span class="font-semibold">Fix the cause</span> — compromised account, misconfigured site form, newsletter tool without unsubscribe, open relay, weak authentication, missing PTRs, etc.
5. <span class="font-semibold">Only then,</span> use <span class="font-semibold">Unblock SPAM</span> in the NOC.

##### If this were flagged as security abuse

1. <span class="font-semibold">Stop the abusive activity</span> — isolate the host if needed.
2. <span class="font-semibold">Patch, rotate passwords/API keys, remove malware</span>, close exposed services, and review firewall rules.
3. <span class="font-semibold">Only then</span> use <span class="font-semibold">Unblock HACK</span> (or the equivalent security unblock action) in the NOC.

#### Unblock in the NOC (IP Address Management)

1. Sign in to the NOC and open <span class="font-semibold">IP Address Management</span>.
2. Find the IPv4 (search, filters, or quick search).
3. Expand the row.
4. Choose <span class="font-semibold">Unblock SPAM</span> or <span class="font-semibold">Unblock HACK</span> as appropriate.
5. Wait a few minutes; network changes are not always instant.

You can only unblock addresses that <span class="font-semibold">belong to your account</span>. If a button is missing or the request fails, the IP may not be in your inventory, or the block type may require a <span class="font-semibold">support ticket</span> with evidence of remediation.

#### What you should do so you don’t get blocked again

##### <span class="font-semibold">Mail authentication &amp; identity</span>

- Set correct <span class="font-semibold">SPF</span>, <span class="font-semibold">DKIM</span>, and <span class="font-semibold">DMARC</span> for the domains you send from.
- Set <span class="font-semibold">PTR (reverse DNS)</span> to a hostname that <span class="font-semibold">matches</span> forward DNS (A/AAAA) for the same IP — see your PTR guide.
- Prefer authenticated submission (<span class="font-semibold">587</span> / <span class="font-semibold">465</span>)\*\* with real credentials\*\*, not anonymous relay paths.

##### <span class="font-semibold">Content &amp; sending behaviour</span> (why “legitimate” mail still trips filters)

- Avoid spammy patterns: <span class="font-semibold">all caps</span> subjects, heavy <span class="font-semibold">promo</span> language, <span class="font-semibold">many links</span> vs little real text, embedded scripts, “too good to be true” offers.
- For any bulk or marketing mail: <span class="font-semibold">clear From</span>, honest <span class="font-semibold">Subject</span>, and a working <span class="font-semibold">unsubscribe</span> for people who didn’t ask or changed their mind.
- Warm up new IPs and don’t blast cold lists from a fresh server.

##### <span class="font-semibold">Volume &amp; operations</span>

- Very high outbound volume: use <span class="font-semibold">dedicated sending IPs</span>, keep <span class="font-semibold">abuse@</span> (or similar) monitored on that domain/range, and don’t mix many unrelated brands on one sending identity unless you know the risk.

##### <span class="font-semibold">After you unblock</span>

- Send a <span class="font-semibold">small test</span> and check headers and blocklist/diagnostic tools.
- If you’re blocked again quickly, assume remediation was incomplete — <span class="font-semibold">do not</span> unblock in a loop without fixing logs and queue first.

#### If you think it’s a mistake

If you’re sure the traffic was legitimate and authentication and content follow normal standards, open a <span class="font-semibold">support ticket</span> with:

- The <span class="font-semibold">IP</span>
- <span class="font-semibold">Approximate time</span> of the block
- <span class="font-semibold">Sample message headers</span> (or Message-ID from our alert) for the mail we classed as problematic

We’ll review whether it was a <span class="font-semibold">false positive</span> and what to adjust.

# Run an RBL check

#### Overview

<p class="callout info">IP Reputation takes time. You, as the owner of an IP address, are responsible for its reputation from the moment the IP is assigned to you. </p>

An <span class="font-semibold">RBL</span> (Real-time Blocklist / DNS blocklist) check asks public blocklist providers whether your <span class="font-semibold">public IPv4</span> is listed. Many mail systems use these lists to decide whether to accept mail. The check in the NOC is a <span class="font-semibold">quick, on-demand</span> snapshot — useful when you are troubleshooting delivery or confirming reputation after a cleanup.

It is <span class="font-semibold">not</span> a full mail-audit or a guarantee that every recipient will accept your mail. Large providers also use their own filters, spam scores, and authentication checks (SPF, DKIM, DMARC, PTR).

#### Where to run it

1. Sign in to the NOC.
2. Open <span class="font-semibold">IP Address Management</span>.
3. Find the IP (search box, service filter on the left, or <span class="font-semibold">Ctrl+K</span> quick jump if your browser supports it).

#### Run the check

To run an RBL check on your IP address.

[![NoCRBLCheck.png](https://docs.f2h.cloud/uploads/images/gallery/2026-05/scaled-1680-/nocrblcheck.png)](https://docs.f2h.cloud/uploads/images/gallery/2026-05/nocrblcheck.png)

##### <span class="font-semibold">From the table (quick action)</span>

Click the <span class="font-semibold">RBL</span> icon on the row for that address. The UI will request a fresh check for that IP.

##### <span class="font-semibold">From the expanded row (detail)</span>

Click the row to expand the <span class="font-semibold">per-IP</span> panel, then use <span class="font-semibold">Run RBL check</span>. Use this when you already have PTR, unblock, or another context open for the same address.

#### Read the result

- If the address is <span class="font-semibold">not</span> on the lists we query, you will see a <span class="font-semibold">clean</span> / <span class="font-semibold">no listing</span> style result (wording may vary slightly in the UI).
- If it <span class="font-semibold">is</span> listed, the UI shows <span class="font-semibold">how many</span> lists reported a hit and may summarize severity.

```
{
  "status": "ok",
  "ip": "51.161.192.72",
  "rbl": {
    "zen.spamhaus.org": "ok",
    "b.barracudacentral.org": "ok",
    "bl.spamcop.net": "ok",
    "psbl.surriel.com": "ok",
    "dnsbl.sorbs.net": "ok",
    "spam.dnsbl.sorbs.net": "ok",
    "all.s5h.net": "ok",
    "ix.dnsbl.manitu.net": "ok",
    "cbl.abuseat.org": "policy"
  },
  "detail": {
    "cbl.abuseat.org": "127.255.255.254 (Error: open resolver; https://check.spamhaus.org/returnc/pub/158.69.169.2/)"
  },
  "summary": {
    "total": 9,
    "listed": 0,
    "errors": 1,
    "policy": 1,
    "clean": 8
  }
}
```

Results update the <span class="font-semibold">RBL</span> summary chips at the top of the page and badges on rows so you can spot problem IPs at a glance.

# Bulk Update PTR Records

#### Overview

Use <span class="font-semibold">Bulk PTR update</span> when you need the <span class="font-semibold">same kind of change</span> on <span class="font-semibold">many IPv4 addresses</span> at once — for example, after a migration, when standardising hostnames for mail servers, or aligning reverse DNS across a range. Single-address changes can stay in the normal row editor or PTR modal.

#### Before you start

- Each <span class="font-semibold">PTR</span> must be a valid <span class="font-semibold">FQDN</span> (for example `<span class="md-inline-path-filename">mail.example.com</span>`, not a single word without a domain).
- Best practice: the hostname you set should have <span class="font-semibold">forward DNS</span> (usually an <span class="font-semibold">A</span> record) pointing to <span class="font-semibold">that same IP</span>, so forward and reverse match.
- Only IPs that appear under <span class="font-semibold">your account</span> in <span class="font-semibold">IP Address Management</span> can be updated. Anything else is rejected as <span class="font-semibold">not yours</span>.
- Maximum <span class="font-semibold">500</span> IP → hostname pairs <span class="font-semibold">per batch</span>. If you have more, split into multiple runs.

#### Open the bulk tool

1. Sign in to the NOC.
2. Open <span class="font-semibold">IP Address Management</span>.
3. Click <span class="font-semibold">Bulk PTR update</span> (toolbar at the top of the main table).

##### Step 1 — Compose

1. In the editor, paste <span class="font-semibold">one pair per line</span>.
2. On each line, put the <span class="font-semibold">IPv4</span> first, then the <span class="font-semibold">hostname</span>, separated by a <span class="font-semibold">space</span>, <span class="font-semibold">tab</span>, or <span class="font-semibold">comma</span>.

[![NoCIPBulk.png](https://docs.f2h.cloud/uploads/images/gallery/2026-04/scaled-1680-/nocipbulk.png)](https://docs.f2h.cloud/uploads/images/gallery/2026-04/nocipbulk.png)

Example:

```
203.0.113.10 mail.example.com
203.0.113.11 smtp.example.com
203.0.113.12,ns1.example.net
```

<div class="composer-message-codeblock" id="bkmrk--1"><div class="ui-code-block"><div class="ui-code-block-content"><div class="ui-scroll-area"><div class="ui-scroll-area__viewport"><div class="ui-scroll-area__content"><div class="ui-default-code ui-code-block-default-code"><div class="ui-default-code__content"><div class="ui-default-code__line"><div class="ui-default-code__line-content">  
</div></div></div></div></div></div></div></div></div></div>3. Use <span class="font-semibold">Paste</span> if you are copying from a spreadsheet or text file. <span class="font-semibold">A sample</span> can show the expected shape if you are unsure. <span class="font-semibold">Clear</span> wipes the editor.
4. Watch the <span class="font-semibold">line counts</span> at the bottom: <span class="font-semibold">valid</span>, <span class="font-semibold">invalid</span>, <span class="font-semibold">not yours</span>, <span class="font-semibold">duplicates</span>. 
    - Fix <span class="font-semibold">invalid</span> lines (bad IP or bad hostname shape).
    - Remove or correct lines marked <span class="font-semibold">not yours</span>.
    - <span class="font-semibold">Duplicates</span>: only one update per IP should win; clean extra lines if the count surprises you.
5. When you have at least one <span class="font-semibold">valid</span> owned line, and you are ready, continue to the next step (<span class="font-semibold">Queue updates</span> or equivalent).

##### Step 2 — Apply

The NOC <span class="font-semibold">queues</span> each change and applies it with <span class="font-semibold">limited concurrency</span> (server-side). You will see:

- A <span class="font-semibold">progress</span> bar and counts for queued, running, succeeded, and failed.
- Optionally <span class="font-semibold">cancel remaining</span> if you need to stop mid-run.

<span class="font-semibold">Do not close the browser tab</span> until the run finishes unless you accept that some rows may still be in flight.

##### Step 3 — Summary

Review <span class="font-semibold">updated</span>, <span class="font-semibold">failed</span>, and <span class="font-semibold">cancelled</span> counts and duration.

- <span class="font-semibold">Retry failed only</span> — runs again for lines that errored (after you fix the underlying issue if needed).
- <span class="font-semibold">Copy failed as CSV</span> — handy for support tickets or a second attempt in a spreadsheet.
- <span class="font-semibold">Close</span> when you are done.

#### Verify

PTR and DNS propagate at different speeds everywhere. After a successful run:

- Use your usual <span class="font-semibold">reverse DNS</span> lookup (or `dig -x` / online checker) on a few addresses.
- Confirm <span class="font-semibold">A</span> records still match the names you set.

---

#### Common issues

<div class="ui-scroll-area" id="bkmrk-what-you-see-what-to"><div class="ui-scroll-area__viewport"><div class="ui-scroll-area__content"><table><thead class="bg-muted/80"><tr class="border-border border-b"><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm">What you see</th><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm">What to do</th></tr></thead><tbody class="divide-y divide-border bg-muted/40"><tr class="border-border border-b"><td><div class="md-table-cell-content">Many <span class="font-semibold">not yours</span></div></td><td><div class="md-table-cell-content">Those IPs are not in your inventory in this screen; fix the list or assign services correctly first.</div></td></tr><tr class="border-border border-b"><td><div class="md-table-cell-content"><span class="font-semibold">Invalid</span> count high</div></td><td><div class="md-table-cell-content">Check for typos, missing dots in FQDNs, or spaces inside the hostname.</div></td></tr><tr class="border-border border-b"><td><div class="md-table-cell-content">Some <span class="font-semibold">failed</span></div></td><td><div class="md-table-cell-content">Open the <span class="font-semibold">API activity</span> toggle to check the logs. Retry failed after fixing DNS or transient errors.</div></td></tr><tr class="border-border border-b"><td><div class="md-table-cell-content">Second batch needed</div></td><td><div class="md-table-cell-content">Stay within <span class="font-semibold">500</span> lines per run; start a new bulk session for the rest.</div></td></tr></tbody></table>

</div></div></div>---

#### Tips

- Sort and dedupe your source file <span class="font-semibold">before</span> pasting to avoid duplicate IP lines.
- For a cutover, update <span class="font-semibold">forward DNS first</span>, then bulk PTR, or do both in close sequence and recheck.
- Keep a copy of the file you pasted — the summary’s export CSV is best for <span class="font-semibold">failures</span>, not always a full audit of successes.

# Move IP Block's Between Servers

#### Overview

<p class="callout info">Currently, you can move IP blocks between **Dedicated Servers** only. IP blocks cannot be moved between virtual servers.</p>

We provide two types of IP subnets: **Fixed** and **Failover**.

**Fixed subnets** are routed directly to your server, and you do not need to reserve any addresses in the block for broadcast or gateway purposes. Although the term *fixed* is used, **this does not mean the block is permanently tied to a single server**. If you have two or more compatible services, you can move a fixed IP block between them as needed.

**Failover subnets** are typically placed into a **vRack**, which allows the IPs to be attached to multiple servers at the same time. Unlike a fixed IP block, which can only be routed to a single server at once, failover IP blocks are designed for **high‑availability (HA)** setups. Failover subnets can only be assigned to servers that are compatible with HA/vRack networking.

#### Move an IP Block

From the NoC, navigate to the server that the IP block is currently assigned to. Open the **Network** tab and wait for the page to fully load. Just below the header, you’ll see the IP block listed along with an option to **move the block to another server (Move IP Block)**

[![NoC-MoveIPBlock.png](https://docs.f2h.cloud/uploads/images/gallery/2026-05/scaled-1680-/noc-moveipblock.png)](https://docs.f2h.cloud/uploads/images/gallery/2026-05/noc-moveipblock.png)

To move the IP block to another compatible service, click **Move IP Block**. In the modal that appears, select the server you want to attach the IP block to, then confirm the change. The dropdown will only display servers that are eligible to receive the IP block. In most cases, this means other servers within the same region, though they do not need to be in the same datacentre.

<p class="callout info">You cannot move an IP Block with vMac's assigned to it. Delete any vMac's before attempting to move an IP Block</p>

[![NoC-MOveIPBlock-1.png](https://docs.f2h.cloud/uploads/images/gallery/2026-05/scaled-1680-/noc-moveipblock-1.png)](https://docs.f2h.cloud/uploads/images/gallery/2026-05/noc-moveipblock-1.png)

After you confirm the move request, a message will appear indicating that the IP block migration has been received. The IP block will be moved to the selected server within **5 minutes**, and it will then appear under the **Network** tab for that server. The associated IP Addon in your client area will also be updated to reflect the new service.

#### Monitor Progress

The migration task will appear on the server that is losing the IP block. Once the block has been successfully moved to the receiving server, the task will update to **Completed**. At that point, the **Network** tab on the receiving server will display the IP block.

[![NoC-MOveIPBlock-Tasks.png](https://docs.f2h.cloud/uploads/images/gallery/2026-05/scaled-1680-/noc-moveipblock-tasks.png)](https://docs.f2h.cloud/uploads/images/gallery/2026-05/noc-moveipblock-tasks.png)

<div id="bkmrk--3"><div>  
</div>  
</div><div id="bkmrk--4">  
</div><div id="bkmrk--5">  
</div>