title: Can I make Wireguard VPN peers to talk to each other?
body: <p>I have a server running Wireguard, and I have multiple clients (peers) connected to it up and running. I am not very sure how VPN works, but this is my current setup.</p>
  
  <p>The <code>/etc/wireguard/wg0.conf</code> of my server looks like this.</p>
  
  <pre><code>[Interface]
  Address = 172.16.16.1/24
  SaveConfig = true
  ListenPort = 8999
  PrivateKey = XXX
  
  [Peer]
  PublicKey = XXX
  AllowedIPs = 172.16.16.2/32
  
  [Peer]
  PublicKey = XXX
  AllowedIPs = 172.16.16.3/32
  </code></pre>
  
  <p>And the configuration on my clients <code>wg0.conf</code> looks like this. </p>
  
  <pre><code>[Interface]
  PrivateKey = XXX
  Address = 172.16.16.x/32
  
  [Peer]
  PublicKey = XXX
  AllowedIPs = 172.16.16.0/24
  PersistentKeepalive = 30
  </code></pre>
  
  <p>With everything up and running, from my client with IP address <code>172.16.16.2</code>, I am able to ping the server <code>172.16.16.1</code>. I am able to do the same from my other client with <code>172.16.16.3</code>, I can ping the server  <code>172.16.16.1</code>.</p>
  
  <p>Interestingly, from my server, I am able to ping all the peers! That is, from within <code>172.16.16.1</code>, I can ping both <code>172.16.16.2</code> and <code>172.16.16.3</code>. But that is the prime purpose of the setup!</p>
  
  <p>Now, I want my peers to talk to each other, that is, I must be able to ping <code>172.16.16.2</code> from my other peer <code>172.16.16.3</code> and vice-versa, but this is not working. It says that the network is unreachable. </p>
  
  <p>The idea is, I want it to work like a LAN server, where one server that acts as a gateway, and multiple peers/clients that can talk to each other, and also talk to the server. </p>
  
  <p>Is this possible? If yes, what am I missing?</p>