Design and Configuration of Secure Networks and VPN

Network infrastructure: WireGuard, OpenVPN, Tailscale, BGP routing, VLAN segmentation, SD-WAN. Design and configuration of secure corporate networks.
Showing 30 of 68All 1054 services
IPv4/IPv6 routing setup on servers
Medium
from 4 hours to 2 days

Our competencies:

Frequently Asked Questions

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1359
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1330
  • B2B Advance company logo design
    B2B Advance company logo design
    776
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1077
  • AIDER company logo development
    AIDER company logo development
    1022
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1112

Why WireGuard Mesh Beats Hub-and-Spoke?

Two offices, three cloud VPCs, a dozen developers with laptops — none can reach the production database without exposing SSH to the internet. Classic OpenVPN with a central server turns into a bottleneck: all traffic passes through the hub, latency spikes, and when the server fails, the whole network collapses. We design and configure secure networks that eliminate single points of failure.

WireGuard is a minimalistic VPN protocol (~4000 lines of code in the Linux kernel). No traditional handshake — cryptokey routing based on public keys. Mesh topology connects each node directly, bypassing the central hub. Latency between nodes in the same data center is 0.2–0.5 ms instead of 2–5 ms via hub-and-spoke. For WAN connection EU–USA: 85 ms vs 170 ms through a European hub. WireGuard is 3x faster than OpenVPN on typical hardware.

How to Configure WireGuard Mesh in 5 Steps

  1. Install WireGuard on each node (apt install wireguard or kernel module).
  2. Generate key pairs: wg genkey | tee privatekey | wg pubkey > publickey.
  3. Define interface — IP address, listen port (default 51820).
  4. Add peers — each node gets a [Peer] block with remote public key, endpoint, and allowed IPs.
  5. Enable IP forwarding and NAT (PostUp/PostDown rules) if nodes need to route between subnets.

Basic configuration for a three‑node mesh:

# /etc/wireguard/wg0.conf on node-1 (10.10.0.1) [Interface] PrivateKey = <node1-private-key> Address = 10.10.0.1/24 ListenPort = 51820 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE [Peer] # node-2 PublicKey = <node2-public-key> AllowedIPs = 10.10.0.2/32 Endpoint = 203.0.113.2:51820 PersistentKeepalive = 25 [Peer] # node-3 PublicKey = <node3-public-key> AllowedIPs = 10.10.0.3/32 Endpoint = 203.0.113.3:51820 PersistentKeepalive = 25 

PersistentKeepalive = 25 — keepalive every 25 seconds. Required for nodes behind NAT; without it, the UDP session in the NAT table expires. Not needed for nodes with public IP.

AllowedIPs simultaneously acts as routing and ACL. WireGuard drops a packet if the peer’s source IP does not match its AllowedIPs — cryptokey routing, not a classic firewall.

When manual management becomes impractical Manually managing N*(N-1)/2 pairs for 50 nodes is 1225 configuration blocks. Orchestrators solve this:
  • Netmaker — self-hosted, REST API, dynamic endpoints. Agent pulls configuration via wg syncconf. Stores topology in SQLite/PostgreSQL.
  • Headscale — open‑source control plane for Tailscale clients. Deploy on your infrastructure; clients get keys and routes from Headscale.
  • Tailscale SaaS — quick onboarding: from installation to a working VPN in 5 minutes. For compliance environments we prefer self‑hosted.

Configuring WireGuard with an orchestrator is a standard project: we design the topology, set up the control plane, connect the nodes. The entire turnkey process — from audit to go‑live.

What to Do When NAT Prevents Direct Connection

WireGuard uses a STUN‑like mechanism for NAT traversal. If both peers are behind double NAT (CGNAT from ISP), direct connection fails — traffic goes through a relay (e.g., DERP in Tailscale). This increases latency to hub‑and‑spoke levels. Diagnostics:

wg show wg0 wg show wg0 latest-handshakes wg set wg0 peer <pubkey> endpoint <new-ip>:51820 

If latest-handshakes shows 2+ minutes ago during active traffic — UDP is blocked by firewall or endpoint rotation is broken. Check tcpdump -i eth0 udp port 51820. We guarantee correct firewall rules and optimal relay selection.

When OpenVPN Is Still Relevant

OpenVPN is 2–4 times slower than WireGuard on typical configurations, heavier to configure, but works over TCP 443 (masquerading as HTTPS) and is supported on legacy equipment (old routers, industrial controllers). For site‑to‑site with outdated devices it’s the only option. We evaluate your project and propose an optimal migration strategy. OpenVPN community documentation confirms compatibility with devices running kernel versions below 3.10.

How BGP Helps Manage Traffic Between Data Centers and Clouds

BGP in a private network isn’t just for internet routing. It enables:

  • Anycast — one IP announced from multiple locations. DNS, CDN, load balancing at routing level.
  • MetalLB in Kubernetes — establishes a BGP session with the physical router and announces the VIP of a new LoadBalancer service. The router adds the route directly — no DNAT.
# MetalLB BGP peer apiVersion: metallb.io/v1beta2 kind: BGPPeer metadata: name: core-router namespace: metallb-system spec: myASN: 64512 peerASN: 64511 peerAddress: 10.0.0.1 keepaliveTime: 30s holdTime: 90s routerID: 10.0.1.100 

Cilium with eBPF can announce Pod CIDR and Service VIP via BGP directly, replacing kube-proxy. Packets go without VXLAN/Geneve — less overhead. Using BGP anycast reduces DNS query latency by 30%, saving approximately $1,500/month on cloud egress in typical multi‑region deployments.

VLAN Segmentation: When Bare Metal Does Not Forgive Negligence

Basic segmentation for production:

VLAN ID Purpose
Management 10 IPMI, iDRAC, network devices
Production 20 Applications
Staging 30 Test environments
Storage 40 Ceph, NFS, iSCSI — MTU 9000
DMZ 50 Public reverse proxies

Storage VLAN with MTU 1500 loses 20–30% throughput on Ceph due to fragmentation. At 25 Gbps, the difference between 1500 and 9000 bytes is not just a metric — it’s money. Proper segmentation can save up to $2,000/month on cloud bandwidth costs for medium‑sized deployments.

What’s Included (Deliverables)

Stage Result
Audit of current topology Network diagram, list of issues, bottlenecks
Design of target architecture Schematic diagram, stack selection (WireGuard / BGP / VLAN, etc.)
VPN infrastructure configuration Ready WireGuard / OpenVPN configs, orchestrators
Segmentation implementation VLAN, ACL, firewall policy configuration
Kubernetes integration MetalLB, Cilium, BGP session
Documentation Runbook, diagram, command list
Knowledge transfer Team training (1 hour, 1-2 sessions)
Warranty support 2 weeks after implementation (optional extension)

Typical Mistakes in WireGuard Configuration

  • No PersistentKeepalive for nodes behind NAT — connection drops every 2-3 minutes.
  • Too broad AllowedIPs (e.g., 0.0.0.0/0) — all traffic goes through VPN, even though only certain subnets are needed.
  • PostUp/PostDown not configured for forwarding and NAT — packets are not routed.
  • Hub‑and‑spoke chosen for a large number of nodes — cheap but quickly becomes a bottleneck.

Timelines and Cost

Task Timeline
WireGuard mesh (up to 10 nodes) 1–3 days
WireGuard + orchestration (Netmaker/Headscale) 3–5 days
BGP + MetalLB in cluster 2–4 days
VLAN segmentation + policies 3–7 days
Full multi‑site architecture 2–4 weeks

Cost is calculated individually after audit. For an average project, the investment pays off in 3–6 months by reducing downtime and cloud expenses.

We will evaluate your current network and propose an architecture that won’t lag. With 7+ years of network engineering experience and over 50 completed projects, we deliver reliable results. Contact us — we’ll send a self‑audit checklist and arrange the first meeting. Get a consultation today to discuss your specific requirements.