<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Routing across an IPSec tunnel]]></title><description><![CDATA[<p dir="auto">I have an issue I'm not quite able to deal with, I've spent many hours trying to debug it but to no avail...</p>
<p dir="auto">Here is the layout of my networks:</p>
<pre><code class="language-plaintext">laptop         10.25.0.51
 |
Site A         10.25.0.0/16
pfsense A      10.25.0.1 on LAN ; 10.200.0.1 on IPSEC_VTI
 ||
 ||
IPSec
 ||
 ||
pfsense B      10.101.0.1 on LAN ; 10.200.0.2 on IPSEC_VTI
Site B         10.101.0.0/16
 |
rocket         10.101.50.11
</code></pre>
<p dir="auto">Nothing special here, the routed IPSec works fine (I had to remove some disabled phase 2 items to make it work btw) and it's possible to reach the servers in Site B from the Site A.</p>
<p dir="auto">However, I need the possibility to access the server <em>rocket</em> inside Site B (<code>10.101.50.11</code>) which acts as a gateway to get access to a set of remote machines (called <em>satellites</em>) that are accessible using fake IPs on the network <code>172.25.0.0/16</code>. For each one of these IPs, the gateway does some NAT and firewalling before sending the packets to the given satellite.</p>
<p dir="auto">I thought that adding a static route to send the packets destined to the fake IPs to the gateway would be enough but I can't make it work...</p>
<p dir="auto">My static routing tables on the pfsense site A:</p>
<pre><code class="language-plaintext">10.101.0.0/16 -&gt; 10.200.0.2
172.25.0.0/16 -&gt; 10.200.0.2
</code></pre>
<p dir="auto">And on site B:</p>
<pre><code class="language-plaintext">10.25.0.0/16  -&gt; 10.200.0.1
172.25.0.0/16 -&gt; 10.101.50.11
</code></pre>
<p dir="auto">So far, through investigation, I've deduced the following:</p>
<ul>
<li>The tunnel starts, and it's possible to access machines on site B from site A (and vice versa). It's for instance possible to directly access <em>rocket</em> using the IP <code>10.101.50.11</code>.</li>
<li>If I ssh into the pfsense B, and run <code>nc 172.35.0.1 5555</code>, I get some output in <code>tcpdump -i any port 5555</code> on <em>rocket</em>.<br />
=&gt; The firewall uses the routing table, and is able to send the packets to <em>rocket</em>.</li>
<li>If I ssh into the pfsense A, and run <code>nc 172.35.0.1 5555</code>, the packets show up on the firewall log in pfsense B but there is no output in tcpdump on <em>rocket</em>. Same if I try to run <code>nc</code> from a laptop in Site A.<br />
=&gt; It looks as if somehow after going through the IPSec, the packets do not follow the static routing but instead get lost by the pfsense B.</li>
<li>I tried the same setup using a policy-based IPSec with exactly the same results.</li>
<li>I also tried swapping the static route <code>172.25.0.0/16 -&gt; 10.101.50.11</code> on the pfSense B with quick floating rules : any packet that have <code>172.25.0.0/16</code> as destination, should be allowed and use <code>10.101.50.11</code> as a gateway, for both the <code>in</code> and <code>out</code> directions. Unfortunately, it still does not work.</li>
</ul>
<p dir="auto">On both sides, I have pfSense 2.6.0. In Site A the hardware is a dedicated firewall, and on Site B, it's a virtual machine hosted by a cloud provider.</p>
<p dir="auto">The weirdest thing is that I have inherited a legacy infrastructure that works perfectly with basically the same setup: Site A is the same firewall as above and the equivalent of site B has a dedicated hardware firewall running pfSense 2.5.2.</p>
]]></description><link>https://forum.netgate.com/topic/176307/routing-across-an-ipsec-tunnel</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 11:42:32 GMT</lastBuildDate><atom:link href="https://forum.netgate.com/topic/176307.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 Dec 2022 23:12:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Routing across an IPSec tunnel on Wed, 07 Dec 2022 08:49:20 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/michmoor">@<bdi>michmoor</bdi></a> 172.25.0.1 is a virtual IP for the satellite, it's routed to rocket which handles the communication with the satellite.</p>
<p dir="auto">Indeed, if I send packets destined to the the satellite from pfsense B they arrive to rocket and get to their destination, but from site A they don't even reach rocket..</p>
]]></description><link>https://forum.netgate.com/post/1073942</link><guid isPermaLink="true">https://forum.netgate.com/post/1073942</guid><dc:creator><![CDATA[corentin.deboisset]]></dc:creator><pubDate>Wed, 07 Dec 2022 08:49:20 GMT</pubDate></item><item><title><![CDATA[Reply to Routing across an IPSec tunnel on Wed, 07 Dec 2022 02:59:13 GMT]]></title><description><![CDATA[<p dir="auto">@corentin-deboisset<br />
so you can ssh to 10.101.50.11 and that works.</p>
<p dir="auto">but you try to ssh to 172.25.0.1 from site A and that doesnt work? Im not following where the satellites come into play.</p>
]]></description><link>https://forum.netgate.com/post/1073924</link><guid isPermaLink="true">https://forum.netgate.com/post/1073924</guid><dc:creator><![CDATA[michmoor]]></dc:creator><pubDate>Wed, 07 Dec 2022 02:59:13 GMT</pubDate></item><item><title><![CDATA[Reply to Routing across an IPSec tunnel on Wed, 07 Dec 2022 00:22:50 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/michmoor">@<bdi>michmoor</bdi></a> I can but only using its own IP (for ssh-ing for instance).</p>
<p dir="auto">If I try to ping/netcat a satellite (ie 172.25.0.1) through the S2S it gives me nothing. The last I hear about the packets is if I run a packet capture on the Site B Lan interface, then they disappear and rocket gets nothing.</p>
<p dir="auto">Here is my log from the capture:</p>
<pre><code class="language-plaintext">00:52:42.283626 IP 10.25.0.51.49247 &gt; 172.25.0.1.5555: tcp 0
00:52:43.284518 IP 10.25.0.51.49247 &gt; 172.25.0.1.5555: tcp 0
00:52:44.281234 IP 10.25.0.51.49247 &gt; 172.25.0.1.5555: tcp 0
</code></pre>
]]></description><link>https://forum.netgate.com/post/1073910</link><guid isPermaLink="true">https://forum.netgate.com/post/1073910</guid><dc:creator><![CDATA[corentin.deboisset]]></dc:creator><pubDate>Wed, 07 Dec 2022 00:22:50 GMT</pubDate></item><item><title><![CDATA[Reply to Routing across an IPSec tunnel on Tue, 06 Dec 2022 23:55:01 GMT]]></title><description><![CDATA[<p dir="auto">So right now you cant access rocket over the S2S?</p>
]]></description><link>https://forum.netgate.com/post/1073907</link><guid isPermaLink="true">https://forum.netgate.com/post/1073907</guid><dc:creator><![CDATA[michmoor]]></dc:creator><pubDate>Tue, 06 Dec 2022 23:55:01 GMT</pubDate></item></channel></rss>