# Ben's Corner

View page source on GitHub

# Setting Up Static IPs and DNS

I want machines on my network to be able to talk to each other via hostnames (fqdns). Here’s how I set that up.

## Router

On my local router (a TP-Link Archer C3150), I set up static IPs for each device. The right menu is located from

Advanced Tab at the top -> Network button to the left -> DHCP Server beneath Network

Static IPs must be in the local LAN (192.168.0.1/24 for me from the Network -> LAN menu) and I prefer them not to be in the DHCP pool either (192.168.0.100-200). So I gave my devices some static IPs starting from 192.168.0.201. This does limit me to 54 devices.

I had to reset the router before pinging the static IPs would work.

## Registrar

Next is setting up DNS entries on my Registrar. I use NameCheap and finding the menu for this wasn’t too hard:

Manage To the left of the selected domain -> Advanced DNS at the top -> Add New Record

I added an A : lin01.bbkane.com -> 192.168.0.203 record with an auto TTL (which for some reason is 1701 right now…).

At this point, I’m able to ping a host by the new fully qualified domain name.

NOTE: because these fqdns are publicly available, they present security risks:

• Someone could see what devices I have by inspecting DNS
• I could connect to the wrong host while connected to someone else’s private network.

For my use case, both of these risks are acceptable.

## Device

This part isn’t strictly necessary, but it is nice.

### Mac

For some reason, one of these commands failed…

➜  ~  sudo scutil --set LocalHostName mac01.bbkane.com.local
SCPreferencesSetLocalHostName() failed: Invalid argument


### Linux

$hostnamectl set-hostname lin01.bbkane.com$ systemctl reboot