Setting up a Home Router

From Alpine Linux
This material needs expanding ...

To include information on ipv6

This HowTo is written to indicate the basics necessary to get a simple router set up for a network. Unlike most HowTos, this will not form an exhaustive list of instructions, as a home router is not one piece of software, and not every piece of software listed here will be relevant to your specific requirements. Moreover, the individual pieces of software themselves, in particular firewalls, require configuration which requires documentation in their own right.

As such this HowTo will indicate the relevant pieces of software, and link to the corresponding documentation. It will also contain some more general guidance.

Before You Start

You should know

This article presumes that you are familiar with the fundamentals of IP networks. In particular you should have a good understanding of the terms:

  • IP Address
  • Address Mask
  • Subnet
  • CIDR (Notation of the form 192.168.1.0/24)

Enable Routing and Set Up Routes

The clue is in the name that routing is at the heart of what a router does.

To enable routing, you will need to add a line net.ipv4.ip_forward=1 to the file /etc/sysctl.conf and then run sysctl -p with administrative privileges.

If you have subnets managed by their own routers in your network, you may need to add static routing.

Dynamic routing is an advanced topic which goes beyond the range of this HowTo.

Configuring Network Interfaces

Generally speaking, routers are in charge of their own IP addresses, as such you will need to understand how to configure static IP addresses on the interfaces.

Connecting to the Internet - pppd

Warning: If you are planning on connecting your router directly to the internet, you should have a firewall in place. See next section.


If you are looking to connect your router directly to the internet without using the router from your ISP, then you will need to configure pppd. The documentation for pppd can be found here.

On a practical note, it is helpful to download pppd and your firewall of choice using your ISPs provided router and configure them prior to connecting your home-made router to the internet directly.

Firewalls

Firewalls At the time of writing, there are three main firewall options available of which the author is aware:

DHCP Server

A DHCP server is responsible for assigning dynamic IP addresses to computers attached to your network.

If your network is small enough, and the constituent computers do not change regularly, you might consider sticking with static (manually) assigned IP addresses. However, beyond a certain size and/or if you have changing members of your network (for example, house guests using your wi-fi), then DHCP becomes quite important.

The only DHCP server that the author was able to install and operate from the default repositories at the time of writing was dnsmasq.

Hosting Wi-Fi

See How to setup a wireless access point.