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
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
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.
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...
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
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









