This guide provides step-by-step instructions to set up an OpenVPN server in bridge mode on a Raspberry Pi or Linux device. Bridged networking allows VPN clients to appear as if they are on the same local network as the server, enabling seamless communication.
raspi-configBridge Utilities: Install bridge-utils for managing network bridges
⚠️ Critical: Plan Your IP Addressing Before Setup
One of the most common issues with VPN setups is subnet conflicts. When your home network and the remote network you’re connecting from use the same IP range, the VPN will not work properly.
Most home routers use these default IP ranges:
192.168.1.0/24 (192.168.1.1 - 192.168.1.254)192.168.0.0/24 (192.168.0.1 - 192.168.0.254)10.0.0.0/24 (10.0.0.1 - 10.0.0.254)To avoid conflicts, choose a unique private IP range for your home network that is unlikely to be used elsewhere:
Recommended ranges:
10.99.99.0/24 (10.99.99.1 - 10.99.99.254) - Excellent choice, rarely used172.16.100.0/24 (172.16.100.1 - 172.16.100.254) - Good alternative10.11.12.0/24 (10.11.12.1 - 10.11.12.254) - Another good optionIf you choose 10.99.99.0/24 for your home network:
10.99.99.110.99.99.13410.99.99.100 - 10.99.99.19910.99.99.200 - 10.99.99.21010.11.12.0/24 Network (recommended for avoiding conflicts):
10.11.12.110.11.12.210.11.12.100 - 10.11.12.19910.11.12.200 - 10.11.12.210When setting up your VPN, consider these typical scenarios:
192.168.0.1/24 (common in hotels, offices, public WiFi)myvpn-63864.duckdns.orgWhen you connect to your home VPN from a remote location (hotel, office, etc.), if both networks use the same IP range like 192.168.1.0/24, your device won’t know whether to route traffic locally or through the VPN. Using a unique range like 10.99.99.0/24 eliminates this confusion.
Bridge mode is particularly useful for applications like ham radio (e.g., ExpertSDR3), where devices need to communicate as if they are on the same local network. Unlike routed mode, bridge mode allows broadcast and multicast traffic, which is essential for some applications.
If you prefer manual setup or need to enable SSH on an existing installation:
ssh in the boot partition of the SD card
# On Linux/macOS
touch /path/to/boot/ssh
wpa_supplicant.conf in the boot partition:
```conf
country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1network={ ssid=”YourNetworkName” psk=”YourPassword” } ```
# Use nmap to scan your network
nmap -sn 192.168.1.0/24
# Or check your router's admin panel for connected devices
ssh pi@192.168.1.x
# Use the username and password you configured
sudo apt update && sudo apt upgrade -y
sudo raspi-config
/etc/dhcpcd.confsudo raspi-config
sudo systemctl enable ssh
sudo systemctl start ssh
sudo apt install bridge-utils net-tools curl wget -y
Check network configuration:
ip addr show
ip route show
For the complete installation guide including all remaining steps, configuration details, and troubleshooting information, please refer to the full documentation.
For comprehensive troubleshooting information including:
Please visit the Troubleshooting Section in the main documentation.
Found an issue or want to improve this documentation? Please visit our GitHub repository to contribute.
This documentation is available under the MIT License. See the repository for full license details.