This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| guides:wireguard_multilan_tunnels [2024/12/17 12:09] – [Install NPM, but with a twist] techiem2 | guides:wireguard_multilan_tunnels [2024/12/17 13:20] (current) – [Route Services using NPM] techiem2 | ||
|---|---|---|---|
| Line 198: | Line 198: | ||
| ==== Test the Setup ==== | ==== Test the Setup ==== | ||
| Make sure you've restarted the firewall services if necessary, then start Wireguard: | Make sure you've restarted the firewall services if necessary, then start Wireguard: | ||
| - | wg-quick up wg0\\ | + | < |
| You should see it bring up the interface and add routes and whatnot.\\ | You should see it bring up the interface and add routes and whatnot.\\ | ||
| To view the status run:\\ | To view the status run:\\ | ||
| - | wg show\\ | + | < |
| On clients this should show the connection information and stats.\\ | On clients this should show the connection information and stats.\\ | ||
| On the server it should have a section for each client. | On the server it should have a section for each client. | ||
| Line 208: | Line 208: | ||
| Make sure you can ping the Wireguard IPs back and forth from clients to server and clients to other clients.\\ | Make sure you can ping the Wireguard IPs back and forth from clients to server and clients to other clients.\\ | ||
| Once you have verified, you can configure the system to automatically start the connection on boot" | Once you have verified, you can configure the system to automatically start the connection on boot" | ||
| - | systemctl enable wg-quick@wg0\\ | + | < |
| ==== Enable Cross LAN Routing ==== | ==== Enable Cross LAN Routing ==== | ||
| Line 255: | Line 255: | ||
| 2. Web services (Proxy Hosts) need a hostname and ideally an SSL Certificate.\\ | 2. Web services (Proxy Hosts) need a hostname and ideally an SSL Certificate.\\ | ||
| In my case I have a specific domain that I use for external access services, but you could just use subdomains of any domain you control.\\ | In my case I have a specific domain that I use for external access services, but you could just use subdomains of any domain you control.\\ | ||
| - | The general process is to point a subdomain to the IP of the VPS, create the forwarding host in NPM, and have NPM use LetsEncrypt to generate | + | The general process is to point a subdomain to the IP of the VPS, create the forwarding host in NPM, and have NPM use LetsEncrypt to generate |
| The LetsEncrypt client supports a number of verification methods, including DNS based verification. | The LetsEncrypt client supports a number of verification methods, including DNS based verification. | ||
| Since I use a dedicated domain for my public access hosts, I moved the DNS management of that domain to Cloudflare and had NPM use DNS verification with LetsEncrypt via the Cloudflare API plugin to generate a wildcard cert for my domain so I don't have to generate a new cert for each subdomain - I just add the DNS entry for the new subdomain then configure the host in NPM using the existing certificate.\\ | Since I use a dedicated domain for my public access hosts, I moved the DNS management of that domain to Cloudflare and had NPM use DNS verification with LetsEncrypt via the Cloudflare API plugin to generate a wildcard cert for my domain so I don't have to generate a new cert for each subdomain - I just add the DNS entry for the new subdomain then configure the host in NPM using the existing certificate.\\ | ||