Selamlar arkadaşlar bu yazımda sizlere PFSense to PFSense – Peer-to-peer VPN bağlantısının nasıl yapıldığını anlatacağım.
İhtiyacımız olan cihazlar :
1 – Server PFSense
2 – Client PFSense
3 – Client2 PFSense
2 Adet Ubuntu cihazınız olmalı ve yaptığınız VPN bağlantısından sonra bu cihazlar arasında ping atabilmelisiniz.
Bu cihazlara bağlanmak adına bir adet Ubuntu açabilirsiniz ya da WAN bacağından any any izinler vererek arayüzlerine o şekilde de ulaşabilirsiniz.
Tunnel Network için ise belirlediğim ip adresi : 192.168.70.0/24‘dür.
PFSense ayarlamaları işe şu şekilde :
– PFSense Server :
IP Adress ayarları yukarıdaki gibidir. 192.168.40.10-20 arasında LAN bacağından DHCP IP dağıtmaktadır.
-PFSense Client :
IP Adress ayarları yukarıdaki gibidir. 192.168.10.10-20 arasında LAN bacağından DHCP IP dağıtmaktadır.
– PFSense Client2 :
IP Adress ayarları yukarıdaki gibidir. 192.168.20.10-20 arasında LAN bacağından DHCP IP dağıtmaktadır.
Configurations :
– PFSense Server tarafında ilk olarak CA (Certificate Authority) oluşturacağız :
System > Cert. Manager yolunu izliyoruz.
CAs tabına geliyoruz ve +Add tuşuna basıyoruz.
Create / Edit CA alanının altında Descriptive name alanına SERVER-CA açıklamasını yazdım. Method olarak Create an internal Certificate Authority‘yi seçtim ve Trust Store alanında ki işareti işaretledim.
Internal Certificate Authority alanında ise Common Name belirlememiz zorunludur. Ben SERVER-CA olarak belirledim. Diğer standartları da doldurduktan sonra Save tuşuna basmalısınız.
– PFSense Server tarafında Server ve Client’lar için Sertifika oluşturacağız :
System > Cert. Manager yolunu izliyoruz.
Certificates tabına geliyoruz ve +Add/Sign tuşuna basıyoruz.
Server Sertifikası Oluşturma :
Add/Sign a New Certificate alanında Method olarak Create an internal Certificate alanını seçiyoruz ve Descriptive Name alanına açıklama giriyoruz. Ben SERVER-CER girdim.
Internal Certificate alanında Certificate Authority alanında ise oluşturmuş olduğumuz SERVER-CA‘yi seçiyoruz ve Common Name alanına ise SERVER-CER yazıyoruz.
Certificate Attributes alanında ise Certificate Type alanına Server Certificate seçiyoruz ve ardından Save tuşuna basarak kayıt ediyoruz.
Client Sertifikası Oluşturma :
Add/Sign a New Certificate alanında Method olarak Create an internal Certificate alanını seçiyoruz ve Descriptive Name alanına açıklama giriyoruz. Ben client-cer girdim.
Internal Certifica alanında Certificate Authority alanında ise oluşturmuş olduğumuz SERVER-CA‘yi seçiyoruz ve Common Name alanına ise client-cer yazıyoruz.
Certificate Attributes alanında ise Certificate Type alanına User Certificate seçiyoruz ve ardından Save tuşuna basarak kayıt ediyoruz.
Daha sonra aynı işlemleri client2-cer içinde yapıyoruz ve kayıt ettikten sonra elimizde 3 adet sertifikamız oluyor.
– PFSense Server tarafında Peer-to-peer OpenVPN Kurulumu :
VPN > OpenVPN alanını izliyoruz.
Servers tabına tıklıyoruz ve +Add tuşuna basıyoruz.
General Information alanında Server Mode olarak Peer to Peer (SSL/TLS) seçiyoruz. Protocol olarak UDP on Ipv4 only, Device Mode olarak tun – Layer 3 Tunnel Mode, Interface olarak WAN seçiyoruz. Local Port kısmında isteğinize bağlı olarak değiştirilebilir ancak ben 1194‘de bırakıyorum. Description alanına ise SERVER-VPN yazıyorum.
Cryptographic Settings alanında TLS Configuraion alanında bulunan 2 alan işaretlenir, Peer Certificate Authority alanında SERVER-CA seçiyoruz ve Server Certificate alanında ise SERVER-CER‘i seçiyoruz. Diğer alanları olduğu gibi bırakıyorum.
Tunnel Settings alanında Ipv4 Tunnel Network alanında 192.168.70.0/24 olarak belirlediğimiz Tunnel IP adresini giriyoruz. Ipv4 Local Network(s) ve Ipv4 Remote Network(s) alanlarına ise belirlediğimiz tüm ağları yazıyoruz. Ör : 192.168.40.0/24,192.168.10.0/24,192.168.20.0/24,192.168.70.0/24
Tunnel Settings alanında Inter-client Communication ve Duplicate Connection alanındaki alanları işaretliyoruz.
Advanced Configuration alanında ise Gateway Creation alanında Ipv4 Only seçiyoruz ve Save diyerek kayıt ediyoruz.
Bu şekilde OpenVPN ayarlamalarımızı yapmış oluyoruz.
– PFSense Server Client Specific Overrides ayarları :
Bu ayar sayesinde Client ve Client2 PFSense‘imizin altında bulunan Ağ’ları belirlemiş oluyoruz ve bu bilgiler ile Route tabloları oluşturuluyor.
VPN > OpenVPN > Client Specific Overrides yolunu izliyoruz ve +Add tuşuna basıyoruz.
General Information altında Server List kısmından ayarladığımız OpenVPN Server‘ı seçiyoruz. Common Name‘e ise client-cer ile Sertifika oluştururken verdiğimiz ismi veriyoruz. ve Description yazıyoruz.
Tunnel Settings altında ise Ipv4 Remote Network\s altına Client‘ın altında bulunan Ağ adresini yazıyoruz. Benim ağımın adresini 192.168.10.0/24 olarak yazdım ve sonrasa Save ile kayıt ediyorum.
Daha sonra aynı adımları Client2 için yapıyoruz ve yukarıdaki gibi alanlarımız oluşuyor.
– PFSense Client ve Client2’de Peer-to-peer ayarlamaları :
PFSense Serverda oluşturulan Sertifikaları Client ve Client2’ye taşıma :
Bunları taşırken Hem CAs altındaki hemde Certificates altındaki sertifikaları taşımalıyız.
PFSense Server tarafında System > Cert. Manager yolunu izleyin. Daha sonra CAs ve Certificates alanında bulunan sertifikalara çift tıklayarak açın.
Descriptive name, Certificate data ve Certificate Private Key (Optional) alanları kopyalayın.
PFSense Client ve Client2‘de System > Cert. Manager yolunu izleyin ve Sertifikanızın alanına giderek +Add tuşuna basın.
Daha sonra Method kısmını Import an existing Certificate Authortiy ve Import an existing Certificate olarak değiştirerek CAs ve Certificates‘deki sertifikaları ekleyin.
Bu sayede CAs alanında ve
Certificates alanlarına Sertifikalar koymuş oluyoruz. PFSense Client2‘de de aynı işlemi yapmalısınız. Ben işlemi Client üzerinde yaptığım için sadece client-cer gözükmektedir.
Menülerden VPN > OpenVPN sekmelerini izliyoruz.
Clients tabına geliyoruz ve +Add tuşuna basıyoruz.
General Information altnda Server Mode : Peer to Peer (SSL/TLS), Protocol : UDP on Ipv4 only, Device Mode : tun – Layer3 Tunnel Mode, Interface : WAN olarak seçilir. Server host or address alanına ise PFSense Server WAN adresi yani 10.0.102.226 girilir. Server Port belirlenen port yazılır ama bende 1194 default porttur. Description‘ıda son olarak ekleyebilirsiniz.
Cryptographic Settings alanında ise TLS Configuration altında bulunan Use a TLS Key işaretlenir ancak Automatically Generate a TLS Key alanında ki işaret kaldırılarak TLS Key alanın açılması sağlanır.
Buraya yazacağımız TLS Key‘i ise PFSense Server‘da VPN > OpenVPN altında bulunan SERVER-VPN Description’ına sahip ayara tıklayarak ve içerisindeki alanlardan TLS Key kısmını kopyalarız ve bu alana yapıştırırız.
Peer Certificate Authority alanına ise eklediğimiz SERVER-CA‘yi, Client Certificate‘de ise client-cer‘i seçeriz. Daha sonra Save ile kayıt ederek ayarlamalarımızı tamamlarız.
Bu sayede Client ayarımız tamamlanmış olur ve yukarıdaki şekilde gördüğünüz gibi eklenmiş olacaktır.
Bu ayarları aynı şekilde Client2 içinde yapmanız gerekmektedir.
– PFSense Server, Client ve Client2’nin OpenVPN Durumlarını Kontrol Etmek :
Bağlantıların oturup oturmadığını görmeniz için ise Status > OpenVPN yolunu izleyebilirsiniz.
ÖNEMLİ NOT : Firewall > Rules altında OpenVPN alanlarında ANY ANY Rule oluşturmayı unutmayın yoksa Ubuntularınızdan Ping atamazsınız.
Örnek olarak Rule‘u yukarıda görebilirsiniz.
Umarım yararlı bir yazı olmuştur. Sorularınız olursa yorumlar kısmından yazmayı ihmal etmeyin. Destekleriniz içinde şimdiden çok teşekkür ederim. Herkese kolaylıklar dilerim.