pfSense Captive Portal Entegrasyon Rehberi
Bu rehber, pfSense güvenlik duvarının Captive Portal özelliği ile Useroam Cloud arasındaki misafir hotspot entegrasyonunu adım adım anlatır. Misafir, pfSense'in misafir ağına bağlanır; telefonunda Useroam karşılama sayfası açılır (SMS, WhatsApp ve diğer giriş yöntemleri); kimlik doğrulaması RADIUS ile Useroam'da yapılır ve misafir internete çıkar. Hız, kota, oturum süresi ve günlük bitiş saati Useroam panelindeki gruptan pfSense'e otomatik gönderilir.
Başlamadan önce: pfSense CE 2.7.0 / pfSense Plus 23.05 veya üstü, pfSense web arayüzüne yönetici erişimi ve pfSense'in internete çıktığı genel (dış) IP adresi gerekir. Menü adları sürüme göre küçük farklar gösterebilir.
Useroam sunucu adresi her yerde 104.247.174.120'dir. RADIUS sunucusu, giriş öncesi izin listesi ve 5651 log hedefi bu IP ile yazılır. Başka bir adres kullanmayın.
Nasıl çalışır? pfSense'e Useroam'un hazırladığı küçük bir portal sayfası yüklenir. Bu sayfa misafiri Useroam karşılama sayfasına yönlendirir. Misafir giriş yaptıktan sonra kullanıcı adı ve şifre pfSense'e geri gönderilir, pfSense de bunları RADIUS ile Useroam'a sorar. pfSense'te ayrıca bir "harici portal" ayarı yoktur; yöntem budur.
1 - Useroam Paneline Cihaz Ekleme
panel.useroam.com adresinden panelinize giriş yapıp Yeni Cihaz ekranını açın.
- Cihaz Tipi:
pfSenseseçin. - 5651 Loglama: pfSense loglarını Useroam'a gönderecekseniz (12. adım) açın.
- Cihaz Adresi: [KRİTİK ADIM] pfSense'in internete çıktığı genel (dış) IP adresini yazın. pfSense bir modem/NAT arkasındaysa NAT'ın çıkış IP'si yazılır. Useroam cihazı bu IP'den tanır; RADIUS istekleri de bu IP'den gelmelidir. İç IP'yi (192.168.x.x, 10.x.x.x) yazmayın.
- Cihaz Adı: panelde göreceğiniz ad (ör. "Otel pfSense").
Kaydet düğmesine basın.
2 - Kurulum Bilgilerini Panelden Alma
Cihaz kaydedildikten sonra Ayarlar > Cihaz Ayarları sayfasında Kurulum sekmesini açın. Burada iki şey alınır:
3 - RADIUS Sunucusunu Tanımlama
pfSense'te System > User Manager > Authentication Servers sayfasına gidip Add düğmesine basın.
- Descriptive name:
Useroam - Type:
RADIUS
RADIUS Server Settings bölümünü şöyle doldurun:
- Protocol:
PAP - Hostname or IP address:
104.247.174.120 - Shared Secret: 2. adımda paneldeki karttan aldığınız değer.
- Disable Message Authenticator: işaretsiz bırakın.
- Services offered:
Authentication and Accounting - Authentication port:
1812, Accounting port:1813 - Authentication Timeout:
5 - RADIUS NAS IP Attribute: internete çıkan arayüz (genellikle
WAN).
Save düğmesine basın.
4 - Captive Portal Bölgesi (Zone) Oluşturma
Services > Captive Portal sayfasında Add ile yeni bir bölge ekleyin (ör. guest). Ardından bölgenin düzenleme simgesine basın.
- Enable:
Enable Captive Portalişaretli. - Interfaces: misafir ağının bağlı olduğu arayüz (ör.
LANya da misafir VLAN'ı). - Idle timeout, Hard timeout, Traffic quota: boş bırakın. Bu sınırlar Useroam panelindeki gruptan gelir (13. adım).
Misafir arayüzünde DHCP sunucusu açık olmalı ve DNS Resolver/Forwarder çalışmalıdır; aksi halde misafir portalı göremez.
5 - Aynı Numaranın Cihaz Sayısı
Aynı bölge sayfasında Concurrent user logins ayarı, bir numaranın aynı anda kaç cihazda açık kalacağını belirler. pfSense bu sınırı RADIUS'tan almaz; burada seçilir.
- Multiple: sınır yok, aynı numara birden çok cihazda açık kalabilir.
- Last login (önerilen): numara başka bir cihazda girince önceki cihazın oturumu kapanır (tek cihaz).
- First login: ilk giren cihaz açık kalır, diğer cihazlar giremez.
MAC filtering ve Pass-through MAC Auto Entry işaretsiz kalsın. Use custom captive portal page kutusunu işaretleyin.
6 - Useroam Portal Sayfasını Yükleme
HTML Page Contents bölümünde Portal page contents alanındaki Choose File düğmesiyle 2. adımda indirdiğiniz portal.html dosyasını seçin. Auth error ve Logout sayfalarını boş bırakın.
7 - Kimlik Doğrulama Ayarları
Authentication bölümünde:
- Authentication Method:
Use an Authentication backend - Authentication Server: 3. adımda eklediğiniz
Useroam - Secondary authentication Server: boş bırakın (hiçbiri seçili olmasın).
- NAS Identifier: boş bırakın.
8 - RADIUS Seçenekleri (Hız, Kota, Süre)
[KRİTİK ADIM] Aşağıdaki üç kutu işaretli değilse pfSense, Useroam'un gönderdiği hız, kota ve süre değerlerini yok sayar; misafir sınırsız kalır.
- Reauthenticate Users: işaretsiz bırakın.
- Session timeout:
Use RADIUS Session-Timeout attributesişaretli. Grubun geçerlilik süresi ve günlük bitiş saati bununla uygulanır. - Traffic quota:
Use RADIUS pfSense-Max-Total-Octets attributeişaretli. - Per-user bandwidth restrictions:
Use RADIUS pfSense-Bandwidth-Max-Up and pfSense-Bandwidth-Max-Down attributesişaretli. - MAC address format:
Default
9 - Accounting (Oturum Kaydı)
Accounting bölümünde:
- RADIUS:
Send RADIUS accounting packetsişaretli. - Accounting Server:
Useroam - Send accounting updates:
Interim. Useroam ara kayıt sıklığını 5 dakika olarak bildirir. - Accounting style: işaretsiz bırakın (varsayılan).
10 - HTTPS Seçenekleri ve Kaydetme
HTTPS Options bölümünde Enable HTTPS login işaretsiz kalsın. Sayfanın altındaki Save düğmesine basın.
11 - Giriş Öncesi İzinler (Allowed IP Addresses)
Misafir giriş yapmadan önce Useroam karşılama sayfasına erişebilmelidir. Bölgenin Allowed IP Addresses sekmesinde Add ile şunları ekleyin:
104.247.174.120(Useroam). Direction:Bothya daTo.- WhatsApp ile giriş kullanılacaksa:
157.240.0.0/16ve31.13.0.0/16(Direction:To).
12 - 5651 Log Gönderimi
Status > System Logs > Settings sayfasında Remote Logging Options bölümüne inin:
- Enable Remote Logging: işaretli.
- Remote log servers:
104.247.174.120:514 - Remote Syslog Contents:
Firewall Events,DHCP EventsveCaptive Portal Eventsişaretli.
Ayrıca Firewall > Rules altında misafir arayüzündeki izin kuralını açıp Log packets that are handled by this rule seçeneğini işaretleyin. Save ve Apply Changes.
13 - Gruplarda Hız, Kota ve Bitiş Saati
Useroam panelinde Gruplar ekranında pfSense cihazına ait bir grup açtığınızda pfSense Hız ve Kota Ayarları kartı görünür. Boş bıraktığınız alan için sınır uygulanmaz.
- İndirme hızı / Yükleme hızı:
10M,512kgibi yazın. - Toplam kota (MB): indirme ve yükleme toplamı. pfSense'te en fazla 4096 MB olabilir.
- Boşta kalma (dk): bu kadar süre trafik olmazsa oturum kapanır.
- Her gün bitiş saati: bu saatte o gruptaki tüm misafirlerin oturumu kapanır (ör.
12:00). Otel misafirinde çıkış saati daha erkense o geçerli olur. - Geçerlilik: grubun üstündeki süre alanı oturumun en uzun süresidir.
Grup değişiklikleri misafirin bir sonraki girişinde uygulanır. pfSense dışarıdan anında bağlantı kesme komutu almadığı için otel hız paketi satışı pfSense'te henüz desteklenmez.
14 - Test
Misafir ağına daha önce bağlanmamış bir telefonla bağlanın ve tarayıcıda http://neverssl.com adresini açın. Useroam karşılama sayfası açılmalı; SMS ya da WhatsApp ile giriş yaptıktan sonra internete çıkmalısınız. Cihaz panele yeni eklendiyse portalın açılması 5 dakikayı bulabilir.
Bağlı misafirleri Status > Captive Portal sayfasında görebilirsiniz.
Sorun Giderme
| Belirti | Kontrol edin |
|---|---|
| Portal açılmıyor, sayfa beyaz ya da zaman aşımı | 11. adımda 104.247.174.120 izni; misafir arayüzünde DHCP ve DNS; cihaz yeni eklendiyse 5 dakika bekleyin. |
| Portal açılıyor ama giriş "şifre hatalı" diyor | Shared Secret paneldekiyle aynı mı; panelde yazdığınız Cihaz Adresi pfSense'in gerçekten internete çıktığı IP mi. |
| Hız ya da kota uygulanmıyor | 8. adımdaki üç kutu işaretli mi; grupta değer var mı; misafir değişiklikten sonra yeniden girdi mi. |
| Oturum bitiş saatinde kapanmıyor | Session timeout kutusu işaretli mi; pfSense saat ve saat dilimi doğru mu (System > General Setup). |
| Aynı numara birden çok cihazda açık kalıyor | 5. adımda Concurrent user logins: Last login. |
| Panelde 5651 logu görünmüyor | 12. adımdaki Remote Logging ve misafir kuralındaki Log seçeneği. |