<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Masonry &#8211; Kliment Andreev</title>
	<atom:link href="https://www.andreev.it/category/masonry/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.andreev.it</link>
	<description>Something about me...</description>
	<lastBuildDate>Sat, 07 Jan 2023 14:06:22 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>pfSense: Mobile VPN clients (Windows 10, iPhone, Ubuntu Linux, Mac OS X, Android, Linux CLI and FreeBSD)</title>
		<link>https://www.andreev.it/2016/06/06/pfsense/</link>
					<comments>https://www.andreev.it/2016/06/06/pfsense/#respond</comments>
		
		<dc:creator><![CDATA[klimenta]]></dc:creator>
		<pubDate>Mon, 06 Jun 2016 11:27:49 +0000</pubDate>
				<category><![CDATA[Masonry]]></category>
		<category><![CDATA[Article]]></category>
		<category><![CDATA[Constructions]]></category>
		<guid isPermaLink="false">http://demo.goodlayers.com/infinite/?p=1669</guid>

					<description><![CDATA[Lately, I was playing with pfSense trying to access my internal resources from outside (mostly my Plex server) so I made this tutorial on how to access my home network. I&#8217;ve used the official howto from pfSense, but it&#8217;s a little bit outdated and it doesn&#8217;t cover Linux/FreeBSD non-GUI, so there are some changes that [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Lately, I was playing with pfSense trying to access my internal resources from outside (mostly my <a href="https://www.plex.tv/" target="_blank" rel="noopener noreferrer">Plex </a>server) so I made this tutorial on how to access my home network. I&#8217;ve used the official <a href="https://doc.pfsense.org/index.php/IKEv2_with_EAP-MSCHAPv2" target="_blank" rel="noopener noreferrer">howto </a>from pfSense, but it&#8217;s a little bit outdated and it doesn&#8217;t cover Linux/FreeBSD non-GUI, so there are some changes that I&#8217;ve made. I&#8217;ll be using <strong>IPsec IKEv2 AES256/SHA256/MSChapV2/DH14</strong> on the pfSense side (strongSwan IPsec implementation) and the clients will use various VPN clients.<br />
There are a lot of different versions of VPN IPsec implementation, so even the slightest updates can make the VPN fail. I&#8217;ll write the version of the server/client for each configuration, so you&#8217;ll know that it works. If you are using different versions of the OS or the client, it might not work. I will use only one pfSense config for all mobile clients. Unfortunately, pfSense does not support multiple mobile clients configs as of 2.4.2.<br />
How this works? Each client will receive a certificate and a username and a password. The certificate is the same for all clients, but the username/password is not.</p>
<h1>pfSense 2.4.2</h1>
<p>In order for the VPN config to work we&#8217;ll need a Certificate Authority (CA) and a server certificate. If you have them already, then you can skip the following three parts, if not, I&#8217;ll show you how to create them.</p>
<h2>pfSense FQDN</h2>
<p>Check your FQDN first under <strong>System | General Setup</strong>. This is what I have as FQDN and I&#8217;ll use this FQDN later in my certificate and in my client&#8217;s config.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2018/03/P100-01.png"><img decoding="async" loading="lazy" src="https://blog.andreev.it/wp-content/uploads/2018/03/P100-01.png" alt="" width="1141" height="277" class="aligncenter size-full wp-image-8119" /></a></p>
<h2>pfSense CA (Certificate Authority)</h2>
<p>From the pfSense menu go to <strong>System | Cert. Manager</strong>. Click on <strong>Add </strong>and then you can choose to <strong>Import an existing Certificate Authority</strong> or <strong>Create an internal Certificate Authority</strong>. In my home lab I already have an existing CA (see <a href="https://blog.andreev.it/?p=3334" target="_blank" rel="noopener noreferrer">this link</a> on how to create your own CA), but for this post, I&#8217;ll create a new CA. Enter a <strong>Descriptive Name</strong> for the CA and choose to <strong>Create an internal Certificate Authority</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2018/03/P100-02.png"><img decoding="async" loading="lazy" src="https://blog.andreev.it/wp-content/uploads/2018/03/P100-02.png" alt="" width="1146" height="197" class="aligncenter size-full wp-image-8120" /></a><br />
Under the <strong>Internal Certificate Authority</strong> section , fill out the values that suit your home/lab/company. In my case, I used <strong>2048 </strong>for <strong>Key length (bits)</strong> and <strong>sha256 </strong>for <strong>Digest Algorithm</strong>. Enter the <strong>Lifetime</strong> of the CA, I used 3650 days which is 10 years and fill out the rest of the form. Make sure to use your FQDN for the <strong>Common Name</strong>. For example, my pfSense box has an external IP assigned to the WAN interface which is 1.2.3.4. Also, somewhere in my DNS, I resolve this IP to mysweethome.mysweetdomain.com. You have to put mysweethome.mysweetdomain.com for <strong>Common Name</strong>.<br />
<a href="https://blog.andreev.it/wp-content/uploads/2018/03/P100-03.png"><img decoding="async" loading="lazy" src="https://blog.andreev.it/wp-content/uploads/2018/03/P100-03.png" alt="" width="1166" height="551" class="aligncenter size-full wp-image-8121" /></a></p>
<p>This is just a sample. The original post is <a href="https://blog.andreev.it/2018/03/123-pfsense-mobile-vpn-clients-windows-10-iphone-linux-mac-os-x-android/" rel="noopener" target="_blank">here</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.andreev.it/2016/06/06/pfsense/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
