Skip to content

Networking

General

URLs for checking your public IP address

Routing

Install on x86 systems

  • pfSense — pfSense is a free and open source firewall and router that also features unified threat management, load balancing, multi WAN, and more. Designed for higher-end hardware (x86).
  • OPNsense — Fork of pfSense. Has support for WireGuard.
  • VyOS

Note: Can also set up a Raspberry Pi as a wireless gateway.

Install on routers

  • OpenWRTOpenWRT offers even more fine-grained control than DD-WRT, but that also comes at the price of simplicity. This firmware requires some knowledge to use properly and quite a bit more to make it worthwhile. OpenWRT is best for more technical people who know exactly what they want.
  • Tomato — Supports relatively few devices
  • FreshTomato — Supports relatively few devices. For Broadcom based routers only.
  • DD-WRT — Based on OpenWRT.

For most people, one of these three will support the device you have and give you all of the features you could possibly need. Of the three, DD-WRT is the most well-supported on home routers, and it’s relatively easy to install and set up. Tomato is the most user-friendly, and certainly the most attractive of the three, but it supports the fewest devices. OpenWRT supports the most gear in general, including stuff only a network engineer would use, but its learning curve can be steep. It’s also the most moddable and tweakable, and a good option if you have hardware that’s not supported by anything else. Even so, they’re not your only options by a long shot. [source]

See also:

VPN

OpenVPN

  1. Save your password to a file my-password.txt and add the line askpass my-password.txt to the my-server-name.conf file.
  2. Put all relevant files to the /etc/openvpn folder.
  3. Start a particular VPN client (using systemd) by running sudo systemct start openvpn@my-server-name.
  4. If something is not working, you can monitor openvpn output in the /var/log/syslog file.

Alternatively, you could just run openvpn --config /etc/openvpn/my-server-name.conf.

See also:

Firewall

  • iptables
  • wireguard

Glossary

  • Network bridge — Connects two networks either using software or hardware methods.