{"id":1651,"date":"2025-10-26T23:53:04","date_gmt":"2025-10-26T23:53:04","guid":{"rendered":"https:\/\/www.ultrexstaff.com\/?p=1651"},"modified":"2025-10-26T23:53:05","modified_gmt":"2025-10-26T23:53:05","slug":"setting-up-wireguard-vpn-server-on-pfsense-router-and-client-devices","status":"publish","type":"post","link":"https:\/\/www.ultrexstaff.com\/?p=1651","title":{"rendered":"Setting up WireGuard VPN Server on pfSense Router and Client Devices"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">Setting Up WireGuard VPN on pfSense: A Comprehensive Guide<\/h1>\n\n\n\n<p>This guide provides step-by-step instructions for configuring WireGuard VPN on a pfSense router, including detailed explanations of each configuration step.<\/p>\n\n\n\n<p>Created 6\/4\/25 by Andrae<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>pfSense version 2.5.2 or newer<\/li>\n\n\n\n<li>Administrative access to the pfSense web interface<\/li>\n\n\n\n<li>Basic understanding of networking concepts<a href=\"https:\/\/www.ivpn.net\/setup\/router\/pfsense-wireguard\/?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noreferrer noopener\">ivpn.net<\/a><a href=\"https:\/\/deepwiki.com\/mikeroyal\/WireGuard-Guide\/4.3-pfsense-setup-guide?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noreferrer noopener\">deepwiki.com<\/a><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Install the WireGuard Package<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Log in to the pfSense web interface.<\/li>\n\n\n\n<li>Navigate to\u00a0<strong>System > Package Manager > Available Packages<\/strong>.<\/li>\n\n\n\n<li>Search for\u00a0<strong>WireGuard<\/strong>\u00a0and click\u00a0<strong>Install<\/strong>.<\/li>\n\n\n\n<li>Wait for the installation to complete.<a href=\"https:\/\/www.ivpn.net\/setup\/router\/pfsense-wireguard\/?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noreferrer noopener\">ivpn.net<\/a><\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Create a WireGuard Tunnel<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to\u00a0<strong>VPN > WireGuard<\/strong>.<\/li>\n\n\n\n<li>Click\u00a0<strong>Add Tunnel<\/strong>.<\/li>\n\n\n\n<li>Configure the tunnel:\n<ul class=\"wp-block-list\">\n<li><strong>Enable<\/strong>:\u00a0Checked<\/li>\n\n\n\n<li><strong>Description<\/strong>:\u00a0e.g.,\u00a0<code>WireGuard VPN<\/code><\/li>\n\n\n\n<li><strong>Listen Port<\/strong>:\u00a0<code>51820<\/code>\u00a0(default)<\/li>\n\n\n\n<li><strong>Interface Keys<\/strong>:\u00a0Click\u00a0<strong>Generate<\/strong>\u00a0to create a key pair.<\/li>\n\n\n\n<li><strong>Tunnel Address<\/strong>:\u00a0e.g.,\u00a0<code>10.0.0.1\/24<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Click\u00a0<strong>Save<\/strong>.<a href=\"https:\/\/www.ivpn.net\/setup\/router\/pfsense-wireguard\/?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noreferrer noopener\">ivpn.net+1aminrj.com+1<\/a><a href=\"https:\/\/aminrj.com\/posts\/wireguard-pfsense-guide\/?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noreferrer noopener\">docs.netgate.com+6aminrj.com+6mullvad.net+6<\/a><\/li>\n<\/ol>\n\n\n\n<p><strong>Note:<\/strong>&nbsp;The&nbsp;<strong>Tunnel Address<\/strong>&nbsp;defines the internal IP range for the VPN tunnel and is used by WireGuard to route traffic between peers.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Enable the WireGuard Service<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In the\u00a0<strong>WireGuard<\/strong>\u00a0section, click on the\u00a0<strong>Settings<\/strong>\u00a0tab.<\/li>\n\n\n\n<li>Check\u00a0<strong>Enable WireGuard<\/strong>.<\/li>\n\n\n\n<li>Click\u00a0<strong>Save<\/strong>\u00a0and then\u00a0<strong>Apply Changes<\/strong>.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: Assign the WireGuard Interface<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate to\u00a0<strong>Interfaces > Assignments<\/strong>.<\/li>\n\n\n\n<li>Find the newly created WireGuard interface (e.g.,\u00a0<code>tun_wg0<\/code>) and click\u00a0<strong>Add<\/strong>.<\/li>\n\n\n\n<li>Click on the new interface (e.g.,\u00a0<code>OPT1<\/code>) to configure it:\n<ul class=\"wp-block-list\">\n<li><strong>Enable<\/strong>:\u00a0Checked<\/li>\n\n\n\n<li><strong>Description<\/strong>:\u00a0e.g.,\u00a0<code>WG_VPN<\/code><\/li>\n\n\n\n<li><strong>IPv4 Configuration Type<\/strong>:\u00a0<code>Static IPv4<\/code><\/li>\n\n\n\n<li><strong>IPv4 Address<\/strong>:\u00a0e.g.,\u00a0<code>10.0.0.1\/24<\/code><\/li>\n\n\n\n<li><strong>MTU<\/strong>:\u00a0<code>1420<\/code>\u00a0(recommended)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Click\u00a0<strong>Save<\/strong>\u00a0and then\u00a0<strong>Apply Changes<\/strong>.<a href=\"https:\/\/aminrj.com\/posts\/wireguard-pfsense-guide\/?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noreferrer noopener\">zh.wikipedia.org+4aminrj.com+4docs.netgate.com+4<\/a><a href=\"https:\/\/docs.netgate.com\/pfsense\/en\/latest\/recipes\/wireguard-client.html?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noreferrer noopener\">docs.netgate.com+1aminrj.com+1<\/a><\/li>\n<\/ol>\n\n\n\n<p><strong>Clarification:<\/strong>&nbsp;Assigning a static IP ensures consistent routing and firewall rule application, which are crucial for stable VPN operation. WireGuard does not support DHCP for its virtual interfaces.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 5: Configure Firewall Rules<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Allow WireGuard Traffic on WAN<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate to\u00a0<strong>Firewall > Rules > WAN<\/strong>.<\/li>\n\n\n\n<li>Click\u00a0<strong>Add<\/strong>\u00a0to create a new rule:\n<ul class=\"wp-block-list\">\n<li><strong>Action<\/strong>: Pass<\/li>\n\n\n\n<li><strong>Protocol<\/strong>: UDP<\/li>\n\n\n\n<li><strong>Destination Port Range<\/strong>:\u00a0<code>51820<\/code><\/li>\n\n\n\n<li><strong>Description<\/strong>:\u00a0e.g.,\u00a0<code>Allow WireGuard<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Click\u00a0<strong>Save<\/strong>\u00a0and then\u00a0<strong>Apply Changes<\/strong>.<a href=\"https:\/\/docs.netgate.com\/pfsense\/en\/latest\/recipes\/wireguard-ra.html?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noreferrer noopener\">forum.netgate.com+2docs.netgate.com+2mullvad.net+2<\/a><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Allow Traffic from WireGuard Clients<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate to\u00a0<strong>Firewall > Rules > [WireGuard Interface]<\/strong>\u00a0(e.g.,\u00a0<code>WG_VPN<\/code>).<\/li>\n\n\n\n<li>Click\u00a0<strong>Add<\/strong>\u00a0to create a new rule:\n<ul class=\"wp-block-list\">\n<li><strong>Action<\/strong>: Pass<\/li>\n\n\n\n<li><strong>Protocol<\/strong>: Any<\/li>\n\n\n\n<li><strong>Source<\/strong>:\u00a0<code>10.0.0.0\/24<\/code><\/li>\n\n\n\n<li><strong>Destination<\/strong>: Any<\/li>\n\n\n\n<li><strong>Description<\/strong>:\u00a0e.g.,\u00a0<code>Allow WireGuard Clients<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Click\u00a0<strong>Save<\/strong>\u00a0and then\u00a0<strong>Apply Changes<\/strong>.<\/li>\n<\/ol>\n\n\n\n<p><strong>Clarification:<\/strong>&nbsp;The&nbsp;<strong>Source<\/strong>&nbsp;refers to the IP addresses assigned to VPN clients within the tunnel network. For instance, if your tunnel network is&nbsp;<code>10.0.0.0\/24<\/code>, and you&#8217;ve assigned&nbsp;<code>10.0.0.2\/32<\/code>&nbsp;to a client, you would set the source as&nbsp;<code>10.0.0.0\/24<\/code>&nbsp;to encompass all potential client IPs.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 6: Add WireGuard Peers (Clients)<\/h2>\n\n\n\n<p>For each client device:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate to\u00a0<strong>VPN > WireGuard<\/strong>.<\/li>\n\n\n\n<li>Click\u00a0<strong>Edit<\/strong>\u00a0on your tunnel.<\/li>\n\n\n\n<li>Scroll to the\u00a0<strong>Peers<\/strong>\u00a0section and click\u00a0<strong>Add Peer<\/strong>.<\/li>\n\n\n\n<li>Configure the peer:\n<ul class=\"wp-block-list\">\n<li><strong>Enable<\/strong>:\u00a0Checked<\/li>\n\n\n\n<li><strong>Description<\/strong>:\u00a0e.g.,\u00a0<code>Client Device<\/code><\/li>\n\n\n\n<li><strong>Public Key<\/strong>:\u00a0Client&#8217;s public key<\/li>\n\n\n\n<li><strong>Allowed IPs<\/strong>:\u00a0e.g.,\u00a0<code>10.0.0.2\/32<\/code><\/li>\n\n\n\n<li><strong>Persistent Keepalive<\/strong>:\u00a0<code>25<\/code>\u00a0(optional, helps with NAT traversal)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Click\u00a0<strong>Save<\/strong>\u00a0and then\u00a0<strong>Apply Changes<\/strong>.<a href=\"https:\/\/forums.serverbuilds.net\/t\/guide-static-ip-addresses-in-pfsense-static-dhcp\/5779?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noreferrer noopener\">forums.serverbuilds.net<\/a><\/li>\n<\/ol>\n\n\n\n<p><strong>Clarification:<\/strong>&nbsp;The&nbsp;<strong>Allowed IPs<\/strong>&nbsp;setting in WireGuard serves dual purposes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Routing<\/strong>:\u00a0Determines which IP addresses should be routed through the VPN tunnel.<\/li>\n\n\n\n<li><strong>Access Control<\/strong>:\u00a0Specifies which IP addresses a peer is allowed to use.<\/li>\n<\/ul>\n\n\n\n<p>It&#8217;s crucial to assign unique IPs to each peer to prevent routing conflicts.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 7: Configure Outbound NAT (if necessary)<\/h2>\n\n\n\n<p>If you want WireGuard clients to access the internet through the VPN:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate to\u00a0<strong>Firewall > NAT > Outbound<\/strong>.<\/li>\n\n\n\n<li>Select\u00a0<strong>Manual Outbound NAT rule generation<\/strong>\u00a0and click\u00a0<strong>Save<\/strong>.<\/li>\n\n\n\n<li>Click\u00a0<strong>Add<\/strong>\u00a0to create a new rule:\n<ul class=\"wp-block-list\">\n<li><strong>Interface<\/strong>: WAN<\/li>\n\n\n\n<li><strong>Source<\/strong>:\u00a0<code>10.0.0.0\/24<\/code><\/li>\n\n\n\n<li><strong>Translation Address<\/strong>:\u00a0<code>Interface Address<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Click\u00a0<strong>Save<\/strong>\u00a0and then\u00a0<strong>Apply Changes<\/strong>.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 8: Configure DNS (optional)<\/h2>\n\n\n\n<p>To allow VPN clients to resolve DNS:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate to\u00a0<strong>System > General Setup<\/strong>.<\/li>\n\n\n\n<li>Add a DNS server (e.g.,\u00a0<code>10.0.0.1<\/code>\u00a0if using pfSense as DNS resolver).<\/li>\n\n\n\n<li>Uncheck\u00a0<strong>Allow DNS server list to be overridden by DHCP\/PPP on WAN<\/strong>.<\/li>\n\n\n\n<li>Click\u00a0<strong>Save<\/strong>.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 9: Configure WireGuard Client (macOS Example)<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Download and install the official WireGuard app from the\u00a0<a href=\"https:\/\/apps.apple.com\/us\/app\/wireguard\/id1451685025\">Mac App Store<\/a>.<\/li>\n\n\n\n<li>Open the WireGuard app on your Mac.<\/li>\n\n\n\n<li>Click the\u00a0<strong>\u201c+\u201d<\/strong>\u00a0button and select\u00a0<strong>\u201cAdd Empty Tunnel\u201d<\/strong>.<\/li>\n\n\n\n<li>The app will generate a new\u00a0<strong>private key<\/strong>\u00a0and\u00a0<strong>public key<\/strong>.<\/li>\n\n\n\n<li>Assign a unique IP address to your Mac within the VPN tunnel&#8217;s subnet (e.g.,\u00a0<code>10.0.0.2\/24<\/code>).<\/li>\n\n\n\n<li>Set the DNS server to your pfSense router&#8217;s LAN IP (e.g.,\u00a0<code>192.168.1.1<\/code>) or another preferred DNS server.<\/li>\n<\/ol>\n\n\n\n<p>Your configuration should look like:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">iniCopyEdit<code>[Interface]\nPrivateKey = &lt;Your Mac's Private Key&gt;\nAddress = 10.0.0.2\/24\nDNS = 192.168.1.1\n\n[Peer]\nPublicKey = &lt;pfSense WireGuard Public Key&gt;\nEndpoint = &lt;Your pfSense Public IP&gt;:51820\nAllowedIPs = 0.0.0.0\/0\nPersistentKeepalive = 25\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Replace\u00a0<code>&lt;Your Mac's Private Key><\/code>\u00a0with the private key generated by the app.<\/li>\n\n\n\n<li>Replace\u00a0<code>&lt;pfSense WireGuard Public Key><\/code>\u00a0with the public key from your pfSense WireGuard tunnel configuration.<\/li>\n\n\n\n<li>Replace\u00a0<code>&lt;Your pfSense Public IP><\/code>\u00a0with your pfSense router&#8217;s public IP address or dynamic DNS hostname.<\/li>\n<\/ul>\n\n\n\n<p><strong>Clarification:<\/strong>&nbsp;Each client device should have its own unique peer configuration with distinct keys and IP addresses. Sharing a peer configuration among multiple devices can lead to connection instability and security risks.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 10: Test the VPN Connection<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Activate the VPN Connection on Your Client Device<\/strong>:\u00a0Open the WireGuard application on your client device and toggle the switch to activate the VPN tunnel.<\/li>\n\n\n\n<li><strong>Verify the Connection<\/strong>:\n<ul class=\"wp-block-list\">\n<li><strong>Check the Status<\/strong>:\u00a0In the WireGuard app, ensure that the connection status indicates an active tunnel.<\/li>\n\n\n\n<li><strong>Ping the pfSense Router<\/strong>:\u00a0Open a terminal or command prompt on your client device and run:nginxCopyEdit<code>ping 10.0.0.1 <\/code>This tests connectivity to the pfSense router&#8217;s WireGuard interface.<\/li>\n\n\n\n<li><strong>Access Internal Resources<\/strong>:\u00a0Attempt to access internal network resources, such as shared folders or internal websites, to confirm proper routing.<\/li>\n\n\n\n<li><strong>Check Public IP Address<\/strong>:\u00a0Visit\u00a0<a href=\"https:\/\/whatismyipaddress.com\/\">https:\/\/whatismyipaddress.com<\/a>\u00a0to verify that your public IP address matches your home network&#8217;s IP, confirming that internet traffic is routed through the VPN.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Additional Notes and Clarifications<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>One Peer per Client Device<\/strong>:\u00a0It&#8217;s recommended to create a unique peer configuration for each client device. Sharing a peer among multiple devices can lead to connection instability and security concerns.<\/li>\n\n\n\n<li><strong>Static IP Assignment<\/strong>:\u00a0WireGuard operates at Layer 3 and doesn&#8217;t support DHCP. Assigning static IP addresses ensures consistent routing and firewall rule application.<\/li>\n\n\n\n<li><strong>Allowed IPs Configuration<\/strong>:\u00a0In the client configuration, setting\u00a0<code>AllowedIPs = 0.0.0.0\/0<\/code>\u00a0routes all traffic through the VPN (full tunnel). To route only specific traffic (split tunnel), specify the desired IP ranges.<\/li>\n\n\n\n<li><strong>MTU Settings<\/strong>:\u00a0The recommended MTU for WireGuard interfaces is 1420 bytes. This accounts for the overhead introduced by encapsulation and ensures optimal performance.<a href=\"https:\/\/en.wikipedia.org\/wiki\/WireGuard?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noreferrer noopener\">en.wikipedia.org<\/a><\/li>\n\n\n\n<li><strong>DNS Resolution<\/strong>:\u00a0Ensure that the DNS server specified in the client configuration is accessible through the VPN tunnel. This allows for proper domain name resolution when connected.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting Tips<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>No Internet Access<\/strong>:\u00a0Verify that outbound NAT rules are correctly configured to allow VPN clients to access the internet.<\/li>\n\n\n\n<li><strong>Cannot Access Internal Resources<\/strong>:\u00a0Ensure that firewall rules on the WireGuard interface permit traffic to the internal network.<\/li>\n\n\n\n<li><strong>Connection Drops<\/strong>:\u00a0Setting\u00a0<code>PersistentKeepalive = 25<\/code>\u00a0in the client configuration can help maintain the connection, especially when the client is behind NAT.<\/li>\n\n\n\n<li><strong>DNS Issues<\/strong>:\u00a0Confirm that the DNS server specified is reachable and correctly configured to handle queries from VPN clients.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>For more detailed information and advanced configurations, refer to the official pfSense documentation:&nbsp;<a href=\"https:\/\/docs.netgate.com\/pfsense\/en\/latest\/vpn\/wireguard\/index.html\">WireGuard on pfSense<\/a><a href=\"https:\/\/docs.netgate.com\/pfsense\/en\/latest\/vpn\/wireguard\/index.html?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noreferrer noopener\">forum.netgate.com+8docs.netgate.com+8docs.netgate.com+8<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Setting Up WireGuard VPN on pfSense: A Comprehensive Guide This guide provides step-by-step instructions for configuring WireGuard VPN on a pfSense router, including detailed explanations of each configuration step. Created 6\/4\/25 by Andrae Prerequisites Step 1: Install the WireGuard Package Step 2: Create a WireGuard Tunnel Note:&nbsp;The&nbsp;Tunnel Address&nbsp;defines the internal IP range for the VPN [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[121],"tags":[],"class_list":["post-1651","post","type-post","status-publish","format-standard","hentry","category-networking","post-preview"],"_links":{"self":[{"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=\/wp\/v2\/posts\/1651","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1651"}],"version-history":[{"count":1,"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=\/wp\/v2\/posts\/1651\/revisions"}],"predecessor-version":[{"id":1652,"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=\/wp\/v2\/posts\/1651\/revisions\/1652"}],"wp:attachment":[{"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1651"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1651"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ultrexstaff.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1651"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}