Part 7 sonrası pratik bir ihtiyaç çıktı: lab evde dururken ben uzaktan çalışacaktım. pfSense’i internete açmak istemediğim için Tailscale kullandım.

Buradaki güvenlik kuralım basit: pfSense web UI, SSH veya Wazuh dashboard public internete açılmayacak.


Ne İnşa Ettim?

pfSense:       Tailscale subnet router
Advertised:    10.10.0.0/16
Clients:       Mac and phone
Recovery:      Proxmox üzerinde ayrı Tailscale node
Inbound ports: public internet'e açık yok
pfSense Tailscale subnet router olarak görünüyor.
Tailscale interface lab network'lerine kontrollü geçiş veriyor.
Wazuh mobile data üzerinden Tailscale ile erişilebilir.


Neden Önemli?

CGNAT, inbound WireGuard veya port forwarding işini zorlaştırıyor. Tailscale ile public inbound port açmadan lab’e kendi cihazlarımdan erişebiliyorum.

Proxmox’a ayrıca Tailscale kurmamın sebebi de bu: pfSense bir VM. pfSense veya subnet router bozulursa hypervisor’a ayrı bir out-of-band erişim yolum olmalı.


Topoloji Kesiti

Remote Mac / phone
       |
   Tailscale
       |
pfSense tailscale0
       |
10.10.0.0/16 lab VLANs

Proxmox ayrıca kendi Tailscale node’u olarak duruyor; bu, pfSense VM kapansa bile hypervisor recovery yolunu koruyor.


Kurulum Adımları

CGNAT Doğrulama

Public IP checker tek başına yeterli değil. Asıl kontrol router’ın WAN adresidir.

Public IP checker: normal public IP gibi
Router WAN:        100.71.x.x
Result:            CGNAT
Public IP checker.
Router WAN CGNAT range içinde.

pfSense Tailscale

System -> Package Manager -> Available Packages -> Tailscale -> Install
Advertised route: 10.10.0.0/16

pfSense headless olduğu için browser login flow yerine auth key kullandım.

pfSense Tailscale paketi.
Auth key oluşturuldu.
pfSense tailnet'e eklendi.

Route Approval

Route advertise etmek tek başına yetmedi. Tailscale admin console içinde route’u approve etmem, client tarafında da route kabulünü açmam gerekti.

sudo tailscale set --accept-routes
netstat -rn | grep 10.10

Beklenen:

10.10/16 -> utun...
Lab subnet route approve edildi.
macOS route table artık Tailscale utun interface'e gidiyor.

Eski Route Temizliği

Part 5’te kullandığım eski local route, ev dışında olduğumda yanlış gateway’e gitmeye çalışabiliyordu. Bu yüzden onu temizledim.

sudo route -n delete -net 10.10.1.0/24
sudo tailscale set --accept-routes
sudo tailscale down && sudo tailscale up

pfSense Firewall Rule

Route çalıştığı halde iç hostlar açılmıyorsa sorun genellikle forwarding rule’dadır. pfSense’in kendisine ulaşmak başka, tailscale0 üzerinden lab VLAN’larına forward etmek başka katman.

Interface:    Tailscale
Action:       Pass
Protocol:     Any
Source:       100.64.0.0/10
Destination:  10.10.0.0/16
Tailscale interface üzerinden lab network'lerine izin.

Proxmox Out-of-Band

pfSense bir VM olduğu için tek recovery yolum pfSense olmamalı. Bu yüzden Proxmox host’a da doğrudan Tailscale kurdum.

curl -fsSL https://tailscale.com/install.sh | sh
tailscale up
https://100.x.y.z:8006
ssh root@100.x.y.z

Karşılaştığım Problemler

Public IP yetmedi. Public IP checker normal görünse de router WAN CGNAT içindeydi.

Route advertise edildi ama kullanılmadı. Admin console approve ve client accept-routes gerekiyordu.

pfSense açılıyor, iç host açılmıyordu. Routing çalışıyordu ama Tailscale interface firewall rule eksikti.

pfSense subnet router tek recovery yolu olamaz. pfSense bir VM olduğu için Proxmox’a ayrı Tailscale node kurmak gerekiyor.


Ne Öğrendim?

Remote access’in firewall’a açılan geçici bir delik olmaması gerektiğini öğrendim. Tailscale private erişim sağlıyor; pfSense ise lab’e forward kararını vermeye devam ediyor.

Route problemi ile firewall forwarding problemini ayırmayı da öğrendim. pfSense açılıp Wazuh açılmıyorsa route vardır; büyük ihtimalle tailscale0 interface rule’u eksiktir.


Doğrulama Kanıtı

netstat -rn | grep 10.10
tailscale ping 10.10.1.1
ping -c 3 10.10.10.99
nc -vz 10.10.10.99 443

Servis kontrolleri:

https://10.10.1.1       -> pfSense
https://10.10.10.99     -> Wazuh
ssh admin@10.10.1.50    -> jumpbox

Sırada Ne Var?

Remote access çözüldü. Artık lab’in yanında olmak zorunda kalmadan daha ağır segmentleri kurabilirim. Sırada malware-analysis segmenti var.


Hızlı Referans

sudo tailscale set --accept-routes
netstat -rn | grep 10.10
sudo route -n delete -net 10.10.1.0/24
pfSense Tailscale rule:
Source 100.64.0.0/10 -> Destination 10.10.0.0/16 -> Pass