Captive portal da farklı dns kullanan bilgisayarlarda login gelmemesi (çözüldü)
-
merhaba
başlığı bilerek uzun tuttum. pfsense kullnmaya yeni başlayıpta bu sorunla karşılaşmayan yoktur herhalde. kullanıcı bilgisayarında dns adresini elle girmişse captive portalın login ekranı gelmiyor. bunu aşmak için herhangi bir yol yok mu? firewall nat ayarlarından herhangi bir şey yapamaz mıyız? ticari utm cihazlar bu sorunu nasıl aşmışlar? bilen var mı?
herkese kolay gele…
-
captive portal settings sayfasında allowed ip addresses var oraya dnsleri tek tek girmen lazım.
direction lari da both olmalı.
örnek benim bildiğim dnsler
any 8.8.8.8 dns1 any 156.154.70.1 dns27 any 156.154.71.1 dns26 any 195.175.39.39 dns25 any 198.153.192.1 dns24 any 198.153.194.1 dns23 any 199.5.157.131 dns22 any 207.225.209.66 dns21 any 208.67.222.220 dns20 any 208.67.222.222 dns19 any 208.71.35.137 dns18 any 209.244.0.3 dns17 any 209.244.0.4 dns16 any 216.87.84.211 dns15 any 4.2.2.1 dns14 any 4.2.2.2 dns13 any 4.2.2.3 dns12 any 4.2.2.4 dns11 any 4.2.2.5 dns10 any 4.2.2.6 dns9 any 67.138.54.100 dns8 any 69.164.208.50 dns7 any 74.118.212.1 dns6 any 74.118.212.2 dns5 any 8.20.247.20 dns4 any 8.26.56.26 dns3 any 8.8.4.4 dns2
-
Selam,
Yukarıdaki dns sunucuları en fazla kullanılanlardan oluşmakta. Buna ek olarak firewall loglarını kontrol ederseniz bunların haricinde DNS sunucularına istek oluyor mu diye onları da tespit edip listeye dahil ederseniz sorununuz büyük bir oranda çözülmüş olur.
Sevgilerle,
SGTR -
Selam,
Yukarıdaki dns sunucuları en fazla kullanılanlardan oluşmakta. Buna ek olarak firewall loglarını kontrol ederseniz bunların haricinde DNS sunucularına istek oluyor mu diye onları da tespit edip listeye dahil ederseniz sorununuz büyük bir oranda çözülmüş olur.
Sevgilerle,
SGTRcehalet kötü şey. firewall loglarında nasıl tespit edeceğim harici dns sunucularını?
-
peki bu bir çözüm olabilir mi?
http://doc.pfsense.org/index.php/Creating_a_DNS_Black_Hole_for_Captive_Portal_Clients
veya 53 nolu portu tamamen açsak?
-
captive portal settings sayfasında allowed ip addresses var oraya dnsleri tek tek girmen lazım.
direction lari da both olmalı.
örnek benim bildiğim dnsler
any 8.8.8.8 dns1 any 156.154.70.1 dns27 any 156.154.71.1 dns26 any 195.175.39.39 dns25 any 198.153.192.1 dns24 any 198.153.194.1 dns23 any 199.5.157.131 dns22 any 207.225.209.66 dns21 any 208.67.222.220 dns20 any 208.67.222.222 dns19 any 208.71.35.137 dns18 any 209.244.0.3 dns17 any 209.244.0.4 dns16 any 216.87.84.211 dns15 any 4.2.2.1 dns14 any 4.2.2.2 dns13 any 4.2.2.3 dns12 any 4.2.2.4 dns11 any 4.2.2.5 dns10 any 4.2.2.6 dns9 any 67.138.54.100 dns8 any 69.164.208.50 dns7 any 74.118.212.1 dns6 any 74.118.212.2 dns5 any 8.20.247.20 dns4 any 8.26.56.26 dns3 any 8.8.4.4 dns2
henüz deneme fırsatım olmadı. aklıma şöyle bir şey geldi. merakımdan dillendirdim. madem dns lerin ip adreslerine captive portaldan izin verince login ekranı illaki karşımıza çıkıyorsa (dns olarak pf kullanmayan bilgisayarlarda bile) neden 53 nolu portu açmıyoruz?
-
elbette açabilirsin. ama arayüzden normal kural şekline olmaz malesef.
shellcmd paketini yükleyip ipfw kuralları ekleyeceksin.
örnek
ipfw add allow udp from any to any dst-port 53 keep-state
ipfw add allow tcp from any to any dst-port 53 keep-statenot: gibi test edilmedi!
-
elbette açabilirsin. ama arayüzden normal kural şekline olmaz malesef.
shellcmd paketini yükleyip ipfw kuralları ekleyeceksin.
örnek
ipfw add allow udp from any to any dst-port 53 keep-state
ipfw add allow tcp from any to any dst-port 53 keep-statenot: gibi test edilmedi!
şimd bunu uyguladığımda; farklı dns adresleri kullanan bilgisayarlarda da captive portal işe yarayacak mı? login ekranı sorunsuzca karşımıza gelecek mi? uygulama fırsatım şuan olmadığı için soruyorum. uygulayınca sonucu paylaşıcam.
-
elbette açabilirsin. ama arayüzden normal kural şekline olmaz malesef.
shellcmd paketini yükleyip ipfw kuralları ekleyeceksin.
örnek
ipfw add allow udp from any to any dst-port 53 keep-state
ipfw add allow tcp from any to any dst-port 53 keep-statenot: gibi test edilmedi!
bu şekilde olmadı. bende şöyle denedim oldu. ((-;<
ipfw add 65000 allow udp from any to any dst-port 53 keep-state ipfw add allow 65001 tcp from any to any dst-port 53 keep-state
şimdi shellcmd yi ayarlıyacağım. type olarak shellcmd yeterli değil mi?
teşekkürler asbirim. -
captive portal settings sayfasında allowed ip addresses var oraya dnsleri tek tek girmen lazım.
direction lari da both olmalı.
örnek benim bildiğim dnsler
any 8.8.8.8 dns1 any 156.154.70.1 dns27 any 156.154.71.1 dns26 any 195.175.39.39 dns25 any 198.153.192.1 dns24 any 198.153.194.1 dns23 any 199.5.157.131 dns22 any 207.225.209.66 dns21 any 208.67.222.220 dns20 any 208.67.222.222 dns19 any 208.71.35.137 dns18 any 209.244.0.3 dns17 any 209.244.0.4 dns16 any 216.87.84.211 dns15 any 4.2.2.1 dns14 any 4.2.2.2 dns13 any 4.2.2.3 dns12 any 4.2.2.4 dns11 any 4.2.2.5 dns10 any 4.2.2.6 dns9 any 67.138.54.100 dns8 any 69.164.208.50 dns7 any 74.118.212.1 dns6 any 74.118.212.2 dns5 any 8.20.247.20 dns4 any 8.26.56.26 dns3 any 8.8.4.4 dns2
bunu da denedim. gayette güzel çalıştı ama sürekli bir dns avcılığı gerekiyor bunda. bir yukardaki çözüm biraz daha uygun. en azından ayarla unut.
-
bu şekilde olmadı. bende şöyle denedim oldu. ((-;<
ipfw add 65000 allow udp from any to any dst-port 53 keep-state ipfw add allow 65001 tcp from any to any dst-port 53 keep-state
şimdi shellcmd yi ayarlıyacağım. type olarak shellcmd yeterli değil mi?
teşekkürler asbirim.bu şekilde shellcmd olunca çalışır ama her captive portal restart ettiğinde veya save ettiğinde kurallar silinir. o yüzden /etc/inc/captiveportal.inc dosyasındaki kuralların oluşturulduğu yerde eklesrsen daha garanri olur.
-
bu şekilde olmadı. bende şöyle denedim oldu. ((-;<
ipfw add 65000 allow udp from any to any dst-port 53 keep-state ipfw add allow 65001 tcp from any to any dst-port 53 keep-state
şimdi shellcmd yi ayarlıyacağım. type olarak shellcmd yeterli değil mi?
teşekkürler asbirim.bu şekilde shellcmd olunca çalışır ama her captive portal restart ettiğinde veya save ettiğinde kurallar silinir. o yüzden /etc/inc/captiveportal.inc dosyasındaki kuralların oluşturulduğu yerde eklesrsen daha garanri olur.
tavsiyeniz üzerine dediğiniz dosyayı inceledim. zannediyorum $cprules ile başlayan 489. satırdan evvel uygun şekilde bu komutları girmem yetecektir. ama nasıl ekleyeceğimi kestiremedim. ipfw ye biraz yabancıyım.
$cprules = "add 65001 allow tcp from any to any 53 keep-state\n"; $cprules .= "add 65002 allow udp from any to any 53 keep-state\n"; $cprules .= "add 65291 set 1 allow pfsync from any to any\n"; $cprules .= "add 65292 set 1 allow carp from any to any\n";
olarak düzenlemem doğru mudur? ipfw kural yazmışlığım yok.
yardımların için teşekkürler asbirim.
-
# redirect non-authenticated clients to captive portal add 65531 set 1 fwd 127.0.0.1,8000 tcp from any to any in
bu satırın ustune ekleyebilrsiniz. ama unutmayın eklediniz kuraldan sonra kural numaralarını yeniden sıralayın.
örnek
#dns pass #dns pass add 65531 allow udp from any to any dst-port 53 keep-state add 65532 allow tcp from any to any dst-port 53 keep-state # redirect non-authenticated clients to captive portal add 65533 set 1 fwd 127.0.0.1,8000 tcp from any to any in # let the responses from the captive portal web server back out add 65534 set 1 pass tcp from any to any out # block everything else add 65535 set 1 deny all from any to any # pass everything else on layer2 add 65536 set 1 pass all from any to any layer2
gibi. bu işlemi yönlendirme kuralanın üzerinde yapmanız en az değişiklik gerektiren yöntem gibi gözüküyor.
-
# redirect non-authenticated clients to captive portal add 65531 set 1 fwd 127.0.0.1,8000 tcp from any to any in
bu satırın ustune ekleyebilrsiniz. ama unutmayın eklediniz kuraldan sonra kural numaralarını yeniden sıralayın.
örnek
#dns pass #dns pass add 65531 allow udp from any to any dst-port 53 keep-state add 65532 allow tcp from any to any dst-port 53 keep-state # redirect non-authenticated clients to captive portal add 65533 set 1 fwd 127.0.0.1,8000 tcp from any to any in # let the responses from the captive portal web server back out add 65534 set 1 pass tcp from any to any out # block everything else add 65535 set 1 deny all from any to any # pass everything else on layer2 add 65536 set 1 pass all from any to any layer2
gibi. bu işlemi yönlendirme kuralanın üzerinde yapmanız en az değişiklik gerektiren yöntem gibi gözüküyor.
kural numalarında daha az değişiklik yapmak için geriye doğru verdim. sonuç olarak kod:
#dns pass add 65529 allow udp from any to any dst-port 53 keep-state add 65530 allow tcp from any to any dst-port 53 keep-state # redirect non-authenticated clients to captive portal add 65531 set 1 fwd 127.0.0.1,8000 tcp from any to any in # let the responses from the captive portal web server back out add 65532 set 1 pass tcp from any to any out # block everything else add 65533 set 1 deny all from any to any # pass everything else on layer2 add 65534 set 1 pass all from any to any layer2
oldu ve sıkı bir teste tabi tutacağım. yerinde iken yaptığım testlerden geçmişti. umarım yakında çözüldü ibaresini asarız başlığımıza.
bu değişiklikten sonra shellcmd ile girdiğim kurallarada gerek kalmadı artık, değil mi?
tekrar teşekkürler asbirim.
-
test sonucu başarılı olursa, bu post forumun international kısmında bile baya insanın faydasına dokunacaktır.
-
kesinlikle tuzsuzdeli kardeşim. kıt ingilizcemle ingilizce kısmını didik didik incelemiştim. ama birşey çıkaramadım. hakeza monowall forumlarında da araştırmıştım. sonra bu captive portal nedir onu araştırdım. captive portal ile alakalı sorular sordum ama aldığım cevaplar işime yaramamıştı. burda asbirim kardeşimin önerdiği dns iplerini captive portala izinli olarak girmekten bu fikir çıktı. kendi blgisayarımda yaptığım testlerden geçti ama esas kullananların sonucu önemli. ben bir kaç notebook ile deneyeceğim gene en kısa zamanda.
ekleme: bugün 3 adet notebook ile denedim. windows 8 pro, windows 7 pro, kubuntu 13.04, kubuntu 12.10 denemelerimde başarılı oldum. 2 yukardaki eklemeyi yapınca captive portalın login sorunları büyük ölçüde ortadan kalkıyor. bence çözüldü ekleyip, sticky yapıp international foruma eklenebilir.
-
denedim. gayet başarılı çalıştı. Sabri Beye (asbirim) bu konudaki çözüm önerisi için , forum üyelerimiz adına tekrar teşekkür ediyorum
-
elbette açabilirsin. ama arayüzden normal kural şekline olmaz malesef.
shellcmd paketini yükleyip ipfw kuralları ekleyeceksin.
örnek
ipfw add allow udp from any to any dst-port 53 keep-state
ipfw add allow tcp from any to any dst-port 53 keep-statenot: gibi test edilmedi!
Bu şekilde tcp 53 ve udp 53 portlarına izin vermek dışarıdaki DNS sunuculara ulaşmayı muhakkak kolaylaştırır. Ancak kullanıcıların bu portlar üzerinden tüneleme yaparak kimlik doğrulama vs yapmaksızın özgürce internete çıkması mümkündür. Bu kurallar kendi elinizle captiveportalın aşılmasını sağlayacak bir delik açmak anlamına gelir… Güvenlik sizin için önemliyse bu şekilde bir firewall kuralı girmeniz iyi bir fikir olmayabilir... Dikkatli kullanmak gerekir... :)
Saygılarımla...
-
Bu şekilde tcp 53 ve udp 53 portlarına izin vermek dışarıdaki DNS sunuculara ulaşmayı muhakkak kolaylaştırır. Ancak kullanıcıların bu portlar üzerinden tüneleme yaparak kimlik doğrulama vs yapmaksızın özgürce internete çıkması mümkündür. Bu kurallar kendi elinizle captiveportalın aşılmasını sağlayacak bir delik açmak anlamına gelir… Güvenlik sizin için önemliyse bu şekilde bir firewall kuralı girmeniz iyi bir fikir olmayabilir... Dikkatli kullanmak gerekir... :)
Saygılarımla...
muhakkak haklısın şeker kardeş. fakat bunu kullanacağım yerlerde bu çok sorun olmayacaktır. söyleyebilirmisin kendi çevrende böyle bir sistem kullanan işyerlerinde çalışan kaç kişi 53 nolu porttan tünelleme yaparak özgürce internete çıkmayı düşünecek kadar network bilgisine sahip? benim çevremde ancak sistem yönetcileri biliyor bunları. dediğim gibi kendi çevremde sorun olmayak. yoksa bunu keşfettiğimden bu yana neden böyle bir çözümü vardıda yapılmadı diye düşünüyordum. güvenlik nedeni ile olduğunu farkettim.
bu bilgilendirmeniz için teşekkürler şeker kardeş. kullanacak olanlar bunu dikkate almalıdır. zira herkesin hitap ettği kullanıcılar farklı. belki başkasının kullanıcısı bunu değerlendirebilir.
-
Bu şekilde tcp 53 ve udp 53 portlarına izin vermek dışarıdaki DNS sunuculara ulaşmayı muhakkak kolaylaştırır. Ancak kullanıcıların bu portlar üzerinden tüneleme yaparak kimlik doğrulama vs yapmaksızın özgürce internete çıkması mümkündür. Bu kurallar kendi elinizle captiveportalın aşılmasını sağlayacak bir delik açmak anlamına gelir… Güvenlik sizin için önemliyse bu şekilde bir firewall kuralı girmeniz iyi bir fikir olmayabilir... Dikkatli kullanmak gerekir... :)
Saygılarımla...
muhakkak haklısın şeker kardeş. fakat bunu kullanacağım yerlerde bu çok sorun olmayacaktır. söyleyebilirmisin kendi çevrende böyle bir sistem kullanan işyerlerinde çalışan kaç kişi 53 nolu porttan tünelleme yaparak özgürce internete çıkmayı düşünecek kadar network bilgisine sahip? benim çevremde ancak sistem yönetcileri biliyor bunları. dediğim gibi kendi çevremde sorun olmayak. yoksa bunu keşfettiğimden bu yana neden böyle bir çözümü vardıda yapılmadı diye düşünüyordum. güvenlik nedeni ile olduğunu farkettim.
bu bilgilendirmeniz için teşekkürler şeker kardeş. kullanacak olanlar bunu dikkate almalıdır. zira herkesin hitap ettği kullanıcılar farklı. belki başkasının kullanıcısı bunu değerlendirebilir.
Dediğim gibi güvenlik politikanız bu noktada önemli. Eğer sorun olmayacağını düşünüyorsanız kullanmanızda bir sakınca yok. Ancak şahsi fikrimce kamuya açık bir ağda kullanacaksanız "nasılsa bunları kimse bilmiyor" diyerek riske girmeyin derim :) Tünelleme işlemleri basit şeyler ve pek çok insan tarafından artık biliniyor. Kullanıcı kitleniz öğrencilerden falan oluşuyorsa aklınıza gelmeyecek bir bir şeytanlığı deneyeceklerini tecrübe ile sabitleyebilirsiniz :)
Ağınız kamuya açıksa, misafirlerinizin kim olduğunu ve niyetlerini bilmiyorsanız hepsinin "kötü adam" olduğunu var saymak gerekir diye düşünüyorum :)
Saygılarımla…