Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add VLAN Configuration Guide #1048

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions docs/guides/misc/vlans.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# VLANs and virtual LAN interfaces

This guide will help you configure Pi-hole to operate across defined virtual LAN interfaces on networks with VLANs configured.

## Notes & Warnings
nilsstreedain marked this conversation as resolved.
Show resolved Hide resolved

- This guide is only applicable to distributions using `dhcpcd`, not those utilizing `NetworkManager` or `systemd-networkd`.
- This guide should only be used by users with advanced networking knowledge with networks utilizing VLAN configurations.
- Opening up ports for devices on insecure networks can be dangerous, proceed with caution.
- If you want the device to have static IP addresses or other further network routing configurations, those steps would need to be added based on your specific network setup and requirements.

## Setup VLANs

### Install `vlan` Package

```
sudo apt install vlan
```

### Configure VLAN interfaces

Create network interface configuration file for vlans

```
sudo nano /etc/network/interfaces.d/vlans
```

Add the following for each vlan interface you would like to add, replacing the `<>` brackets:

```
auto <interface>.<vlan id>
iface <interface>.<vlan id> inet manual
vlan-raw-device <interface>
```

For example, configuring VLAN id 8 and 16 on interface eth0 should look like:

```
auto eth0.8
iface eth0.8 inet manual
vlan-raw-device eth0

auto eth0.16
iface eth0.16 inet manual
vlan-raw-device eth0
```

### Restart and test

Restart Device Networking

```
sudo systemctl restart networking
```

Test config for an IP in each VLAN

```
hostname -I
```

Example output:

```
192.168.1.100 192.168.8.1 192.168.16.1
```

### Configure Pi-hole to Listen on the VLAN Interfaces

1. Go to the [Pi-hole admin dashboard](http://pi.hole/admin/)
2. Navigate to **Settings** > **DNS**
3. Under **Interface listening behavior**, choose **Listen on all interfaces** or **Permit all origins** depending on your security preference. More information about these settings can be found [here](https://docs.pi-hole.net/ftldns/interfaces/).
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@ nav:
- 'Troubleshooting': guides/vpn/openvpn/troubleshooting.md
- 'Misc':
- 'Benchmarking': guides/misc/benchmark.md
- 'VLANs': guides/misc/vlans.md
- 'Tor & Pi-hole':
- 'Overview': guides/misc/tor/overview.md
- 'Basic Setup': guides/misc/tor/setup.md
Expand Down