Sayfa Yükleniyor.
Lütfen Bekleyin...
destek@wifiadana.com (0507) 524 95 58

Bilgi Bankası

Bu anlatımımızda Neden Mikrotik Sıfırlarız.
Şifre Unutuldugunda
Başlangız Sisteminin Yüklenmesinde
Mikrotik Sıfırlama için üç yok var

 

1. Birinci yol

Birinci Yol Winbox ile konsoldan resetlemektir
/system reset

Bu komudu verdigimizde bize sıfırlamak isteyip istemediginizi soracak biz burda Y yuşunu basarak
onaylıyalım biz mikrotik sistemimimizi sıfırladıgımızda sistem dhcp cıkışı tüm eternet noktaları
için varsayılan olarak 192.168.88.1/24 olacaktır.

Altdaki kodmudu konsola yazarak default configurasyon ayarlarına alırız.
ve şimdi ikinci yola gecelim

/system reset-configuration no-default=yes
2. İkinci Yol

İkinci Yol ise RouterBoard Sıfırlama Dügmesidir.Bu Genelde Mikrotik cihazlarında mevcuttur.
Ama Reset tuşuna kalem ucu veya diger başka cisimlerle bastırmayınız cünkü reset tuşunun korumalı
bir yapısı yoktur.
cihaza zarar vermeden reset tuşuna bastıgınızda tuşusun içinde "Tık" sesini hisetmeniz lazım.

 
 Mikrotik RB750 Reset nasıl Yapılır Örnek

262 hi res.png
  1. Gücü Çıkarın
  2. Sıfırlama Dügmesine Basılı tununuz Sıfırlama Dügmesine Basılı İken Güc Kablosunu Takınız
  3. Işıklar Yanıp ACT sönene kadar bekleyin
  4. Sonra Winbox İle Giriş Yapmayı Deneyin


Mikrotik RB Modelleri İçin Reset Tuşu RB RB750/RB951/RB751
Resethole.jpg
 
Yukardaki Resimdede Görüldügü Gibi Mikrotik Cihazlarının Tamamında mevcut diye bilecegim bir Reset Mekanizmasıdır.
Bu reset  tuş diyemeyiz. Burda olay tornavida ile ayarları sıfırlamaktır.Bu sıfırlama Butonu Anakart üzerinde oldugundan kasası olan cihazlarda dışardan görünmez.
onun için anakartı cıkartmak gerekir.
 
Mikrotik RB133 Sıfırlama Nasıl Yapılır. 
CRW 5184.jpg
 
Yukarıdaki Resimdede Görüldügü Gibi Resetleme Yapılabilir.  
 
3. Üçüncü Yol
Bu iki Yöntemde İşe Yaramazise Tornavida ile iki iletgeni birbirine degdirirken bir yandan sıfırlama dügmesine basılı tutun.Bu yöntem İşe yaradı Söylenmekte 
Ben Uygulamadım Ama Denemekte Fayda var.
 

Wifiadana.com İyi Günler Diler.

 
 

pfSense üzerinde eğer CaptivePortal bacağında Tranparent Proxy hizmeti sunuyorsanız (squid2) sistemi bypass edebilecekleri bir bug ortaya çıkıyor.Kullanıcılar karşılama ekranına uğramadan direk Proxy server üzerinden internet’e erişebiliyorlar.Bu durum’da yaptığınız hotspot’un hiçbir geyiği kalmıyor ve dışarıdan ağınıza kolayca erişebilen kullanıcılar elde etmiş oluyorsunuz.(En son isteyeceğiniz bir durum sanırım.)

Çözümü için squid3 veya squid3 dev paketlerini kurarak çözebilirsiniz.Ama bu squid sürümleri şuan pfSense üzerinde stabil olmadığına ınandığım için veya inanmadığımız için squid2 kurup karşıya geçiyoruz.Bu durumlarda squid2’e aşağıdaki patch’i uygulayarak bu bug’tan kurtulabilirsiniz.

Not : Squid3-dev versiyonundaki Patch özelliğini squid2’ye göre uyarladım..Patch’i sadece pfSense 2.1.3 64 bit sürümünde test edilmiştir.Real pfSense makinenize kurmadan önce Sanal’da test etmenizi öneririm.

Patch’i uygulamak için Putty ile sanal makinenize bağlanın.Shell’e düşün ve aşağıdaki komutları sırasıyla koşturun.

fetch -a -o /usr/local/pkg http://wifiadana.com/tool/patch.tar.gz
tar -zxf /usr/local/pkg/patch.tar.gz -x
rm -rf patch.tar.gz

İşlemi tamamladıktan sonra PfSense Gui açın. Pfsense -> Proxy Server -> Patch captive portal seçeneğini işaretleyin.
pfsensebypass1
Ardından Services -> CaptivePortal ayarlarını tekrar save ediniz.

Son olarak Squid ve CaptivePortal servislerini restart ediniz.

Peki bypass işlemi nasıl oluyordu ?

Browser özelliklerinizde Proxy bilgisini manual olarak pfSense sunucunuzu gösterirseniz karşılama ekranı gelmeden proxy server üzerinden direk internete çıkarsınız. (Not: pfSense sunucusunda squid2 kurulu olması gerekir.Yalnız Squid’in default portunu değiştirmişse port scanner yapıp squid’in çalıştığı portu bulmanız gerekebilir.Nmap fazlasiyla işinizi görür.)

bypass

 

Eğer manual fixlemek isterseniz aşağıdaki dosyalarda değişiklik yapmanız gerekir.

/usr/local/pkg/squid.inc  açın.

bulun :

function squid_generate_rules($type) {
	global $config;

	$squid_conf = $config[`installedpackages`][`squid`][`config`][0];

	if (($squid_conf[`transparent_proxy`] != `on`) || ($squid_conf[`allow_interface`] != `on`)) {
		return;
	}

değiştirin :

/* CaptivePortal Patch baslangic -Hüseyin ispir */ 

function squid_generate_rules($type) { global $config,$pf_version; $squid_conf = $config[`installedpackages`][`squid`][`config`][0]; //check captive portal option $cp_file=`/etc/inc/captiveportal.inc`; $pfsense_version=preg_replace("/s/","",file_get_contents("/etc/version")); $port = ($settings[`proxy_port`] ? $settings[`proxy_port`] : 3128); $cp_inc = file($cp_file); $new_cp_inc=""; $found_rule=0; foreach ($cp_inc as $line){ $new_line=$line; //remove applied squid patch if (preg_match(`/skipto 65314 ip/`,$line)){ $found_rule++; $new_line =""; } if (substr($pfsense_version,0,3) > 2.0){ if (preg_match(`/255.255.255.255/`,$line) && $squid_conf[`patch_cp`]){ $found_rule++; $new_line .= " ".`$cprules .= "add {$rulenum} skipto 65314 ip from any to {$ips} `.$port.` in ";`." "; $new_line .= " ".`$cprules .= "add {$rulenum} skipto 65314 ip from {$ips} `.$port.` to any out ";`." "; } } else{ //add squid patch option based on current config if (preg_match(`/set 1 pass ip from any to/`,$line) && $squid_conf[`patch_cp`]){ $found_rule++; $new_line = " ".`$cprules .= "add {$rulenum} set 1 skipto 65314 ip from any to {$ips} `.$port.` in ";`." "; $new_line .= $line; } if (preg_match(`/set 1 pass ip from {/`,$line) && $squid_conf[`patch_cp`]){ $found_rule++; $new_line = " ".`$cprules .= "add {$rulenum} set 1 skipto 65314 ip from {$ips} `.$port.` to any out ";`." "; $new_line .= $line; } } $new_cp_inc .= $new_line; } if (!file_exists(`/root/`.$pfsense_version.`.captiveportal.inc.backup`)) { copy ($cp_file,`/root/`.$pfsense_version.`.captiveportal.inc.backup`); } if($found_rule > 0){ file_put_contents($cp_file,$new_cp_inc, LOCK_EX); } //normal squid rule check if (($squid_conf[`transparent_proxy`] != `on`) || ($squid_conf[`allow_interface`] != `on`)) { return; }

/* CaptivePortal Patch bitis -Hüseyin ispir*/

/usr/local/pkg/squid.xml açın.

bulun :

		

			Allow users on interface
			allow_interface
			If this field is checked, the users connected to the interface selected in the `Proxy interface` field will be allowed to use the proxy, i.e., there will be no need to add the interface`s subnet to the list of allowed subnets. This is just a shortcut.
			checkbox
			
			<default_value>on
		

Altına ekleyin.

		


			Patch captive portal
			patch_cp
			
						NOTE: You may need to reapply captive portal config after changing this option.]]>
			checkbox
		
		

Bilgi Bir Bilgi Paylaşımında Görüşmek Üzere...

Merhabalar,

Uzun süredir pfSense tarafinda makale yazmıyordum.Aslında hazirladiğim ve sağ’da solda beklettiğim makeleler var ama düzenlenmesi gerekiyor ve vakit bulupta paylaşmak mesele ! : )

Bu yazımda belki en çok merak edilen veya bilinmeyen bir kaç pratik pfSense shell komutlarının kullanımdan bahsedeceğim. Bazı durumlarda arayüze girmeden bazı işlemleri yapmamız gerekiyor.Örnek vermek gerekirse pfSense Vmware üzerinde kurulum yaptınız ve arayüze girmek için Lan bacağına bakan bir istemci’den arayüze girip WAN tarafında bir pass kurali yazmanız gerekiyor.Ama bu iş sizin oldukça zamanınızı alıyor ve cogu zaman bir sanal istemci hazirlamak bizlere ölüm gibi gelebiliyor.Bu konu da yazacağım komutlar sizin istemcilere ihtiyaciniz olmadan Shell üzerinden kural ekleyebilmeyi göstereceğim.

01

pfSense kurulumu tamamlandıktan sonra pfSense WAN ınterface’inde Private Network adresleri block kuraliyla beraber gelir.Yani wan bacağından arayüze erişmek isterseniz öncelikle Lan networkündeki istemcilerden arayüze girip bir pass kurali yazmanız gerekir.

Ama cihaz’a direk erişiminiz varsa 8 rakamıyla Shell arayüzüne düşüp EasyRule komutlarını koşturarak ta port açma işlemlerinizi yapabilirsiniz. Bu durumda lan tarafındaki hiçbir istemciye ihtiyaciniz olmaz.

Eğer güvenlik duvarını geçici olarak durdurmak isterseniz aşağıdaki komutu koşturmanız yeterlidir.

pfctl -d

Komutu koşturduktan sonra “pf disabled” çıktısını alırsınız ve wan arayüzünden pfSense web paneline giriş yapabilirsiniz. Bu komutla geçici olarak pfSense Firewall ‘i devre dışı bırakmış oldunuz Pass kuralinizi yazıp yeniden aktif etmek için’de aşağıdaki kurali koşturabilirsiniz.

pfctl -e

pfSense Firewall’i devre dışı bırakmak istemiyorum ama erişmek için WAN tarafında herkese erişim izni vermek istiyorum diyorsanız aşağıdaki pfSSH.php dosyasıyla bu işlemi yapabilirsiniz.

pfSsh.php playback enableallowallwan

Komutu koşturduktan sonra aşağıdaki şekilde bir çıktı alırsınız.

Starting the pfSense shel system..................

Adding allow all rule
Turning of block private network (if on)...
Reloading the filter configuration

Firewall arayüzümüze girip Firewall -> Rules segmentine baktığımız’da aşağıdaki şekilde bir tablo ile karşılaşıyoruz.

02

Gördüğünüz gibi WAN segmenti altında 2 tane ipv4 ve ipv6 full allow kuralı oluşturdu ve default olarak gelen Block private networks kuralini sildi. (Kural silinmeseydi erişemezdik.!) Kuralı sildi derken, pfSense Web Management -> Interfaces -> WAN segmenti altında Block Private network bölümündeki checkbox’u kaldırdı ve otomatikmen kural silinmiş oldu.

Şimdi olayı biraz daha fantazileştirelim ve Shell üzerinden Firewall kurallarının nasıl oluşturulacağını gösterelim.

Örnek bir kural ;

easyrule block  

WAN bacağına bir ip adresi üzerinden ddos veya benzeri nedenlerden dolayı yasaklamanız gerekiyor ve bunu shell üzerinden yapmanız gerekirse aşağıdaki kuralı koşturabiliriz.Komutu koşturduktan sonra “Host added successfully
” çıktısını almanız gerekiyor.

easyrule block wan 192.168.1.100

03

Resim’de gördüğünüz gibi 192.168.1.100’lü ip adresi için bir host aliasi oluşturdu ve block kuralı oluşturdu.Aslında bu olayı şöyle’de düşünebilirsiniz.Bir sniffer veya benzeri bir şey yaparak WAN bacağına gelen istekleri dinlersiniz ve belirlediğiniz değer’den daha yüksek bir değer geldiğinde istek yapan ip adreslerini otomatik block yaptırabilirsiniz.: ))

ve veya Facebook veya twitter tarzı yerlerin ip adresleri sürekli değişiyor ve yazdığımız block kuralı işe yaramıyor.Belirli aralıklarda bir programcıkla facebook ve twitter’in ip adreslerini tespit edecek ufak bir nslookup veya benzeri birşeyler kullanarak tespit edilip Alias’a ekletilebilir : ))

Neyse beyin firtinamizi bir kenara bırakalım ve EasyRule kurallarımızı oluşturmaya devam edelim.

Detaylı Pass kuralı oluşturma örneği ;

easyrule pass     [destination port]

Örneğin WAN arayüzüne 192.168.1.6 ip adresinden 192.168.3.100 ip adresinin 80 portuna gelen istekleri kabul eden bir pass kuralı yazmak isterseniz aşağıdaki şekilde bir komut koşturmanız gerekir.

easyrule pass wan tcp 192.168.1.6 192.168.3.100 80

Bakalım pfSense wan tarafında nasıl bir kural girdisi oluştu.

04

Bütün portlara izin vermemiz gerekirse port bölümünü any yapabiliriz.

Örneğin ;

easyrule pass wan tcp 192.168.1.6 192.168.3.100 any

05

Yukarıdaki resimde gördüğünüz gibi port kismi “*” yani her port için izin vermiş olduk.Aynı mantığı kullanarak WAN tarafında full any kuralıda oluşturabiliriz.

easyrule pass wan any any any any

06

Resim’de gördüğünüz gibi full allow kuralımızıda eklemiş olduk.Elimden geldiğince basit ve anlayabileceğiniz bir dil’de anlatmaya çalıştım.Umarım başarılı bir makale olmuştur.Keyifli çalışmalar,

Bilgi Bir Bilgi Paylaşımında Görüşmek Üzere...

Sorun aslında FreeRadius’a özgü olsa da aslında sorun demeyelimde ipucu demek daha sağlıklı olur.Eğer sizlerde benim gibi pfSense üzerinde freeradius manyağı olduysanız günün birinde bu konuya uğrayacağınız kesin .

pfSense üzerinde eğer Freeradius’a nas olarak CaptivePortal kullanacaksanız default olarak Simultaneous-Use kullanımına izin vermiyor.Yani siz CaptivePortal üzerinde eş zamanlı kontrol değil de freeradius üzerinde yapmak isterseniz bu işlev çalışmayacaktır.

Senaryo : Disable Corcurrent işaretli olduğundan bir kullanıcı hesabiyla sadece 1 kişi sisteme giriş yapabiliyordu.Ama konferans düzenleyen yerlerde her katılımcıya ayrı şifre vermek oldukça zahmetli ve kabul edilebilirliği olmuyordu.Sadece belirli hesaplara birden fazla eş zamanlı erişim yetkisini freeradius ile vermek isterseniz aşağıdaki şekilde bir konfigurasyon yapmanız gerekir.

Öncelikle pfSense üzerindeki Simultaneous-Use kullanabilmek için biraz işin kod tarafına inmeniz gerekiyor.Çünkü default olarak Simulataneous sql query yorum satırı olarak gelmektedir.İsteğe bağlı olarak aktif ediliyor.Aktif etmek için pfSense üzerindeki dialup.conf dosyasını bulmamız gerekir.Aşağıdaki şekilde aratmanız gerekir.

find / -name dialup.conf

Arama sonuçlarında birden fazla dialup.conf dosyası çıkacaktır.Ben freeradius’u MySQL üzerinde koşturduğum için mysql dizini altındaki dialup.conf dosyasında değişiklik yapacağım.Zaten diğerleri example olarak gelmektedir.Örnek dosyalar yani.

dialup.conf location :

/usr/pbi/freeradius-amd64/etc/raddb/sql/mysql/dialup.conf

İlgili dosyanın hangi dizinde olduğunu bulduktan sonra vi editorümüz ile dosyayı açalım.

vi /usr/pbi/freeradius-amd64/etc/raddb/sql/mysql/dialup.conf

Dosyayı açtıktan sonra 290-293 satırlarındaki # (yorum satırı) işaretlerini kaldırarak çalışmasını sağlayalalım.

Orjinal Kod :

#simul_count_query = "SELECT COUNT(*) 
#FROM ${acct_table1} 
#WHERE username = `%{SQL-User-Name}` 
 #AND acctstoptime IS NULL"

Değişiklikten sonraki hali :

simul_count_query = "SELECT COUNT(*) 
FROM ${acct_table1} 
WHERE username = `%{SQL-User-Name}` 
AND acctstoptime IS NULL"

CaptivePortal’da değiştirmeniz gereken ayarlar :

Disable Corcurrent seçeneği işaretliyse işaretini kaldırın.
Reauthenticate connected users every minute seçeneğini işaretliyse işaretini kaldırın.
send RADIUS accounting packets seçeneğinin işaretli olduğundan emin olun ve 1813 portuna paketleri gönderdiğiniden emin olun.

Freeradius üzerinde Simultaneous-Use bu ayarlardan sonra çalışacaktır.

Kullanıcıya eş zamanlı erişim tanımlama :

tablo : radcheck

username | attribute | op | value
samet | Simultaneous-Use | := | 1

Yukarıdaki şekilde bir kayıt girerseniz samet kullanıcısına eş zamanlı 1 kullanıcı hakkı tanımış olursunuz.

Grup bazlı tanımlama yapmak için

tablo : radgroupcheck
groupname | attribute | op | value
grupadi | Simultaneous-Use | := | 5

Grup’a üye olan bütün kullanıcı hesaplarıyla 5 erişim hakkı sağlanır.

Dezavantajları : Disable Corcurrent seçeneği işaretli olduğunda içeride bir kullanıcı varsa sonradan girecek olan kullanıcı içeriye sokar, içerde varolan kullanıcıyı dışarıya atıyor.Ama Simulataneous-Use ile ben bunu beceremedim böyle birşeyin mümkün olmadığını gördüm.Ama biraz kodlarla oynanarak yapılabilecek birşey ama uğraş ister: )

Daha farklı kafanızda algoritmalar üreterekte bu tarz sorunları aşabilirsiniz. : )

Selametle kalın Kardeşlerim..

PFSense Ghost  Hot Spot Modülü Kurulumu ve Ayarları

Merhaba Arkadaşlar, Bu makalemizde PFSense üzerinde Hot Spot hizmetinin nasıl verileceğini anlatacağım ve geliştirmiş olduğumuz Ghost Hot Spot modülünün PFSense sunucusuna nasıl kurulacağı hakkında teknik bilgiler aktarıyor olacağım.

Ghost Freeradius’un veritabanına hükmeden PHP ile yazılmış basit ve geliştirilebilir bir scripttir. İstediğiniz gibi düzenleyebilir,Değiştirebilir hatta satabilirsiniz. Askere gideceğim için ekmeğini yemek bana nasip olmadı inşallah siz bu işten ekmek kazanırsınız.


Ghost direk Freeradius ile entegre olarak çalıştığı için Firewall cihazınızın illa PFSense olması gerekmiyor. Freeradius kullanan herhangi bir firewall ile Ghostu sorunsuz çalıştırırsınız.

Biz bu makalemizde PFSense üzerinde yapılandıracağımız için aşağıdaki konuları size anlatıyor olacağım.

– MySQL Server Kurulumu
– MySQL Veritabanı ve Kullanıcı Oluşturma İşlemleri
– Php Componentleri Kurulumu
– Ghost’un PfSense Public klasörüne kopyalanması ve Veritabanı Ayarları
– Squid,Freeradius 2 Kurulumu ve Ayarları
– Captive Portal Kurulumu ve Freeradius2 ile haberleşmesini sağlamak.
– Freeradius2 ile MYSQL Sunucusunu haberleştirmek
– Ghost İlk Ayarlar
– Freeradius Attribute Mantığı

Özellikler
Karşılma Ekranı
Dört adet Kimlik Doğrulama seçeneği
– Tc kimlik doğrulamalı otomatik giriş sistemi.
– Sms ile üyelik işlemi
– Voucher kodu ile giriş
– Normal giriş
– Mobil Tasarım
Yönetici Paneli Özellikleri
Log Yönetimi
Kullanıcı Giriş Logları
Kullanıcı Detaylı Loglar (Upload,Download,Username,Password,Session Time,IP,MAC)
Sms Logları (Username,Password,Telefon No,Gönderim Durumu (Başarılı,Başarısız)
Kullanıcı Yönetimi
Saatlik,Günlük,Haftalık,Sınırsız Kullanıcı Ekleyebilme,Silme,Düzenleme
Online Kullanıcı Takibi
Genel Ayarlar
SMS Ayarları ve Şifre Limitleri
Ghost şifre değiştirebilme

Resimlerle Ghost – Yöneti Paneli
ghost01

Captive Portal Karşılama Ekranı

ghost2

 

 

Eğer Freeradius2 kurulumunu MySQL Server’den önce yaparsanız Freeradius2 ile beraber gelen MySQL Client ile bizim kuracağımız aynı versiyon olmadığından dolayı Kurulumda hatalarla karşılaşabilirsiniz. Size önerim makaleyi takip etmeniz ve ilk MySQL Sunucusunun kurulumunu tamamlamanız. Eğer Freeradius hali hazırda çalışıyorsa pkg_info komutunu SSH üzerinde koşturup kullanılan MySQL Client yazılımın sürümüne göre MySQL Server versiyon seçimi yapılabilir.
Kurulumu başlatmak için SSH üzerinde aşağıdaki komutu koşturunuz.Bu işlem 2-3 dakika gibi bir zamanınızı alacaktır. (İnternet hızınıza göre değişebilir.)

MySQL Server ve MySQL client yazılımlarını kuruyoruz.

 # pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/i386/8.3-RELEASE/packages/databases/mysql-server-5.5.21.tbz
 # /usr/local/bin/mysql_install_db --basedir=/usr/local

Kurulumu başarıyla tamamlamış olmanız geliyor. MySQL dizinlerine yazma izni veriyoruz.

 # chmod 777 /var/db/mysql

Mysql-server dosyamızın başlangıçta çalışması için ismini değiştiriyoruz.

 # mv /usr/local/etc/rc.d/mysql-server /usr/local/etc/rc.d/mysql-server.sh

mysql-server.sh dosyamızı düzenliyoruz.( Ben editor olarak nano kullanıyorum siz vi kullanıyorsanız aşağıdaki komutu kendinize göre düzenleyiniz.Nano kurmak isterseniz aşağıdaki komutu koşturabilirsiniz. )
Nano Kurulumu

 # pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/i386/8.3-RELEASE/packages/editors/nano-2.2.6.tbz

(CTRL + X dosyayı kaydeder. CTRL + W Arama. )

 # nano /usr/local/etc/rc.d/mysql-server.sh

Bu satırı bulun

 # : ${mysql_enable="NO"}

Aşağıdaki gibi değiştiriniz.

 #: ${mysql_enable="YES"}

İşlemleri tamamladıktan sonra MySQL Serverimiz çalışması için aşağıdaki komutu koşturuyoruz.

 # /usr/local/etc/rc.d/mysql-server.sh start

MySQL Server root kullanıcısı için bir şifre belirliyoruz.

 # /usr/local/bin/mysqladmin -u root password  `ghostugur`

Tebrikler.! MySQL Server kurulumunu başarıyla tamamladınız.PFSense sunucunuzu aşağıdaki komutu koşturarak yeniden başlatınız.

 # shuwdown –r now

Şimdi MySQL sunucusu üzerinde Ghost’un kullanacağı veritabanını ve kullanıcısını oluşturuyoruz.MySQL Konsola bağlanın ve az önce belirlediğiniz şifreye yazıp konsola düşün..(Şifre bilgilerini kendinize göre düzenleyin.)

 # mysql -u root –p

Ghost ve Freeradius için birtane Radius isminde veritabanı oluşturuyoruz.

 # CREATE DATABASE radius;

Ghost ve Freeradius için mysql user oluşturuyoruz

 # CREATE USER `radius`@`localhost`;

Oluşturmuş olduğumuz user için bir şifre belirliyoruz.

 # SET PASSWORD FOR `radius`@`localhost` = PASSWORD(`radpass`);

Oluşturmuş olduğumuz kullanıcının MySQL serverdaki Radius veritabanına erişmesi için izin veriyoruz.

 # GRANT ALL ON radius.* TO `radius`@`localhost`;

Eğer hala bir hatayla karşılaşmadıysanız sizi tebrik ediyorum ve PFSense Package Manager kısmından aşağıdaki paketlerin kurulumlarını sırasıyla yapmanızı istiyorum.
Eğer oluşturduğunuz MySQL Veritabanına dışarıdan ulaşmak isterseniz aşağıdaki komutu koşturmanız gerekir. (3306 portunu PFSense’nin lan bacağına natlamayı unutmayın.)

 # mysql –u root –p
 # GRANT ALL ON radius.* TO `radius`@`%` IDENTIFIED BY `radpass`;

Eğer yaptığımız işlemleri özetlememiz gerekirse aşağıdaki şekilde bir tablo ortaya çıkıyor.

MySQL Server Kurulumu yaptık ve aşağıdaki bilgileri kapsayan bir veritabanı oluşturduk.

Database Name : Radius
Database User : Radius
User Password : radpass

 

TC Kimlik doğrulaması ve MySQL için aşağıdaki komutları sırasıyla koşturunuz.Burada dikkat etmeniz gereken bir nokta var yazmış olduğumuz script her PFSense sunucusunda sorunsuzca çalışacaktır. (Freeradius2 veritabanında köklü bir değişiklik yapmadığı sürece) Ama burada dikkat etmemiz gereken durum TC kimlik doğrulaması için SOAP kurulumu yapıyoruz eğer sizin PFSense sunucunuzda kurulu olan PHP Versiyonuyla SOAP versiyonu arasında çok fazla sürüm farkı varsa PFSense sunucunuzda sorunlar yaşabilirsiniz. Bu durumda php –v ile php sürümünü öğrenip Freebsd reposundan uygun olan soap paketini yüklemektir. Şuan PFSense 2.1 üzerinde sorunsuzca çalışmaktadır. Eğer SOAP kurduktan sonra PFSense sunucunuzda sorunlar yaşarsanız pkg_info ile paket listesini görüp daha sonrasında pkg_delete –f paketismi şeklinde soap’ı kaldırırsanız sorununuz düzelir.

 # pkg_add -rfi http://ftp-archive.freebsd.org/pub/FreeBSD/ports/i386/packages-8.3-release/All/php5-soap-5.3.10_1.tbz
 # touch /etc/php_dynamodules/mysql
 # touch /etc/php_dynamodules/php-soap

PfSense sunucumuzu yeniden başlatıyoruz.

 # shutdown –r now

İsterseniz buraya kadar yaptığımız adımları yapmamıza gerek duymabiliriz. Eğer Bir MySQL,Apache veya IIS,MYSQL Kurulu bir sunucunuz varsa Ghostun ve Radius veritabanın kurulumunu oraya yaparak bukadar dertten kurtulmuş olursunuz. (Captive Portal dosyaları için soap ve mysql extension işlemlerini yapmak zorundasınız.)

Şimdi Ghost’un dosyalarını PFSense Firewall dosyalarının yanına kopyalıyoruz.Aşağıdaki komutları sırasıyla koşturunuz.

# mkdir /usr/local/www/ghost
# cd /usr/local/www/ghost
# fetch http://sametyilmaz.com.tr/ghost.tar
# tar xvzf ghost.tar

Freeradius’un ve Ghost’un kullanacağı veritabanı tablolarını oluşturmak için aşağıdaki komutları koşturunuz.

SQL Dosyamızı oluşturduğumuz veritabanına import ediyoruz.Şifre soracaktır benim yukarıda belirlediğim şifre “ radpass “ olarak geçmektedir.

# mysql –p –u radius radius < /usr/local/www/ghost/ghost.sql

Ghost Yönetici Paneli`nin Veritabanına bağlantısı sağlayabilmesi için MySQL Bağlantı dosyasındaki bilgileri yukarıda oluşturduğunuz sql veritabanı ve kullanıcısına göre değiştirmeniz gerekmektedir.

# nano /usr/local/www/ghost/inc/db_settings.php

SSH üzerinde şuanlık yapacağımız işlemler bu kadardır. PFSense arayüzüne giriş yapın ve System -> Packages menüsüne girin.

01

Available Packages bölümünden yukarıdaki paketlerin kurulumlarını tamamlayınız.

Kurulum işlemleri tamamlandıktan sonra Captive Portal ayarlarımızı yapılandıralım.

02

Services -> Captive Portal menüsüne girin ve birtane Captive Portal zone bölgesi ekleyin.

03

Zone name : Bir bölge ismi belirtiniz.
Description : Bir açıklama girip Continue ile devam edin.

05

Eğer siz captive portal üzerinde Bandwith limitleme ve buna benzer kısıtlamalar yapacaksanız kendinize göre ayarlarınızı özelleştirebilirsiniz.Ben standart bir captive portal yapılandırmasının ekran görüntüsün sizlerle paylaşıyorum.

06

Standart Squid Server yapılandırmasını ekran görüntüsü olarak paylaştım. Ayarlarınızdan bir eksik varsa tamamlamanızda fayda var.

Şimdi Freeradius2 ile Captive Portal Entegrasyonunu tamamlayalım.

Services -> Freeradius menüsüne giriş yapın.

07

Nas Client bölümüne geçiş yağın ve [+] butonuyla bir adet nas oluşturalım.

08

Client Shortname olarak Status -> Services bölümünde Captive Portal’ın servis ismini yazın. Bir tane Client Shared secret belirleyin ve Captive Portal Lan interface ip adresini yazip ayarlarınızı kaydedin.

09

Captive Portal’dan gelen Accunting ve Authentication paketlerini dinlemek için Interfaces tabından aşağıdaki şekilde 2 tane interface oluşturun.

10

Interface IP olarak * belirtiyoruz. Port 1812 Interface type olarak Authentication seçip ayarlarımızı kaydedelim.

11

Interface IP olarak * Port olarak 1813 Interface type olarak Accounting belirtip Save ile ayarlarımızı kaydedelim.

Şimdi Captive Portal ve Freeradius2 entegrasyonunu tamamlamak için Services -> Captive Portal -> Oluşturduğunuz bölgeyi düzenleyin ve ayarlarınızı aşağıdaki şekilde yapılandırın.

12

Authentication Type olarak Radius Authentication seçin ve Radius Protocol olarak PAP seçimini yapınız.

Radius sunucumuzun bilgilerini ekran gördüğünüz gibi yazınız. IP Address olarak PFSense sunucumuzun LAN Interface ip adresini yazıyoruz.

Authentication olarak belirlediğim 1812 portunu yazıyoruz. (Boşta bırakabilirsiniz default 1812 ‘den haberleşecektir.)

Shared Secret : Freeradius bölümünde NAS Client eklerken oluşturmuş olduğumuz şifreyi burada belirtiyoruz.

13

 

Biraz sayfayı aşağıya indirdiğinizde yukarıdaki resimde gördüğünüz ayarları yapılandırın.Accounting port olarak 1813 belirtiyoruz.
Account güncellemelerinin Radius’a gönderilmesi için Start – Stop accounting seçeneğini işaretliyoruz.

Ayarlarımızı kaydedip çıkıyoruz.Captive Portal ve Freeradius servislerini Status -> Services sekmesinden yeniden başlatıyoruz.

14

Gördüğünüz gibi servislerimiz başarılı şekilde çalıştı ve herhangi bir problem söz konusu değilmiş gibi duruyor.Test etmek için Services -> Freeradius -> Users segmetinden bir tane standart kullanıcı oluşturup Captive Portal tarafına bakan Clientlardan bir test işlemi gerçekleştirirseniz daha sağlıklı olacaktır.

15


Kullanıcı Adı samet ve şifresi 1 olarak bir kullanıcı yarattım. Sizlerde bu şekilde Freeradius üzerinden kullanıcılar oluşturabilir detaylı yetkilendirmeler yapabilirsiniz. Bu adıma kadar Freeradius ve Captive portal’ın haberleşmesini sağladık.

Şimdi Freeradius ile MySQL Sunucumuzun entegrasyonunu tamamlayalım.

16

Services -> Freeradius -> SQL Segmentine gelelim ve resimde gördüğünüz gibi ayarlarımızı yapılandıralım.Bu adımda Authentication,Accounting,Session ve Post Auth loglarının MySQL üzerinde tutulması için seçeneklerin hepsini Enable olarak belirtiyoruz.

17

Sayfayı biraz aşağıya indirdiğnizde MySQL Sunucumuzun bilgilerini ve Oluşturmuş olduğumuz veritabanı bilgilerini istemektedir.
Ben makalemizde MySQL Server üzerinde veritabanı ve kullanıcı bilgilerini aşağıdaki şekilde yapılandırmıştım sizde kendinize göre düzenleyip resimdeki gibi yapınız.

Server IP Address (MySQL Sunucu ip adresi): localhost
Server Port Address (MySQL Default Port): 3306
Database Username (veritabanı kullanıcısı ): Radius
Database Password (veritabanı kullanıcı şifresi): radpass
Database Table Congiuration (veritabanı ismini yazıyoruz.)=: Radius

18

Read Client from Database default olarak Yes olarak geliyor. Bunu no olarak değiştiriniz.

Ayarlarınızı kaydedin ve Status -> System Logs menüsüne giriş yapın ve aşağıdaki şekilde SQL ile haberleşip haberleşmediğini kontrol ediniz. Sistem loğlarına aşağıdaki şekilde loğların düşmesi gerekiyor.

19

Logları gördükten sonra son kez Status -> Services bölümüne girin ve servislerin çalıştığından emin olun.

20

Gördüğünüz gibi bütün servislerim sorunsuz çalışmaktadır. J

Şimdi Captive Portal karşılama ekranı için Ghost Portal dosyalarının yüklemelerini yapalım.Öncelikle aşağıdaki dosyayı bilgisayarınıza indirin.

Ghost Karşılama Ekranı : http://www.sametyilmaz.com.tr/portal.rar

Services -> Captive Portal -> Oluşturduğunuz bölgeyi düzenleyin ve resimdeki bölüme gelin.

21

Portal page contents : Buraya indirmiş olduğunuz dosyadaki index.html dosyasını yükleyiniz.

Authentication Error page contents : Buraya’da indirmiş olduğunuz dosyadaki hata.html yükleyiniz.

Save diyerek yükleme işlemini tamamlayın. İndirmiş olduğunuz portal.rar dosyasının içindeki captiveportal-config.php dosyasının içeriğindeki veritabanı bağlantı bilgilerini kendinize göre düzenleyin ve Captive-Portal – Filemanager segmentine gelin

22

 Portal.rar dosyasının içinden çıkan index.html ve hata.html hariç diğer bütün dosyaların yükleme işlemlerini buradan yüklemesini tamamlayın.Bütün işlemlerimizi başarıyla tamamladık .!

23

Client karşılama ekranımız sağlıklı bir şekilde geldiğini görmekteyiz. Logo’yu değiştirmek isterseniz Captive Portal File Manager bölümünden captiveportal-logo.png isimli logonuzu upload ederseniz logonuz değişmiş olur.
Sms veya TC Kimlik girişlerini kapatmak isterseniz  “index.html” dosyasından ilgili divleri silerseniz sildiğiniz bölüm kalkar .


Ghost Yönetim Paneline giriş nasıl yapılır ?
http://pfsenseipadresi/ghost adresinden Ghost paneline ulaşabilirsiniz. Eğer PFSense’nin portunu değiştirdiyseniz 
http://pfsenseipadresi:[port]/ghost şeklinde erişebilirsiniz.

Ghost Default Kullanıcı Adı ve Şifresi
Kullanıcı Adı : admin
Şifre : ghost

24

Giriş işlemini tamamladıktan sonra şifrenizi My Account -> Şifre Değiştir bölümünden yapabilirsiniz.

SMS Gateway olarak “ Ileti Merkezi “ kullanılmıştır. SMS Paketi aldıktan sonra size verilen kullanıcı adı ve şifreyi My Account -> Genel Ayarlar sekmesinde belirtip sms gönderme sisteminin çalışmasını sağlayabilirsiniz.

Sms ile gönderilen mesajı değiştirmek isterseniz captiveportal-sms.php dosyasından değişiklik yapabilirsiniz. (Notepad ++ yazılımıyla açın.)

29

Loglar

Loglar -> Kullanıcı Giriş Logları

Adı üstünde girişi onaylanmış kullanıcıların ne zaman giriş yaptıklarınız görebilirsiniz.

25

Loglar -> Detaylı Kullanıcı Logları

Anlık kullanıcıları görebilirsiniz.Sisteme giriş yapmış ve upload,download oturum süresini bu bölümden takip edebilirsiniz. Ayrıca Başlangıc,Bitiş,IP ve MAC gibi loğlarda mevcuttur.
26

Kullanıcılar bölümünden TC Kimlik,SMS ve Ghost üzerinden açılan kullanıcıları listeleyebilir,düzenleyebilir ve silebilirsiniz.

27

Ghost üzerinden Süreli,Süresiz,Saatlik kullanıcılar ekleyebilirsiniz.

28

Radreply,Radcheck tablolarına eklenmiş verileri listeleyebilir silebilir düzenleyebilirsiniz.

31

Attribute Ekleme (RadCheck ve RadReply)

32

Buradaki geyik aslında veritabanındaki radreply ve radcheck isimli tablolara veri ekleme.Ama bu tablolar Attribute göre hareket eder.Eğer gruplandırma yapmak yazılımı biraz daha geliştirmek isterseniz

radgroupcheck

radgroupreply

rapusergroup

Yukarıdaki isimleri geçen tablolar içinde PHP’de bir form post sayfası yapıp gruplar oluşturabilirsiniz.Örnek Personel diye bir grup oluşturursunuz ve oluşturduğunuz userleri bu gruba üye edersiniz grup bazlı kısıtlamalar limitlemeler yapabilirsiniz.Ben bu bölümü yapma gereği duymadım yani çok ihtiyaç olacağını düşündüğüm bir şey değil. Bilin diye söylemek istedim.

Şimdi biraz Attribute üzerinde biraz duralım.

Attribute Nedir ?

Türkçesi özellikler anlamına gelir. Buradan şunu anlıyor olmanız gerekir Kullanıcılara vereceğimiz özeliikleri Attribute sutunune vereceğimiz değerlerle belirliyoruz.Ama aynı zamanda Attribute ile kullanıcıda oluşturabiliyoruz.

RadCheck Nedir ?

RadCheck Freeradius`un Attribute listesini tutan tablonun ismidir. Ama aynı tablodan birtane daha RadReply adında vardır. İkiside aynı işe yarıyor ama bazı Özellikler RadCheck`te çalışıyorken bazıları ise RadReply tablosuna eklemeniz gerekiyor.

Eğer biz yeni bir kullanıcı oluşturmak istersek aşağıdaki şekilde RadCheck bölümünden formu doldurursanız vermiş olduğunuz değerler bir adet internet kullanıcısı oluşturacaktır.

 

username attribute op value
samet User-Password == şifre

 

username attribute op value
samet User-Password == şifre
Username : Bir kullanıcı ismi belirledik.
Attribute : Bir kullanıcı olduğunu belirttik.
Op : Kullanıcı hesapları için op değerinin == olması gerektiği için == yazdık.
Value : Value değeri olarak kullanıcının şifresinin şifre olmasını sağladık.

Sonuç : Captive Portal login ekranın kullanıcı adına samet şifre bölümüne şifre yazarsanız sınırsız bir internet kullanıcısıyla internete çıkmış olursunuz.

 

Kullanıcıya Süreli İnternet Vermek ;

 

 

username attribute op value
samet Expiration = 29 Jan 2014

 

Eğer radcheck bölümünden yukarıdaki şekilde kayıt girerseniz 29 Jan 2014 tarihinde kullanıcı hesabı devre dışı olacaktır.

Kullanıcıya Günlük Saat kotası belirlemek

username attribute op value
samet Max-Daily-Session := 1800

 

Eğer yukarıdaki şekilde Radcheck bölümünden bir kayıt girerseniz kullanıcıya 30 dk internet özelliği ekler ve 30 dakika dolduktan sonra hesap devre dışı olur.

Attribute Listesi : http://freeradius.org/rfc/attributes.html
Attribute Kullanımı : http://freeradius.org/radiusd/man/users.html
Yönetici Paneli Demo
URL  : www.sametyilmaz.com.tr/ghost
Kullanıcı Adı : admin
Şifre : ghost

Karşılama Ekranı Demo
URL : www.sametyilmaz.com.tr/hotspot

Elimden geldiğince size Ghost ve PFSense üzerinde Nasıl Hot Spot hizmeti vereceğinizi anlatmaya çalıştım. Aslında çok karışık gelsede bir kere kurulum yaptıktan sonra artık daha kolay olacak ve kendinize göre yazılıma özellikler ekleyip özelleştirebileceksiniz.1 Haftalık çalışmanın bir eseridir ve 2 hafta son askerim.Elimden geldiğince güzel birşeyler ortaya çıkarmaya çalıştım.İnşallah beğenirsiniz.

Ghost herkese hayırlı olsunJ

Saygı ve Sevgi ile kalın.

 

Selamlar ;

Bir arkadaşımız için hazırladığım 5651 scriptini siz değerli ziyaretçilerimle paylaşmayı düşündüm. Üzerinde çok fazla duramadım ama ilerleyen zamanlarda daha iyisini geliştirip tekrar sizinle paylaşırım. Şimdilik benden istenen sadece ilgili logların FTP Sunucusuna gönderilmesi ve eski logların temizlenmesiydi.

Kurulum için hiçbir ekstra paket kurmanıza gerek yok.İlgili dosyaları kendinize göre düzenledikten sonra ilgili dizinlere kopyalayip çalıştırmanız yeterlidir. Bir sonra ki versiyonda Script’e Samba Client kullanarak Windows ortamdaki bilgisayara aktarılmasını, Proxy loglarını veya http isteklerini de güzelce parse edip güzel birşeyler ortaya çıkartmaya çalışırız.

5651.sh dosyasi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#!/bin/sh
#   _____         __  __ ______ _________     _______ _      __  __           ______
#  / ____|  /   |  /  |  ____|__   __    / /_   _| |    |  /  |   /    |___  /
# | (___   /    |   / | |__     | |   \_/ /  | | | |    |   / |  /        / /
#  \___ / / | |/| |  __|    | |       /   | | | |    | |/| | / /     / / 
#  ____) / ____ | |  | | |____   | |     | |   _| |_| |____| |  | |/ ____   / /__
# |_____/_/    \_\_|  |_|______|  |_|     |_|  |_____|______|_|  |_/_/    \_/_____|
# Date : 22.05.2015
# Web  : www.netyum.com.tr     
# Mail : sametyilmaznet@gmail.com     
# Blog : www.sametyilmaz.com.tr                                                               
                                                                                    
logger "5651.sh dosyasi calistirildi!"
 
#Degiskenler
 
#FTP Connection Information
 
HOST=`ip veya host`
USER="kullaniciadiniz"
PASSWD="sifreniz"
FILE="/5651/*.tar.gz"
REMOTEPATH=`5651`
 
#Ftp Log File
FTPLOG=/tmp/ftplogs.out
 
#Date
Tarih=`date "+%Y%m%d-%H%M%S"`
 
#DHCP File
DhcpLogD=/var/dhcpd/var/db/dhcpd.leases
 
#HTTP File
HttpLogD=/var/squid/logs/access.log
 
#Awk Script
ParseD=/sbin/5651.awk
 
 
#Hazirlik Dizinimiz
LogWorkD=/5651
 
if [ ! -d $LogWorkD ]
    then
        mkdir $LogWorkD
        echo "$LogWorkD olusturuldu!"
        sleep 1
    fi
 
#DHCP Islemleri
 
if [ -f $DhcpLogD ]
    then
        /usr/bin/awk -f $ParseD < $DhcpLogD > $LogWorkD/dhcp-$Tarih.txt
        tar -zcvf $LogWorkD/dhcp-$Tarih.tar.gz $LogWorkD/dhcp-$Tarih*
        echo "Dhcp islemleri tamamlandi!"
        logger "Dhcp islemleri tamamlandi!"
    else
     
    echo "DHCP Leases dosyasi bulunamadi!"
    logger "Dhcp Leases dosyasi bulunamadi."
     
    fi
 
    sleep 3
 
#HTTP islemleri
 
if [ -f $HttpLog ]
    then
         
        cp $HttpLogD $LogWorkD/http-$Tarih.txt
        tar -zcvf $LogWorkD/http-$Tarih.tar.gz $LogWorkD/http-$Tarih*
        echo "HTTP dosyasi olusturuldu!"
        logger "Http dosyasi olusturuldu!"
    else
        echo "HTTP dosyasi bulunamadi!"
        logger "HTTP dosyasi bulunamadi!"
    fi
 
 
    sleep 5
 
##FTP Baglantisi
            ftp -nv $HOST > $FTPLOG 2>&1 <<-EOF
        quote USER $USER
        quote PASS $PASSWD
        cd $REMOTEPATH
        prompt
        mput $FILE
            EOF
 
 
if grep "Not Connected" $FTPLOG
then
    echo "FTP baglantisi yapilamadi!"
    logger "FTP baglantisi yapılamadi!"
elif grep "Transfer complete" $FTPLOG
then   
    echo "FTP baglantisi olusturuldu!"
    logger "Dosya Transferi tamamlandi!"
 
else
    echo "FTP baglantisinda bir hata olustu!Tekrar deneyin..."
    logger "FTP baglantisinda bir hata olustu!Tekrar deneyin..."
 
fi
 
echo $?
 
sleep 3
 
rm -rf /5651
 
echo "Hazirlik dizini silindi!"
logger "Hazirlik dizini silindi!"
 
echo "FTP loglari siliniyor..."
rm -rf $FTPLOG
echo "FTP loglari silindi"
 
logger "5651 Islemleri tamamlandi!"
echo "
##############################################################################
######################ISLEMLER TAMAMLANDI!!!!#################################
######################www.sametyilmaz.com.tr##################################
"

5651.awk dosyasi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ip adresi
/lease / { ip = $2 }
 
# Baslangic tarihi.
/starts / { baslangic = $3; bsaat = $4;  gsub(";", "", time) }
 
# Bitis tarihi
/ends / { bitis = $3; bitiss = $4;  gsub(";", "", time) }
 
# Hostname adi
/client-hostname / { host = $2; gsub("[;"]", "", host) }
 
# Mac adresi
/hardware ethernet / { mac = $3; gsub(";", "", mac) }
 
# Ekrana yazdir.
 
/}/ { print "Hostname : " host  " Ip :" ip  " Mac :"  mac  " Baslangic : " baslangic " " bsaat " Bitis :  " bitis  " " bitiss  }

Kurulum için /sbin dizini altında 5651.sh ve 5651.awk isimli dosya olusturun ve bilgileri kendinize göre düzenledikten sonra aşağıdaki komutla yetkilendirmeyi tamamlayın.

1
chmod +x /sbin/5651.sh /sbin/5651.awk

İşlemler tamamlandıktan sonra dosyası aşağıda ki şekilde çalıştırıp test yapabilirsiniz.

1
sh /sbin/5651.sh

Eğer aşağıdaki şekilde bir cron girdisi oluşturursanız günün belirli saatlerinde logların ftp sunucunuza otomatik gönderilmesini sağlamış olursunuz.

CRON

İsterseniz yukarıdaki dosyaları aşağıda ki link’ten download edebilirsiniz.

http://wifiadana.com/tool/pfSense5651toFTP.rar

Merhaba  arkadaşlar bu makalemizde PFSENSE üzerinde Port Forward ( Port Yönlendirme ) işlemini anlatacağım.

PFSENSE’de Port Forward işlemleri nasıl yapılır ?

Örnek vermek gerekirse Networkümüzde bulunan terminal server’a diğer şubelerden bağlanmaları gerekiyor. Bunun için Remote Desktop 3389 portunu içerdeki terminal server’a yönlendirmemiz gerekiyor.

Eğer ek bir güvenlik kuralı oluşturmak istersek PFSENSE üzerinde şöyle  bir şey yapabiliriz. Dışarıdan 3350 portuna gelecek istekleri içerdeki Terminal Server’in 3389 nolu portuna yönlendir diyebiliriz. Böylecikle sunucu üzerinde port değişikliği yapmak yerine PFSense üzerinden bu işlemi  yaparak çözebiliriz.

Yukarıdakiler eğer güvenlik açısından size hala yetersiz geliyorsa açtığımız portlara sadece belirli iplerin bağlanmasını sağlayabiliriz.

Ben içerde bulunan SQL Server’in dışarıya hizmet vermesi için 1433 portunu açmak istiyorum.

Sunucumun Bilgileri 
IP Adresi : 192.168.100.100
Port : 1433

PFSense Web arüyüzüne erişin. Firewall  – > Nat menüsüne giriş yapıyoruz.

Picture0001

Bu bölümde daha önce açmış olduğumuz portları görebilir,silebilir,düzenleyebilir, sırasını değiştirebilir ve yeni kural oluşturabiliriz.

Picture0002

Biz yeni bir kural oluşturacağımız için en üst’te sağda bulunan + butonuna tıklıyoruz.

Picture0003

Yukarıdaki resim’de gördüğünüz gibi Port açmak için değerleri gireceğimiz sayfa açıldı.Öncelikle bu bölümleri tanıyalım.

Disabled : Oluşturacağınız kuralı devredışı olarak oluşturur.
Interface : Hangi ınterface üzerinde bu kuralın geçerli olmasını istediğimizi soruyor. Bizim bağlantılarımız diğer şubelerden geleceği için “WAN” seçiyoruz.
Protocol : Uygulamanıza göre bu değeri değiştirebilirsiniz ben sadece TCP yaptım siz TCP+UDP yapabilirsiniz.
Source : Bu kısımı ilerleyen bölümde anlatacağım.
Destination : Boş bırakıyoruz ilerleyen kısımda anlatacağım.
Destination Port Range : Açmak istediğimiz portu yazıyoruz. Ben MSSQL için 1433 açıyorum.
Redirect Target IP : İçerdeki MSSQL Sunucumun ip adresini yazıyorum.
Description : Oluşturacağımız kurala bir açıklama girebiliriz.
NAT reflection : İlerleyen bölümlerde anlatacağım boş olarak kalsın.
Filter rule association : Aynı zamanda Rules kısmına kural olarak ekleyecek. ( Default bırakıyoruz )

Bu değerleri doğru girdiğinizden emin olduktan sonra “ Save “ butonu ile kaydediyoruz.

 

Değişiklerin geçerli olması için  “  Apply Changes “ butonu ile değişikleri uyguluyoruz.

Picture0004

Test etmek için Client bilgisayarınızdan başlat – > Çalıştır – > cmd

telnet ipadresi 1433 komutunu koşturup sonuca ulaşabilirsiniz.

PFSENSE üzerinde Standart port açma işlemi bukadardır. Umarım faydalı olmuştur. Başka bir makale’de görüşmek üzere…

Kaynak : http://www.netyum.com.tr  - Samet Yılmaz

Kaynak : http://www.wifiadana.com - Hüseyin ispir

Gerekli dosyalar : http://wifiadana.com/tool/Ghostkur.rar

Hard disk cache size : disk kapasitenizin %50 si iyidir.ssd kullanmak daha iyi özellikle raid1 ise çift kat hız.(bende 120 ssd var 50gb iyi gibi görünüyor.)
Memory cache size : sistemdeki toplam ramin %50 si geçmemesi önerilir, php apc en az 1 gb ram i
ster.Toplam sistem ram - APC desteği 1024mb / 2 = max memory cache size kullanabilirsiniz.(yüksek tutmak freeradiusu kötü etkiliyor NAS çakılıyor)
Minimum object size : diske yazılacak cachelenecek verinin minimum boyutu 0 olsun ki herşey cachelenebilsin
Maximum object size : 64000 . 64mb a kadar olan dosyalar cachelensin. zaten 50 gb cache alanımız var onuda 3 tane youtube videosunu cachelemek için kullanılmasın.

0k ile 64mb arası her türde dosyanın disk üzerinde cachelenmesini sağladık.Bu web trafiği yapan kullanıcılar için çok ideal bir orandır.web sitelerindeki videolar hariç diğer herşey cachelenebilir.

Maximum object size in RAM : 128. rama yüklenecek max. cache size.

Sistemimde cacheleme için 128 mb ram ayrıldı ve bu rama 128k dan büyük dosyalar cachelenmeyecek.Avantajı : hdd nın kafa gidip gelme hızının kötü olması bu tür küçük dosyaları ramdan sıstemın daha hızlı okuyabilecek olmasıdır.Örneğin: css, js, logo, favicon vs. küçük boyutlu dosyalar.

dashboarddan disk kapasitenizi takip ediniz.Yükselmeye başlayacaktır.Normaldir.

Avantajları :50gb veri cacheden gideceği için wan trafiğiniz Yaklaşık %20 düşer.Takip ederseniz örneğin lan trafiği 10 mbit ise , wan trafiği 8 mbit civarında olur.SSD takarsanız okuma yazma hızı yüksek olduğu için performans ciddi artar.

Dezavantajları : squid ve squidguard hdd dosya sisteminin bozulması kolay olacağı için (çok fazla dosya var milyonlarca) çakılabilir.stop olur.web trafiğiniz etkilenir.ara ara cache i sildirmeniz gerekir.sıkıntılı bir işlemdir.http sayfalar açılırken squid hata verir.genelde squid -z komutu işi çözer.

Merhabalar,

Bazı durumlarda pfSense’i varolan ağ yapısında herhangi bir ip değişikliği yapmadan köprü modunda çalıştırmamız gerekebiliyor.Bunun en büyük örneği’de Veri Merkezlerinden Co Location hizmeti alan müşterilerin donanımsal firewall yerine pfsense seçmek istediği zamanlar olabiliyor.Bu durum’da siz normal bir şekilde pfSense kurulumu yaptığınız zaman istemcilerinize pfSense’in lan bacağına tanımladığınız network’ten bir ip vermelisiniz ve gateway olarak pfSense’i göstermelisiniz.

Bu olayı daha iyi anlayabilmeniz için aşağıdaki şekilde iki tane diyagram hazırladım. Birisi Gateway Mod, diğeri ise Transparent modunda pfSense Ağ diyagramı.

Gateway olarak çalışan pfSense Ağ Diyagramı :

GATEWAY
Transparent olarak çalışan Bridge portumuzun ağ diyagramı ;

transparent

İkisi arasındaki en büyük fark istemciler 1.grafik’te gateway olarak pfSense görmekteler.2.Grafik’te yani Transparent modda ise varolan network yapısını ellemeden direk router gateway olarak görülmektedir.Bu durum’da router ve istemci arasında yerleştirdiğimiz pfsense sonrasında istemci tarafında herhangi bir network değişikliği yapmadan pfsense devreye almış olduk.

pfSense üzerindeki interface listem şu şekildedir.

WAN -> em0
LAN -> le0
BRIDGE -> le2

Yukarıdaki interface listeme göre 2 tane ağ arayüzüm bulunmaktadır.Bizi asıl ilgilendiren kısım BRIDGE olduğu için diğer LAN arayüzü kafanızı karıştırmasın.

Bridge Interface Ayarları
bridge

Öncelikle Interface -> Assign-> Bridges menüsüne gelin ve WAN(em0) arayüzünü BRIDGE(le2) arayüzüne bridge duruma getirelim.

bridges1

+ Butonuna tıklayın ve yenı bir bridge segmenti olusmasını saglayın.

bridge2

WAN arayüzünün hangi arayüze bridge olacağını seçiniz ve kaydediniz.

bridge3

pfSense -> Advanced Settings -> System Tunables -> Sarıya çizili olan Enable filtering bridge girdisinin value değerini 1 yaparak aktif hale gelmesini sağlayın.

BRIDGE arayüzüne bakan istemcilere router networkünden bir ip adresi verdiğinizde Firewall üzerinden internete eriştiğinizi göreceksiniz.

Test etmek için tcpdump ile BRIDGE portunu dinleyelim

tcpdump -i bridge0

tcpdump çıktısı

01:41:12.926692 IP 192.168.1.18.ntp > 194.27.44.56.ntp: NTPv4, Client, length 48
01:41:12.961970 IP 194.27.44.56.ntp > 192.168.1.18.ntp: NTPv4, Server, length 48
01:41:46.695587 IP6 fe80::4120:8bd3:5dd1:8ed.58842 > ff02::1:3.5355: UDP, length 24
01:41:46.695754 IP 192.168.1.7.53706 > 224.0.0.252.5355: UDP, length 24
01:41:46.795535 IP6 fe80::4120:8bd3:5dd1:8ed.58842 > ff02::1:3.5355: UDP, length 24
01:41:46.795595 IP 192.168.1.7.53706 > 224.0.0.252.5355: UDP, length 24
01:41:46.996073 IP 192.168.1.7.netbios-ns > 192.168.1.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADC                     AST
01:41:47.754963 IP 192.168.1.7.netbios-ns > 192.168.1.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADC                     AST
01:41:48.495770 IP 192.168.1.7.netbios-ns > 192.168.1.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADC                     AST
01:42:15.157319 ARP, Request who-has 192.168.1.16 tell 192.168.1.7, length 46
01:42:40.672442 IP 192.168.1.7.netbios-ns > 192.168.1.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADC                     AST
01:42:41.421635 IP 192.168.1.7.netbios-ns > 192.168.1.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADC                     AST
01:42:42.171669 IP 192.168.1.7.netbios-ns > 192.168.1.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADC                     AST

Eğer dışarıdan erişilmesini isterseniz bildiğiniz veya tahmin ettiğiniz üzere WAN tarafında kendinize göre kurallar oluşturmalısınız.Örneğin ben dışarıdan gelecek bütün isteklere aşağıdaki şekilde bir kural yazdım.

bridge4

BRIDGE arayüzünde aşağıdaki şekilde full Allow kuralı yazdım.Siz tabi aynısını yapmayıp sadece kullanacağınız portlardan çıkışlara izin verirseniz daha güvenlikli ve sağlıklı bir yapı elde etmiş olursunuz.

bridge5

Umarım bu konu hakkında kafanızda oluşan bütün soru işaretlerini bu makale ile bir nebze olsun bitirebilmişimdir. Başka bir makale’de görüşmek üzere

www.wifiadana.com

Kablolamada dikkat edilmesi gereken iki temel parametre vardır.

Bant genişliği; kablolama kullanılan malzemelerin uç uca bağlandıklarında ve network üzerinde çalıştırıldığında oluşan etkileşim (NEXT,FEXT,RL,ACR parametreleri) kablolama altyapısı sadece kablodan oluşmamaktadır.

Tüm parçaların birbiri ile uyumlu çalışması gerekmektedir. Ve network aktif cihazından çıkan bir bilginin hiçbir etkileşim ve dar boğaz olmaksızın bilgisayarımıza ulaşabilmesi gerekmektedir.

Bunun gerçekleştirilebilmesi için standartların belirtmiş olduğu kablolama standartlarından faydalanabilirsiniz ancak şunu belirteyim ki kablolama standartları sistemin çalışabilmesi için gerekli minumum değerleri belirtmektedir. Bu nedenle birçok üretici kendi testlerini yapmakta ve standartların belirlediği değerlerin üzerinde uçtan uca ürünler üretmektedir.

Kablolama teknolojisinde kullanılan standartlar;cat5,cat5e ve cat6’dır. Bu kablolama teknolojileri arasında büyük farklar vardır. Günümüzde artık cat5 teknolojisi ile üretilen ürünler artık tercih edilmemektedir ve birçok üretici artık cat5 standardındaki üretimlerini durdurmuşlardır.

CAT5e günümüzde en yaygın olarak kullanılan standardıdır. Maliyet olarak ucuz olan bu teknoloji bant genişliği olarak CAT5 gibi aynı bant genişliğini (100mhz) desteklemekte ve CAT5 den daha iyi teknik özelliklere sahiptir. Günümüzde kablolama ve teknolojiye önem veren kurumların tercihi olan kablolama alt yapısı CAT6 standardıdır. CAT6’da bant genişligi standart olarak  250 mhz’dir bazı üreticiler 550 mhz veya 300 mhz lik ürünlerini CAT6 ihtiyaçlarını karşılamak için üretmişlerdir. Hazır kablolama standartlarından bahsetmişken bazı nadir üreticilerin üzerinde durdukları CAT7 kablolamadan da bahsedelim.

CAT7 sadece almanya ve çevresinde tercih gören Avrupa’nın diğer bölgelerinde ve özellikle amerika’da adı bile geçmeyen tamamen zırhlı kablolama olarak planlanmış bir sistemdir. Standartlar tarafından sadece kablonun bant genişliği değerinin ne kadar olacağı belirlenmiştir kablonun dışında kullanılacak diğer parametreleri konusunda büyük belirsizlikler vardır. konnektör yapısının nasıl olacağı karara bağlanamamıştır bakır kablo üzerinde çok daha yüksek bant genişliğini hedefleyen bu ürünler büyük ihtimalle standart olmayacak olan bir teknoloji için üretilmiş olacak gibi görünüyor.

İleride daha büyük bant genişliği  ihtiyaçlarını karşılayacak sistem olarak ‘masaya kadar fiber teknolojisi’ görülmektedir. Sonuç olarak günümüzde, geleceğin ihtiyaçlarını karşılayabilecek ve tüm ürün yelpazesine sahip teknoloji CAT6’dır.

CAT5e ve CAT6 arasında performans olarak büyük olarak büyük farklar bulunmaktadır. Bunu  yapılmış olan bir testi açıklayarak anlatmak faydalı olacaktır.

Bu aralar forumlarda da sık sık önüme çıkıyor dhcp leases bölümünde ip almış cihazları görüntüleyemiyorum veya pfSense üzerinde dhcp rezervasyon diğer adıyla static mapping yaptığım istemciler gözükmüyor gibi sorular oluyor.Bugün benim başımada gelince aklıma nmap geldi. Burada nmap’ı anlatacak kadar uzun bir döküman olmayacak malesef ama basitçe Nmap’ın çalışma mantığından bahsedelim.NMAP Gordon Lyon amcamızın uğraşları doğrultusunda C/C++ ve Phyton yazılım dilleriyle geliştirilmiş bir güvenlik ağ tarayıcısıdır.Nmap ile ağ haritasını çıkartabilir,işletim sistemlerini,portların ve çalışan servislerin durumunu görebilirsiniz.

Bu sorunu aşmak için Ağdaki cihazlara ya ping atmanız gerekir yada nmap gibi benzeri yazılımlarla network’ü scan edip cihazlara pfsense üzerinden paket göndermeniz yeterli olacaktır.pfSense ARP tablosuna bakıp orada /var/db altında dhcp leases dosyasına yazar. Listelerkende aynı şekilde ilgili dosyadan çeker. Eğer siz ortam’da bulunan cihazlarla haberleşirseniz arp tablosuna eklenecek ve pfSense listeleyecek.Ama bazı durumlarda saçmaladığı oluyor ondan dolayı bu durumlarda Nmap ile ağı tarayıp cihazları görebilirsiniz.

Neyse lafı daha fazla uzatmadan Yüklenebilir Paketler listesinden nmap’ı bulun ve yükleyin. Yükleme tamamlandıktan sonra Diagnostics -> Nmap menüsünden aşağıdaki sayfaya erişin ve subnetinizi girip tarama işlemini tamamlayınız.

nmaps1

 

Tarama tamamlandıktan sonra DHCP Leases içeriği ;

ekrantest1

Gördüğünüz gibi üretici isimlerininde artık DHCP leases adı altında geldiğini görmekteyiz.

Artık NMAP ile yapabileceklerinizi geliştirebilir bu aracı pfSense üzerinde daha aktif kullanabilirsiniz.Bizim işimiz dhcp Leases’i update etmekti bitti : )

Selametle…

Php ile Oracle veritabanı sunucunuza bağlanmak isterseniz sunucunuz üzerinde Oracle Client kurulu olması gerekiyor ve PHP extension kurulumlarını yapmanız gerekmektedir.Ben pfSense üzerinde Radius’u , MySQL’i  tutmak yerine Centos üzerinde tutarak bütün yükü pfSense sırtına yüklemek istemiyorum.Sonuç itibariyle pfSense bir Firewall, web server değil : )

Neyse lafı daha fazla uzatmadan yavaştan kuruluma geçelim.Şuan 12.1 oracle client sürümü mevcuttu bende indirip kendi web siteme rpm dosyalarını attım. Eğer yıllar sonra bu makeleye uğrarsanız aşağıdaki link çalışmaya devam ederse güncel RPM dosyalarını indirmeniz gerekir.

http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

Ben kendi web siteme upload ettim.Aşağıdaki RPM paketlerinin yüklemesini başlatalım.

rpm -ivh http://sametyilmaz.com.tr/oracle-instantclient12.1-basic-12.1.0.1.0-1.x86_64.rpm
rpm -ivh http://sametyilmaz.com.tr/oracle-instantclient12.1-devel-12.1.0.1.0-1.x86_64.rpm

Kurulum gereksinimleri için aşağıdaki php-pear ve php-devel paketlerinin kurulumunu tamamlayalım.

yum install php-pear
yum install php-devel

OCI8 Extension download ediyoruz ve sıkıştırılmış dosyayı açıyoruz.

pear download pecl/oci8
tar xvzf oci8-2.0.8.tgz
cd oci8*
phpize

OCI8 Extension için ./configure betiğini kullanarak apache ğzerinde oci8 aktif ediyoruz.

./configure --with-oci8=shared,instantclient,/usr/lib/oracle/12.1/client64/lib/

Derleyip kurulumu başlatıyoruz.

make
make install

Selinux eğer aktifse aşağıdaki komutu koşturmanız gerekmektedir.

setsebool -P httpd_execmem 1

php.ini dosyamıza oci8 extension olarak eklememiz gerekiyor.

nano /etc/php.ini
[OCI8]
extension=oci8.so

Apache servisini yeniden başlatalım.

service httpd restart

Kurulumu başarıyla tamamladık. OCI8 başarıyla kurulu olup olmadığını test etmek için Apache web dizininde aşağıdaki kodlarla phpinfo dosyası oluşturarak kurulu olup olmadığını görebilirsiniz.

phpinfo.php örnek :

 

 

oci8install

Merhabalar;

Kendi yazmış olduğum ve düzenlemiş olduğum paketleri repom’da tutuyordum. Bugün 2.1.3’e upgrade yaptıktan sonra Repo’ma ulaşamadığımı gördüm.

2.1.3 Sürüme kadar XMLRPC alt (pfSense) dizinde tutuyorlardı.Artık onuda kök dizine almışlar.(Yazdıklarına göre Paket reposuna saldırı olmuş güvenlik açısından böyle birşey yapmıslar.)

Eğer varolan bir repoyu 2.1.3 üzerinde çalıştırmak isterseniz pfSense klasoründeki dosyalari kök dizine kopyalamanız gerekiyor.Taşıma işlemi bittikten sonra xmlrpc.php dosyasında aşağıdaki değişikliği yapmanız gerekmektedir.

45.satırın xmlrpc dizinin göstermesi gerekiyor.

$path_to_files = `./xmlrpc/`;

124. satırın paketlerin bulunduğu dizini göstermesi gerekiyor.Default olarak ../packages olarak geliyor. ./packages olarak değiştirmeniz gerekmektedir.(Artık paketleri hangi dizinde tutuyorsanız : )

$path_to_files = `./packages/`;

Eğer kendi reponuzu oluşturmak isterseniz aşağıdaki makale’den faydalanabilirsiniz.

https://doc.pfsense.org/index.php/Creating_Your_Own_Package_Repository

Merhabalar ;

PFSense üzerinde PHP-MSSQL bağlantısı yapabilmeniz için Php MSSQL ve FreeTDS kurulumu yapmanız gerekiyor. Ben aşağıda 64 bit paket adreslerini paylaşıyorum. Eğer sisteminiz 32 bit ise aşağıdaki linkleri repodan 32 bit olan paketlere göre değişiklik yapabilirsiniz.

Kurulumu başlatıyoruz.

pkg_add -rfi ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/8.3-RELEASE/packages/All/php5-mssql-5.3.10_1.tbz
pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/8.3-RELEASE/packages/All/freetds-msdblib-0.64_8,1.tbz
touch /etc/php_dynamodules/php-mssql

Kurulum tamamlandıktan sonra PFSense sunucumuzu yeniden başlatıyoruz. Eğer absürt şekilde bağlantı problemleri yaşarsaniz freetds conf dosyasından SQL Server sunucuzunuzu göstermeniz gerekebilir.Ama ben sorun yaşamamanız adına aşağıda PFSense üzerinde kullandığım MSSQL Connection stringi paylaşıyorum.

include (`config.php`); //Veritabani baglantisi

$sor = mysql_fetch_array(mysql_query("SELECT * FROM consettings WHERE id=`1`"));

$sqldbname = $sor[`sqldbname`];
$sqlport = $sor[`sqlport`];
$sqlhost = $sor[`sqlhost`];
$sqlpass = $sor[`sqlpass`];
$sqluser = $sor[`sqluser`];
$sqladress = $sqlhost.`:`.$sqlport;

$oDbLink = mssql_connect($sqladress, $sqluser,$sqlpass); // connect
$sSql = "SELECT @@VERSION AS MSSQL_VERSION";
$oRes = mssql_query($sSql); // execute the query


mssql_select_db($sqldbname,$oDbLink) OR die ("veri tabani baglanti basarisiz");

mssql_close($oDbLink); // close connection

 

Merhabalar ;

Geçen gittiğimiz bi kurum’da PFSense’i ESXI üzerinde çalıştırmamız gerekiyordu aşağıdaki şekilde bir kurulum yönergesi izledim.Sizlerinde ESXI üzerinde pfsense kurulumu hakkında kafanızda soru işaretleri varsa bu makale sizin sorularınıza cevap olacaktır.

Öncelikle ESXI Sunucumuz üzerinde en az 2 ethernet kartı olması gerekiyor .Ethernet kartimizin tekini WAN olarak belirleyeceğiz diğer ethernet kartimizindan bir kablo ile switch’e gideceğiz.Tabi ESXI üzerinde Virtual Switch oluşturarak ESXI üzerinde bulunan makinelerimizin ve 2.Lan ethernet kartimizin networke bakmasi için ayarlarimizi yapacağız.

Aşağıda ki şema’da kuruluma örnek olmasına adına Network diyagramım bulunmaktadır.
vmwareesxi5
ESX Sunucunuza vSphere Client ile bağlanalım.Configuration-> Networking tabına geldiğinizde aşağıdaki şekilde bir varolan ESXI networku göreceksiniz.Ben Default ESX networkü üzerinde anlattığım için eğer sizin ESX Sunucunuzda farklı bir virtual network izlenmişse ağ yöneticinizle veya konu hakkında bilgili birisiyle fikir alışverişi yapmanız gerekebilir.Yapacaklarımız ne olursa olsun bir değişiklik göstermeyecektir.(İstinalar kaideyi bozmaz.)Resimde gördüğünüz üzere aşağıda sadece Fiziksel Ethernet kartı olarak vmnic0 gözükmektedir. Birtane’de Virtual Switch bulunmaktadır.Biz varolan switchimizin adını LAN olarak değiştireceğiz.

Esxi_pfs_2_1a

Properties menüsüne tıklayalım.

Esxi_pfs_2_1c

Properties’e tıkladıktan sonra açılan ekran’da Virtual Machine Network üzerine gelelim ve sağ al bölümden edit butonuna tıklayın.

Esxi_pfs_2_1b

Network Label : Virtual Private Network ismini LAN olarak değiştirelim ve OK butonuyla ayarlarımızı kaydedelim.

 

Esxi_pfs_2_2a

Değişikliği yaptıktan sonra Configuration -> Networking bölümü yukarıdaki şekilde bir hal alacaktır.

 

Esxi_pfs_2_3a

Şimdi 1 adet daha virtual network oluşturmamız gerekiyor Sağ üst köşeden Add Network Wizard’a tıklayalım.Gelen ekran’da seçimizi Virtual Machine olarak seçip Next butonuyla bir sonraki aşamaya geçelim.

Esxi_pfs_2_4aGördüğünüz gibi Switchimiz için birtane ethernet kartı seçiyoruz. Bu ethernet kartını WAN olarak ayarlayacağımız için vmnic1 seçiyorum ve bir sonraki aşamaya geçmek için Next ile devam ediyoruz.

Esxi_pfs_2_5a

Network Label olarak WAN ismini veriyoruz ve Next diyip Virtual Switch işlemimizi tamamlıyoruz.Şimdi aşağıdaki şekilde bir konfigurasyon yapmış olduk.

vmnic0 = LAN
vmnic1 = WAN

ESXI üzerinde bulunan sunucularımızın ESXI üzerinden internet’e çikmasi için Sunucu’nun Ethernet kartının Switch’ni vmnic0’a getirmeniz gerekmektedir. (Sunucu -> Sağ click -> Edit settings ile bu ayarı değiştirebilirsiniz.)

Tüm bu işlemler tamamlandıktan sonra Network şemamız aşağıdaki şekilde bir hal almış olacak.

Esxi_pfs_2_6a

Router’dan gelen kabloyu vmnic1 ethernet kartına takmanız gerekiyor ve vmnic0 ethernet kartından çıkartacağınız kablo’nunda Switch’e girerseniz bütün fiziksel makineler ESX üzerinde bulunan PFSense Firewall üzerinden internete çıkmaya başlayacaktır.Şimdi ESX üzerinde PFSense sunucumuzu oluşturalım.

Esxi_pfs_3-1a
New Virtual Machine tıklayalım ve gelen ekran’da Custom seçeneğini seçip bir sonraki aşamaya geçelim.

Esxi_pfs_3-2a
Virtual Machine’ye bir isim belirleyelim.

Esxi_pfs_3-3a
pfSense vm dosyalarimizin hangi Datastore üzerinde oluşturulacağınızı seçin ve next butonuyla ilerleyin.
Esxi_pfs_3-4a
VM Version olarak 8 seçelim ve Next ile bir sonraki aşamaya geçelim.

Esxi_pfs_3-5a
Driverların sorunsuz tanınması için Guest Operating System bölümünden İşletim sistemi olarak Freebsd seçimini yapmamız gerekiyor.Siz hangi sürümün kurulumunu yapiyorsaniz onu seçmeniz gerekir.Ben 32 bit kurulum yaptığım için Freebsd32 bit seçip ilerliyorum.

Esxi_pfs_3-6a

pfSense sunucumuz için ayıracağımız cpu değerlerini ayarlıyoruz.Siz kendi ESX sunucunuza göre burada pfSense ayıracağınız cpu değerlerini belirleyebilirsiniz.

Esxi_pfs_3-7a
pfSense sunucu’nun ne kadar ram kullanacağını belirtiyoruz.

Esxi_pfs_3-8a
pfSense sunucumuzda 2 tane ethernet kartı olması gerekiyor. NIC 1 olarak LAN networkünü seçiyorum ve lan switchine bakmasını sağlıyoruz. NIC 2 olarak modemin bulunduğu networki yani WAN’ı seçmem gerekiyor.Seçimlerimizi yapıp Next butonuyla bir sonraki aşamaya geçiş yapiyoruz.

Esxi_pfs_3-9a
SCSI Controller seçimini yapıp bir sonraki aşamaya geçiş yapıyoruz.

Esxi_pfs_3-10a
Create a new virtual disk seçip bir sonraki aşamaya geçelim.

Esxi_pfs_3-11a
pfSense sunucumuza ayıracağımız  Disk boyutunu belirleyelim ve bir sonraki aşamaya geçelim.
Esxi_pfs_3-12a
Herhangi bir değişiklik yapmıyoruz ve bir sonraki aşamaya geçiş yapın.
Esxi_pfs_3-13a
Edit the virtual  machine settings before seçeneğini işaretleyip Finish ile Sanal Makine oluşturma işlemimizi tamamlayalım.

Esxi_pfs_3-14b
Açılan ekranda CD-Rom aygıtına gelin.pfSense kurulum cd’niz neredeyse onu gösterin ve Finish ile işlemi tamamlayın.PFSense sunucuzu startlayın ve Kuruluma başlayın !

Esxi_pfs_4-2a
Diğer kurulum adımlarını anlatmıyorum çünkü daha önce PFSense Kurulumunu sizlerle paylaşmıştım.Arama yaparak bundan sonraki aşamaların nasil ilerlediğini görebilirsiniz.

Bir başka makale’de görüşmek üzere….

pfsense_radius server
Arkadaşlar merhaba Bu günkü konumuzda Pfsense üzerindeki Captive portal ile Ms Radius server’ı konuşturarak Active directory içerisinde user yada Bir gruba internete çıkış yetkisi vereceğiz.
Yapacağımız işlemler ;

  • Pfsense Captive Portal yapılandırması
  • Server 2012 üzerine Radius server kurulumu ve yapılandırması
  • Captive portal Radius Server entegrasyonu.

Burada yapımızın şeması aşağıdaki gibi olacak arkadaşlar.Captiveportal_MsRadius1

İlk olarak Radius serverımızı kuruyoruz ben bu işlem için AD Makinemi kullandım 2 Rol Tek Makinede…

İnternet ortamında işlenen suçlara ilişkin 5651 sayılı kanuna ve ilgili yönetmeliğe göre, içerik sağlayıcılar, erişim sağlayıcılar, yer sağlayıcılar ve toplu kullanım sağlayıcılar 6 ay işlem kaydı yani log tutmak ve bunları istendiği takdirde adli mercilere iletmek zorunda.

Bu iş için genellikle ücretli yazılımlar kullanılıyor. Ben sizlere 5651’e göre hem çok daha kolay hem de ücretsiz olarak kayıt tutabileceğiniz bir yazılımdam söz edeceğim.

Bilişim dünyası, artan siber tehditlerle paralel olarak siber güvenlik konusuna git gide daha fazla zaman ve maddi kaynak harcamaya yöneldi. Durum böyle olunca bilişim sistemleri için kritik nokta olan “log tutma” işlemi daha da önemli hale geldi.

Bir uçağın başına gelebilecek kaza/kırım vakasından sonra karakutunun tuttuğu ve kayıt ettiği veriler ne kadar önemli ise bir bilişim sisteminin siber saldırıya uğradığı an ve sonrası için tutulan log kayıtları o kadar önemli.

Log piyasasında binlerce kullanıcıya ulaşmış ve sektörde herkes tarafından kabul görmüş bir ürün olan Logsign Focus log yönetim aracı, yeni bir sürüm çıkartarak 5651 için yasal log tutmaya yarayan sürümünü ‘free’ yani (ücretsiz) hale getirdi.

 

Logsign Focus X3 Free Edition yazılımı sayesinde 5651 gereksinimlerini karşılayabilecek ve 3 kaynağa kadar ücretsiz şekilde yararlanabileceksiniz. Bahsedilen bu 3 kaynak sizin ‘network’ sisteminizde var olan ‘firewall’ cihazlarınız, Active Directory (DC), DHCP Server, Web Server, Mail Server vb. sistemler olabilir.

Entegrasyon konusunda oldukça cömert davranılmış. Direk olarak herhangi bir ‘plug-in’ gerektirmeden entegre olunamayacak cihaz ya da ürün neredeyse yok. Dolayısıyla sisteminizde var olan bir cihazı Logisgn’a eklemek birkaç dakikanızı alıyor diyebilirim.

Logsign Focus X3’ün bir teknik özelliklerinden bahsetmek istiyorum sizlere.

Genel olarak Logsign Focus (X3 içinde geçerli) HDFS (Dağıtık Mimari Dosya Sistemi) ve NoSQL Mimarisi ile güçlendirilmiş, gelişmiş kolerasyon ve raporlama (grafik tabanlı) yapabilen global çaptaki rakiplerinin sunduğundan ötesini kullanıcılarına sunabilen bir yazılım.

Üzerinde 8 GB RAM ve 4 Core CPU olan Vmware, Hyper-V ya da fiziksel istediğiniz bir ‘Server’a Logsign Focus yazılımını indirip kurabilirsiniz. Üstelik Logsign Linux (Ubuntu) tabanlı ve kurulum işlemi sadece dakikalarınızı alıyor.

Kurulum işleminin resimli dokümanına buradan ulaşabilirsiniz.

Kurulum sayfasında var olan ISO dosyasını indirerek kuruluma başlayabilirsiniz. Free Edition için Logsign’a kayıt yaptırıyorsunuz ve e-mail’inize gelen ‘serial key’i kurulumdan sonra Logsign’a girerek ekleyeceğiniz 3 log kaynağı için sınırsız kapasitede log tutabilir, imzalayabilir ve saklayabilirsiniz.

Log tutma konusunda piyasada var olan yazılımlardan çok daha fazlasını basit bir kullanım alanıyla sunan Logsign Focus ürünü, gelişmiş arayüz, hızlı ve esnek mimarisi, alarm, raporlama ve grafiksel ‘dashboard’ özellikleri sayesinde rakiplerinden bir adım öne çıkıyor.

Log kayıt ve yönetim araçları arasında ücretsiz 5651 gereksinimlerini karşılan, dahası olaya sadece log değil, olay yönetimi ve siber güvenlik mantığında bakan bir yazılım olan Logsign Focus X3 Free Edition bahsettiğim küçük teknik özellikleri sayesinde her kapasitedeki kullanıcılar için biçilmiş kaftan olacaktır.

Yazılımın kurulum adresini yukarıda paylaşmıştım. Ayrıca yine support.logsign.net üzerinden Logsign hakkında soru ve sorunlar topluluk sayfasında da çözümleniyor. Kafanıza takılan soru veya soruları yazdığınız takdirde cevap alabilirsiniz.

Taylanlı Arkadaşlardan Bana gönderilen hotspot yönetim panelini sizlerle paylaşıyorum

gercekten güzel denerseniz.

wifiadana.com farkıyla :))

indirme linki

http://www.4shared.com/rar/p80SO4y3ba/Iptables.html?

WifiADANA DMA Softlab Radius Manager Kurulumu

  Uzunca bir zaman önce bu kurulumu anlatacağımı söylemiştim, fakat yoğunluktan dolayı paylaşma fırsatı bulamadım.

Bu yazımda yapılandırmayı centos üzerinde yada fedora da çalışacak şekliyle anlatımı gerçekleştiricem.

İlk olarak programın ekran görüntülerine buradan ulaşabilirsiniz.
http://www.dmasoftlab.com/cont/screenshots
 Radius manager kurulmadan önce tamamlanacak adımlar şunlardır;

1.  ionCubegeliştirme kütüphaneleri kurulumu
2.  FreeRadius server kurulumu ve ayarlanması
3.  MySQL database ve kimlik bilgilerinin yapılandırılması
4.  Radius Manager WEB bileşenleri
5. Radius Manager kurulumu

FreeRadius 2.1.8 DMA mod 2 (buradan indirebilirsiniz http://www.dmasoftlab.com)
•  PHP 5 yada daha üstü

•  MySQL 5 yada daha üstü
•  MySQL geliştirme kütüphaneleri
•  php-mysql

•  php-mcrypt
•  curl, php-curl
•  glibc 2.4 yada daha yenisi
•  GNU C/C++ derleyicisi

•  IonCube geliştirme kütüphaneleri. bu adreslerden ücretsiz indirebilirsiniz http://www.ioncube.com ve http://www.dmasoftlab.com

1. kuruluma başlamadan önce selinux kapatılmalıdır. etc/sysconfig/selinux ve yeniden başlatın.
SELINUX=disabled

2. olarak bu paketleri yükleyelim ancak toplamda 60-70 mb gibi bir boyut indirme yapıcaktır bu sisteminize.

  • yum install make php php-mysql php-mcrypt mysql-devel mysql-server gcc libtool-ltdl
Şimdi geçelim ioncube yüklemeye;

İoncube içeriğini  http://www.dmasoftlab.com/downloads bu adrestende yükleyebilirsiniz.

1.İlk olarak geçici bir temp klasörü oluşturalım dosyaları indireceğimiz yer için
mkdir /temp
cd /temp
şimdi ioncube dosyalarımızı indirebiliriz.
2.İndirme komutumuzu verelim şimdi de;

wget http://www.dmasoftlab.com/cont/download/ioncube_loaders_lin_x86.tar.gz

3.Tardan çıkartalım

tar zxvf ioncube_loaders_lin_x86.tar.gz
Şimdi geldik ioncube dosyalarımızı kopyalamaya /usr/ local/ioncube

cp /temp/ioncube/* /usr/local/ioncube/

4. Php.ini dosyamızı bulup içerisine şu satırı eklemeliyiz;

zend_extension=/usr/local/ioncube/ioncube_loader_lin_5.2.so

5. İoncube yüklememizi test ediyoruz;


[root@localhost]# php -v
 
You have to see the ionCube PHP Loader version displayed correctly.
 
PHP 5.2.9 (cli) (built: Apr 17 2009 03:29:12)
 Copyright (c) 1997-2009 The PHP Group
 Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
 with the ionCube PHP Loader v3.3.14, Copyright (c) 2002-2010, by ionCube Ltd.
 
6. Web serverımızı yeniden başlatabiliriz.
service httpd restart



7.  ifconfig komutunu çalıştırıp mac adresimizi alıp  support@dmasoftlab.com yada (https://customers.dmasoftlab.com) bu adresten lisans satın alıyoruz. Yanlız unutmadan aldığımız bu lisans sadece o verilen mac adresiyle çalışacağı için siz ayrıca bi eth kartı alıp onun üzerinden lisans almanız daha mantıklı olucaktır.

İoncube düzgün çalışıp çalışmadığını test etmek için ioncube-encoded-file.php dosyasını web server olan klasörümüze kopyalıyoruz. (/var/www/html)
http://yourhost/ioncube-encoded-file.php

localhost adresimizden bu sayfayı çağırıyoruz.


 “This file has been successfully decoded. ionCube Loaders are correctly installed” bu yazıyı görmüşsek kurulum başarıyla tamamlanmıştır. Eğer bununla ilgili hata almışsak selinux ayarlarını kontrol etmeliyiz.
Free radius kurulumu için sıra geldi dosyaları indirmeye;

cd /temp


Kaynaklardan FreeRadius`u sunucusu oluşturun.Aşağıdaki şekilde yapın. Ungzip ve Tar FreeRadius`u arşivi: derleyici

gzip -d freeradius-server-2.1.8-dmamod-2.tar.gz
tar xvf freeradius-server-2.1.8-dmamod-2.tar
 
Makefile dosyamızı oluşturalım;
 
cd freeradius-server-2.1.8
./configure
 make
 make install
 
Yerel olarak freeradius /usr/local bu dizini kullanır.
Şimdi sıra geldi radiusun çalışmasını test etmeye;  -X harfi büyük yazılmalı.
radiusd -X
Listening on authentication address * port 1812 Listening on accounting address * port 1813
 Listening on command file /usr/local/var/run/radiusd/radiusd.sock Listening on proxy address * port 1814
 
Ready to process requests.
 
Bu şekilde bir çıktı almış isek başarı ile freeradius kurulumunu tamamlamışız demektir.
 
Şimdi gereken izinleri verelim;
chown apache /usr/local/etc/raddb
 chown apache /usr/local/etc/raddb/clients.conf
 
Sıra geldi Mysql yapılandırmasına /usr/local/etc/raddb/sql.conf ;
 
 
 
nano /usr/local/etc/raddb/sql.conf
 
# Connection info:
 server = “localhost” #port = 3306
 login = “radius”
 password = “radius123”
 
 
Mysql çalıştırmaya başlayalım;
 
service mysqld start
 
 
Giriş yapalım;
mysql -u root -ppassword
 
Bu komutu işleyelim şimdi de;
 
CREATE DATABASE radius;
 CREATE DATABASE conntrack;
 CREATE USER `radius`@`localhost’ IDENTIFIED BY `radius123`;
 CREATE USER `conntrack`@`localhost` IDENTIFIED BY `conn123`; GRANT ALL ON radius.* TO radius@localhost;
 GRANT ALL ON conntrack.* TO conntrack@localhost;
 exit
 
Bu adımı da tamamladıktan sonra mysql yapılandırmamızı tamamlıyoruz.
 
 
Şimdi sıra geldi dmasoftlab radius manager kurulumuna;
 
aldığımız dosyaları yine /temp dizinine yükleyelim
ve sırasıyla şu komutları çalıştıralım
tar xf radiusmanager-3.9.0.tgz
cd radiusmanager-3.9.0-rel-allpatches-1-5/
 
Yine kurulum için gerekli izinleri verelim;
chmod 755 install.sh
 
./install.sh
 
Radius Manager installer
 Copyright 2004-2011, DMA Softlab LLC All right reserved.
 (Use CTRL+C to abort any time)
 
Select the type of your operating system:
 1. Redhat (Fedora, CentOS etc.)
 2. Debian (Ubuntu etc.)
 Choose an option: [1]
 
Şimdi geldi yükleme modelinize
Select installation type:
 
1. New installation
2. Upgrade old system
 Choose an option: [1]
 
yeni bir kurulum yapılacaksa 1. seçenek seçilmeli;
 
Choose an option: [1]
 Selected installation method: NEW INSTALLATION
 WWW root path: [/var/www/html]
RADIUS database host: [localhost]
 RADIUS database username: [radius]
 RADIUS database password: [radius123]
 CTS database host: [localhost]
 CTS database username: [conntrack]
 CTS database password: [conn123]
 
 
Her hangi bir değişiklik yapılmayacaksa bunları aynı bırakmakta fayda var.
Freeradius UNIX user: [root]
Httpd UNIX user: [apache]
Create rmpoller service: [y]
service rmpoller [start | stop]
Create rmconntrack service: [y]
service rmconntrack [start | stop]
Back up RADIUS database: [y]
 
 
Sistem karşımıza uyarı ekranı getirecektir. Y tuşuna basın.
WARNING! If You continue You will overwrite the existing RADIUS database!
 Are You sure to start the installation? [n]
 You can press Ctrl+C any time to abort the installation process.
 
Starting installation process...
 Backing up radiusmanager.cfg Backing up system_cfg.php Backing up netcash_cfg.php Backing up paypal_cfg.php Backing up authorizenet_cfg.php Backing up dps_cfg.php Backing up 2co_cfg.php
 Copying web content to /var/www/html/radiusmanager Copying binaries to /usr/local/bin
 Copying rootexec to /usr/local/sbin Copying radiusmanager.cfg to /etc
 Backing up RADIUS database... Creating mysql tables
 Creating rmpoller service
 Creating rmconntrack service
 Copying logrotate script
 Setting permission on raddb files
 Copying radiusd init script to /etc/init.d
 
Installation finished!
 
Şimdi gelelim indirdiğimiz lisans dosyalarının kopyalanmasına;
cp lic.txt /var/www/html/radiusmanager
 cp mod.txt /var/www/html/radiusmanager

Wifi ADANA Mikrotik vpn bağlantı


28AĞU/110
Mikrotik i sisteminize bağladığınızı ve iç network ü nat layarak dışarı çıkardığınızı varsayıyorum. Genel mikrotik kullanımda modeminizden mikrotik i DMZ e ekleyebilir veya daha önce yazmış olduğum yazıdan yola çıkarak mikrotik i direk servis sağlıyıcınıza bağlayabilirsiniz.
Gelelim kuruluma ;
Winbox üzerinden sol tarafta ppp menüsü altına girin ve pptp menüsünü açın. Resimde gördüğünüz gibi öncelikle pptp serverı seçip, servisini aktif etmeniz gerekmektedir.
 
Yukarıda ki işlem tamamlandıktan sonra Mikrotik vpn server için yeni bir interface tanımlamamız gerekmektedir. Winbox üzerinden + tuşuna basarak "PPTP SERVER" seçeneğini seçin.
 
Bu işlemden sonra artık mikrotik vpn server aktif halde ve bağlantı bekliyor olacaktır *
Şimdi yapmamız gereken işlem bağlanacak kullanıcıları hazırlamak.
Secret tabını kullanarak bağlanacak kullanıcıları ekleyebiliriz. Yine kırmızı + tuşuna bastığımızda aşağıdaki gibi bir resim gelecektir.
 
Resimde görüldüğü gibi kullanıcı adı ve şifre girip ip adreslerini atayabilirsiniz. Kullanıcı seçeneklerinde vpn ile bağlanan kullanıcılara hız limiti uygulayabilirsiniz şimdilik buna değinmiycem belki limitlerle ilgili bir yazıda bu konuyada detaylı bir şekilde değinebiliriz.
Burada dikkat etmeniz gereken önemli bir nokta var oda ip adresleri. Eğer NAT kuralında nat lanacak ip adreslerini belirtmediyseniz buraya istediğiniz network den ip adresi girebilirsiniz ( local ve remote aynı network de olmak şartıyla tabi ki ) eğer nat kuralınızda iç networku belirttiyseniz, ya vpn client lara iç network den ip ataması yapmanız veya farklı bir network u daha nat kuralına eklmeniz ki benim tavsiyem bu şekilde olması yani iç network ip bloğu ile vpn ip bloğu farklı olsun ilerde karıştırmazsınız.
Bu adımdan sonra windows üzerinden windows vpn client ile mikrotik vpn server a bağlanabilirsiniz.
PPTP Tabında bulunan " Active Connections " kısmından Mikrotik VPN Server a bağlı olan client listesini görebilir ve bağlantıyı sonlandırabilirsiniz. Bir sonraki yazımızda görüşmek üzere.

WİFİ ADANA Mikrotikte Hotspot kurulumu

      Daha önceki makalelerimde sizlere mikrotik üzerinden PPoE bağlantısı sağlamayı, DHCP Server yapılandırılmasını ve ip sabitlemeyi anlatmıştım. Şimdi ise Mikrotik üzerinde hotspot kurulumu yaparak halka açık alanlarda da bu uygulamayı kullanmayı anlatacağım. Hotspot nedir öncelikle tanıyalım istiyorum.



Hotspot nedir?
İngilizce bir sözcük olan ‘Hot-spot’, kablosuz hızlı internet bağlantısının yapılabildiği belirli bir coğrafi alana veya bölgeye verilen bir terimdir. Hot-spot’lar havaalanı, kafe, restaurant vb. kapalı alanlar veya kampüs alanlarında kullanılabilir. Hotspot sistemlerine şifresiz olarak bağlanabilirsiniz internette gezinmek istediğinizde size kullanıcı adı ve şifre soran bir sayfaya yönlendirecektir bu şekilde hizmet sağlayıcdan temin ederek kullanabilirsiniz.
 
Bu uygulamadaki amacımız?
Bulunduğunuz bölgede kablosuz internet sağlayabilirsiniz bu hizmetten yararlanmak isteyen kullanıcılara ücretli, ücretsiz, süreli, süresiz, kotalı, kotasız şekilde internet hizmeti sağlayabilirsiniz. Aşağıdaki adımları takip edip kendi sisteminize uyarlayarak bu hizmeti sağlamaya başlayabilirsiniz.


       Öncelikle hotspot kuracağımız lan bacağına bir ip atayarak başlıyoruz.
 
Buradan hotspot sistemimizde kullanacağımız ip blogunu belirleyip, kurulacak hotspotun çıkışını Interface aracılığıyla seçerek kuruluma başlıyoruz. Adresimizi ve de Interface seçimimizi yaptıktan sonra IP menusunden Hotspot seçeneğini tıklıyoruz.
 
Hotspot setup seçeneğini seçerek kuruluma başlıyoruz
 
Adres eklediğimiz local Interface imizi seçerek next diyoruz.
 
Bu aşamada bizim hotspot yapacağımız ip bloğunu seçmemiz ve otomatik olarak firewalldan maskeleme yapacağını gösteren bir ibare çıkıyor karşımıza bu kısmı next diyerek kurulumu devam ettiriyoruz.
 
Burada DHCP Server`ımızı dağıtacağı ip aralığı seçimi görünmektedir bu kısmıda next diyerek bir sonraki aşamaya geçiyoruz.
 
Bu aşamada Hotspot`umuzda kullanılacak sertifka seçimi sormaktadır. Ben herhangi bi sertifka yüklemeyeceğimden dolayı next diyerek bu aşamayıda atlıyoruz.
 
 
Bu kısımda ise sistemimizde mail server kullanıyorsak onun ip si girilmelidir.
 
Burada hotspotta kullanılmak üzere girilmesi gereken dnsler çıkmaktadır. PPPoe Client kullandığımdan dolayı  burada dns yazmadan otomatik olarak dnslerim çıkmış bulunuyor.
 
 
Bu aşamada bize kullandığımız dnsler için gerçek bir karşılığı olan ismini girmemizi  sağlıyor. Bu kısmı doldurduğumuz takdirde hotspot kullanıcılarımız herhangi bir sayfa açtıkları zaman sisteme giriş için adres çubuğunda hotspot server ipmizi görmezler burada girmiş olduğumuz ismi göreceklerdir.
 
Bu uyarıyı almış isek kurulumu başarıyla tamamladık demektir. Şimdi yapmamız gereken birkaç server yapılandırması daha var.
Server Profiles sekmesini seçerek orada yapılması gereken ayarları tamamlıyoruz.
 
Bu kısımda herhangi bir ayarlama yapmıyorum. Seçmemiz gereken kısım ise HTML Directory burada seçtiğimiz klasör içerisinde barındırılan html dosyalar bizim hotspot giriş sayfamızın yerini belirtmektedir. Login kısmına geçerek kurulumu devam ettiriyorum.
 
Gereken seçimleri bu şekilde yaparak ilerliyorum.
Not: ücretsiz kullanım sunmadığım için tiral seçeneğini kaldırıyorum. Ve hotspot kullanıcı isimlerini Mac adres bazlı yada cookie tutularak girişlerin otomatik olmasını engellemek içinde Cookie ve MAC seçeneklerini deaktif hale getirdim.
 
Sistemim içerisinde radius server kullandığım için Use RADIUS seçeneği aktif hale getirdim. Ancak siz usermanager kullanıcaksanız harici bir Radius manager kullanmıyacaksanız bu kısmı hiç ayarlama yapmanıza gerek kalmıyacaktır.
Bu aşamaları tamamladıktan sonra hotspot kurulumunuda tamamlamış bulunmaktayız. Bir sonraki makalede görüşmek üzere.

WİFİ ADANA Mikrotik te dhcp den atanacak ip yi sabitleme

     Bir önceki makalemde DHCP Server kurulumuna kadar olan kısmı anlatmıştım. Şimdi ise Dhcp den atanacak ip yi sabitlemeyi anlatacağım.

Yine öncelikle IP menusunden DHCP yi seçiyoruz. Leases sekmesine geçerek atamak istediğimiz ip adresini seçiyoruz.



Buradan atanacak olan ipmiz üzerine çift tıklayarak sabitlenecek ip adresimizi seçip açılacak menünün gelmesini sağlıyacağız.
Make Static butonunu tıklayarak sabitleme işlemini gerçekleştiriyoruz. Sabitlediğimiz ip adresine yeniden tıklayarak Mac adresini baz alarak sabitleme işlemini tamamlıyoruz
Resimdeki seçeneklerden Use Src. MAC Address seçeneğini işaretleyerek aktif hale getiriyoruz ve 200.200.200.149 ip adresini seçtiğimiz MAC adresine sabitlemeyi tamamlıyoruz. Ok butonunu seçip yapılandırmamızı kaydederek sonlandırıyoruz. Ve işlemi başarıyla gerçekleştirmiş bulunmaktayız. Bir sonraki makalede de hotspot kurulumunu anlatacağım.

WİFİ ADANA Mikrotik de site to site vpn bağlantı yapma

Bir önceki yazımda vpn server kurulumunu incelemiştik. Şimdi ise iki ayrı networkümüzü routerlar aracılığıyla birbirine bağlamayı gösterelim

İki ayrı networkumuz ve farklı ip gruplarımız var bunları bir tunnel bağlantıyla birbirine bağlayalım.

PPTP serverda ki MERKEZ ip adresimiz:
Local:172.16.22.0/24
Wan:22.22.22.22 olsun
 
Bağlanacak client ip adresimiz ise:
Local:192.168.11.0/24
Wan:11.11.11.11 olsun
   İlk olarak bir önceki makalemizde de belirttiğimiz şekliyle PPTP serverımızı kurulumunu yapıyoruz.
Not: Resimde Service olarak pppoe seçilmiş yanlışlık olmuştur. Service için ya pptp yada any seçilmesi gerekmektedir.
Ardından seçtiğimiz kullanıcı ismini local ve remote olan ip adreslerini şekildeki gibi belirtiyoruz. Burada yazılan ip grubunu sanal bir grup gibi düşünebiliriz ben local adres olarak 192.168.40.1 ve remote adres olarakta 192.168.40.101 belirttim.
 
  Şimdi gelelim clients yapılandırmasına 
 
Connect to kısmına pptp serverımızın ip adresini yazıyoruz. Secrets tabında oluşturduğumuz kullanıcı adını ve parolamızı yazıyoruz. Ve profil olarak pptp serverımızda seçmiş olduğumuz default yada default-encryption dan hangisi ise onun seçimini yapıp sağ alt köşede görünen connected yazısının ekrana gelmesini sağlıyoruz. Bu aşamada herhangi bir sıkıntı yaşanmamışsa bağlantı başarıyla sağlanmalıdır. (Not: 2resimdeki profiller ayrı olduğu için birisinde default seçiliyken diğerinde default-encryption seçili bunu dikkate almayınız.)
     Şimdide gelelim iki ağı birbirine tanımlamaya site to site olayını oturtup tek bir ağ içerisindeymiş gibi bir sistem kurmamız için gerekli olan yapılandırma kısmını IP menusunden routes sekmesine geçerek elde edicez.
 
 
Eklediğimiz client taki ip route configurasyonunu bu şekilde tamamladıktan sonra sıra geldi merkez yapılandırmamıza .
Bu yapılandırmayıda başarıyla yaptıktan sonra iki farklı noktadaki networklerimiz birbirine sorunsuz birbağlantı sağlayacaklar ve iki ip grubumuzda  local ağlarda tanımlı olacaktır.

WİFİ ADANA Vpn: Virtual Private Network: Özel Sanal Ağ Kulanım Amacı

İşlem mantığı bilgisayarınız ile VPN Server arasında gizli sanal bir ağ yaratılarak bu sanal ağ içerisinde sağlanan ayarlar kullanılır. Bu sistem üzerinde ister tek bir bilgisayarı isterseniz 20 ofis içerisindeki 500 bilgisayarı birbirine VPN kanalları ile şifreli/şifresiz olarak haberleştirebilirsiniz.
VPN teknolojisi sayesinde erişimleri gizlemeniz, erişimleri şifreleyerek içeriğini saklamanız mümkündür.
Örnek olarak;
Internet cafe üzerinden notebook’unuz ile şirket mail sunucusuna bağlantı istediğinizde VPN üzerinden erişim yapmanız durumunda Internet cafe yetkilileri, Internet cafe’nin internet bağlantısını sağlayan şirket dahil olmak üzere hiçbir noktada erişiminiz izlenemez, kısıtlanamaz veya kaydedilemez.
VPN hizmetlerimiz sayesinde size sabit ip adresi tahsis edilerek güvenle erişmek istediğiniz noktalara sorunsuz bağlanmanız sağlanır. Aynı  zamanda vpn ile site to site yöntemini kullanarak iki farklı noktada bulunan ofisleriniz içerisindeki bilgisayarlarıda tek bir ağmış gibi görmenizi bağlanmanızıda sağlar.

WİFİ ADANA Nth metoduyla load balancing uygulaması

Öncelikle Local ağımız için ve gelen hatlarımız için IP menüsünden addresses sekmesini tıklıyoruz. Ardından bu ip gruplarının girişini yapıyoruz.

/ ip address
add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255 interface=Local 
add address=10.111.0.2/24 network=10.111.0.0 broadcast=10.111.0.255 interface=wlan2
add address=10.112.0.2/24 network=10.112.0.0 broadcast=10.112.0.255 interface=wlan1
Bu şekilde olacak yapılandırmayı sırasıyla uygulamamız gerekmektedir. Yani her giren hat için ve de local ağımız için birer ip adresi girmeliyiz. Önemle belirtmeliyim ki hatlarımız PPPoE client olarak kullanıyorsak zaten ISP sunucumuz bize ip adresi atamış olacaktır bu yüzden ekstradan ip adresi girişi yapmamıza gerek bulunmamaktadır. 
 
    Gelelim firewall da mangle yapılandırmasına sistematik olarak şemamızı şekildeki gibi oluşturucaz yine;
 
/ ip firewall mangle
add chain=prerouting src-address-list=odd in-interface=Local action=mark-connection 
  new-connection-mark=odd passthrough=yes 
add chain=prerouting src-address-list=odd in-interface=Local action=mark-routing 
  new-routing-mark=odd passthrough=no
add chain=prerouting src-address-list=even in-interface=Local action=mark-connection 
  new-connection-mark=even passthrough=yes 
add chain=prerouting src-address-list=even in-interface=Local action=mark-routing 
  new-routing-mark=even passthrough=no
add chain=prerouting in-interface=Local connection-state=new nth=2,1  
    action=mark-connection new-connection-mark=odd passthrough=yes
add chain=prerouting in-interface=Local action=add-src-to-address-list 
  address-list=odd address-list-timeout=1d connection-mark=odd passthrough=yes 
add chain=prerouting in-interface=Local connection-mark=odd action=mark-routing  
    new-routing-mark=odd passthrough=no
add chain=prerouting in-interface=Local connection-state=new nth=2,2  
    action=mark-connection new-connection-mark=even passthrough=yes
add chain=prerouting in-interface=Local action=add-src-to-address-list 
  address-list=even address-list-timeout=1d connection-mark=even passthrough=yes 
add chain=prerouting in-interface=Local connection-mark=even action=mark-routing  
    new-routing-mark=even passthrough=no
Winbox üzerinden bu tanımlamaları yapmak için şekildeki adımları sırasıyla uygulamalısınız;
Bu kısımda seçtiğimiz In Interface kısmına local ağımıza ayırdığımız ethernet seçilmelidir ben local ağımı bridge modunda kullandığım için bridge seçimi yaptım.
Action kısmınıda bu şekilde düzenledikten sonra ok diyoruz kapatıyoruz. Bu işlemi kaç tane hat birleştiriceksek o kadar kez uygulamalıyız. Diyelim ki 4tane adsl hattımız var 4 sefer bu yapılandırmayı yapmalıyız. Ancak unutulmamalıdır ki her yaptığımız işlem için new connection mark a farklı isimler vermeliyiz.
İlk aşamayı bitirdikten sonra sıra gelio yeniden firewall mangleda nth metoduyla bağlantıları izlenmesini sağlamalıyız. Verdiğimiz connection mark ismini buradan seçip sırasıyla işlemleri yürütmeliyiz. Bu sayfadaki yapılandırmamızı tamamlamışsak sıra geldi extra tabından nth metoduyla birleştirilecek hat sayımıza.
Burada yaptığımız 21 seçmesini sembolik olarak belirledik. Yani iki tane hattımızdan birincisi gibi düşünebiliriz. Eğer dört tane hat bağlıyor olsaydık bu yapılandırmayı 41 le başlatıp 44 le sonlandırmalıydık.
Bu aşamadan sonra kaydetmeden önce yine action sekmesine geçiyoruz.
Action kısmınıda bu şekilde tamamladıktan sonra mangle yapılandırmasıyla ilgili yapılması gereken herhangi bi durum kalmadı. Ancak unutmayalım ki bu aşamaları her bağladığımız için ayrı ayrı yapmalıyız. Ve son resimde görüldüğü üzere mark routing yaparken passthrough seçili olmamalıdır.
Şimdi gelelim firewall nat yapılandırmamıza 
Nat yapılandırmamız içerisine yeni bir kural oluşturup chain olarak srcnat seçilmeli Out. Interface olarak da gelen adsl hatlarımız yada yayını aldığımız wan connection seçilmelidir. Kaç tane hat birleştiriceksek her birini ayrı ayrı maskelemeliyiz. Bu kısımı doldurduktan sonra Action tabından masquerade seçeneği seçilip ok ile kaydedilmelidir. Bu aşamaları tamamladıktan sonra ise Ip menusunden yine routes sekmesine giriyoruz.
 Burada yapılması gereken yine sırasıyla her hat için bir çıkış verilmeli mark routingler şekildeki gibi seçilmelidir.
Bu kısımda her bir yaptığımız mark isimlerini ayrı ayrı wan bağlantılarımıza girmeliyiz. Bu aşamayıda başarıyla tamamlamış iseniz Nth metoduyla load balace ınız hazırlanmış bulunmaktadır. 

WİFİ ADANA Mikrotik Youtube Farklı İnternetten Kullandırın


Bu yazımızda youtube.com adresini farklı internet girişinden verilmesi hakkında bilgi vericem.
1.Adım
Çoğumuz Google ve Youtube`u farklı bağlantıdan diğer sayfaları farklı bağlantıdan görüntülemek isteriz. Fakat sürekli IP adresleri sürekli değişerek sorun oluşturmaktadır. Bunun için dinamik olarak güncellenecek adres listesi yaratmalıyız Mikrotik routerımızda.
Bu script mikrotik üzerinde mükemmel derecede çalışmaktadır.
 
winbox üzerinden system script içerisine ekliyoruz.
:foreach i in=[/ip dns cache find] do={
    :local bNew "true";
    :local cacheName [/ip dns cache all get $i name] ;
#    :put $cacheName;

    :if ([:find $cacheName "youtube"] != 0) do={

        :local tmpAddress [/ip dns cache get $i address] ;
#	:put $tmpAddress;

# if address list is empty do not check
        :if ( [/ip firewall address-list find ] = "") do={
            :log info ("added entry: $[/ip dns cache get $i name] IP $tmpAddress");
            /ip firewall address-list add address=$tmpAddress list=youtube_dns_ips comment=$cacheName;
        } else={
            :foreach j in=[/ip firewall address-list find ] do={
                :if ( [/ip firewall address-list get $j address] = $tmpAddress ) do={
                    :set bNew "false";
                }
            }
            :if ( $bNew = "true" ) do={
                :log info ("added entry: $[/ip dns cache get $i name] IP $tmpAddress");
                /ip firewall address-list add address=$tmpAddress list=youtube_dns_ips comment=$cacheName;
            }
        }
    }
}
2. Adım
      Zamanlamasını ayarlayalım;
 
/system scheduler add name=youtube start-time=startup interval=0
0:00:20 on-event="/system script run youtube-script"

3.Adım
 Firewall mangle yapılandırması;
 
/ip firewall mangle add chain=prerouting protocol=tcp dst-port=80 
dst-address-list=youtube_dns_ips action=mark-routing 
new-routing-mark=youtube_route passthrough=yes

4.Adım
 Son olarak route kısmına youtube u ekliyoruz.


/ip route add comment=”Youtube Route Trafik" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=197.1.1.2 routing-mark=youtube_route scope=255 target-scope=10

Fortinet to pfSense IPSec VPN

Bu makalemizde Fortinet ile pfSense Firewall ürünlerinde IPSec VPN Tünelinin nasıl kurulacağını anlatacağım.Kuruluma geçmeden önce ağ yapımız hakkında size bilgi vermesi açısından bir diyagram paylaşıyorum. (çizimim biraz kötüdür.)

Önemli :

pfSense ve Fortinet ürünlerinin Internet hattı DSL ve Modemler Bridge olarak yapılandırılmıştır. Eğer sizin modemleriniz Bridge modda değilse IPSEC Portlarını ilgili cihazların wan ip adresine yönlendirmeniz gerekir

Kuruluma pfSense Firewall’dan başlayacağım.pfSense’de IPSec VPN işlemleri Dashboard -> VPN -> IPSec bölümünden yapılır.

VPN işlemine başlamadan önce birtane Alias oluşturmamız gerekiyor.

Firewall -> Aliases bölümünden yeni bir Network Aliases oluşturun.

IPSec VPN kuracağınız noktaların LAN networklerini bir alias olarak tanımlıyoruz.

Alias tanımlama işlemi bittikten sonra Firewall -> Rules -> LAN menüsüne giriş yapıp aşağıdaki şekilde bir kural oluşturuyoruz.

Resimde gördüğünüz gibi Kaynağı VPN_Network olan networklerin iç networküme erişmesi için bir kural oluşturdum.

Protocol : Any Source : VPN_Network (oluşturduğunuz Aliases) Port : Any Destination : Any Port : Any

Description : Kural aciklamasi

Şimdi VPN -> IPSec menüsüne geçiş yapıyoruz.

Add P1 tıklayıp Phase 1 (Faz 1 ) oluşturuyoruz.

 

Resimde gördüğünüz ayarlar hakkında :

Interface : WAN arabiriminizi seçiyorsunuz. Remote Gateway : Fortinet WAN arabiriminin ip adresi

Authentication Method : Mutual PSK Negotiation mode : Main Presharedkey : IPSec Tunel için kullanılacak şifre

Encryption Algorithm : 3DES Hash Algorithm : MD5

Dh Group : 2 1024 Bit Lifetime : 28800

Nat Traversal : Enable Dead Peer Detection : Enable DPD

Not : DES pfSense 2.3 ile birlikte kaldırılmıştır.

Önemli : Eğer pfSense de bağlantı kurulur fortinet VPN -> Monitor kısmında tünel Down gözükürse pfSense’de rekey disable olması gerekir.

Ayarlarınızı yaptıktan sonra “Save” butonuyla ayarları kaydediyoruz.

 

Ayarları kaydedikten sonra Phase 2 (Faz 2) oluşturmamız gerekiyor. Show Phase 2 Entries butonuna tıklayıp Add P2 butonuna tıklıyoruz.

Local Network : LAN Subnet seçiyoruz. (Kendi network bloğumuzu yazıyoruz.) Remote Network : Fortinet’in bulunduğu şubenin iç network bloğunu yazıyoruz.

Protocol : ESP, Encryption Algorithms : 3DES, HASH Algorithms MD5,PFS Key Group : 2 (1024 bit) Lifetime : 3600 olarak belirtip ayarlarımızı kaydediyoruz.

VPN Tünel için IPSec menüsünde yapılması gereken ayarları yaptık. Oluşan IPSEC Tunel arabirimi için bir any kurali yazmamiz gerekiyor. (Güvenlik için sınırlandırılabilir.)

Firewall -> Rules -> IPSec arabirimini seçiyoruz.

Yukarıdaki resimde gördüğünüz gibi bir adet any kuralı oluşturup pfSense tarafındaki işlemlerimizi tamamlıyoruz.

Önemli : Eğer Outbound NAT Manual seçiliyse IPSEC için Outbound NAT yazmanız gerekir.Default olarak Outbound NAT otomatik olarak geldiği için bir kural yazmanıza gerek yok.

PfSense Firewall IPSec için yapılması gereken bütün ayarları yaptık.

Fortinet tarafında yapılması gerekenler için Fortinet arayüzüne giriş yapın.Menü’den VPN-> IpSec -> Tunnels bölümüne gelip sol üst köşeden “Create New” butonuna tıklayın.

Fortinet Network :

Remote Network : pfSense WAN arabiriminin ip adresini yazın. Interface : Fortinet WAN arabirimini seçin. NAT Traversel : İşaretli DPD : Aktif edin.

Fortinet Authentication :

Method olarak pfSense’de seçtiğimiz gibi Pre-shared key diyoruz. Pre-shared key : pfSense oluşturduğumuz keyi yazıyoruz. (0123456789) IKE version : 1 Mode : Main

pfSense’de yaptığımız ayarların aynısını fortinet arayüzünde yapıyoruz.

Önemli : Bu bölümde yapacağınız en ufak hata Tünel’in kurulmasına engel olur. Xauth disabled olarak kalsın.

Fortinet’in Phase 1 (Faz 1 ) ayarlarını yaptık. Şimdi Phase 2 ayarlarını yapıyoruz.

Resimde gördüğünüz gibi pfSense tarafında hangi şifreleme algoritmaları seçtiysem Fortinet tarafında da aynılarını seçiyorum. Tek fark gördüğünüz Local Address ve Remote Address bölümlerini tersten yazdık.

Ok butonuyla ayarlarımızı kaydediyoruz. Fortinet tarafında aşağıdaki şekilde bir static route yazmamız gerekiyor.

System -> Network -> Routing menüsüne geçiş yapıyoruz.

Son olarak pfSense Networkü ve Fortinet Networkü sorunsuz haberleşmesi için Fortinet tarafında policy yazmamız gerekiyor.

Fortinet tarafında da yapacağımız bütün ayarlar bu kadardır.

IPSEC VPN Tünelimizi kontrol edelim.

Fortinet Tarafı :

pfSense Tarafı :

Kurulumu başarıyla tamamladık. Ümid ediyorum sizlerde bu makale sayesinde sorunsuz bir Fortinet -> pfSense IPSec VPN tüneli kurabilmişinizdir.

pfSense üzerinde Link Aggregation Control Protocol (LACP) yapılandırmasının nasıl olması hakkında senaryomuz üzerinden bir anlatım yapacağım.

PfSense üzerinde LAGG senaryolarının konfigurasyonları Interfaces->LAGG Menüsünden yapılır.

Lacp01

Kurulum ve yapılandırmaya geçmeden önce kullanacağımız protokollerin ne işe yaradığı hakkında detaylı bilgiye aşağıdaki linklerden erişebilirsiniz.

LAGG (link aggregation and link failover interface )

https://www.freebsd.org/cgi/man.cgi?query=lagg&apropos=0&sektion=0&manpath=FreeBSD+7.2-RELEASE&format=html
LACP (Link Aggregation Control Protocol)

https://en.wikipedia.org/wiki/Link_aggregation

PfSense LAGG Interfaces

https://doc.pfsense.org/index.php/LAGG_Interfaces

Bu makale ile birlikte amaçladığımız uplinklerimizin yedekliliğini ve throughput artırmaktır. Siz kendi senaryonuza göre LAGG protokolunu seçebilirsiniz. PfSense tarafında LACP yapabileceğiniz gibi loadbalance,failover,fec (cisco),roundrobin seçeneklerinden birini ihtiyacınıza göre ve network alt yapınıza göre yapılandırabilirsiniz.

LACP Anlamak için cisco’nun şu resmini örnek alabiliriz.

lacp02

Tek taraflı LACP yapmak network tarafında sıkıntılar (loop gibi ve yönetilebilir switchlerin bir çoğunda stp (Spanning Tree Protocol) aktif olarak gelir.) çıkartabilir aynı zaman da her ne kadar pfsense tarafında LACP doğru yapılandırılmış olsa da switch tarafında LACP yapılmadığı zaman interfaceler tek çalışmayacağı için throughput kaybı yaşarız.

Switch tarafında yapılandırmam aşağıdaki gibidir.

** Vlan 10,vlan20,vlan30,vlan40,vlan50 vlanlarım Trk1 lacp interfacesine tagged durumdadir.

** 49,50 interface portları trunk yapılandırılmış ve lacp aktif durumdadir.

lcap03

Switch tarafındaki konfigurasyonunuzu başarıyla tamamlamış olduğunuzu varsayaraktan pfSense tarafında LACP’ın nasıl aktif edileceğine göz atacağız. Switch tarafında ki konfigurasyonu paylaşma gereği duymadım çünkü yapılan konfigurasyon her switch için farklılık gösterebilir. Mantığını anladıysanız marka bağımsız bu işi yapabileceğinizi düşünüyorum.

PfSense’in web arayüzüne girip Interfaces-> LAGG Menüsüne gelin + butonuyla yeni bir lacp interface oluşturma menüsüne gelin.

lcap04

LACG olmasını istediğiniz fiziksel interfaceleri seçip lag protokol olarak LACP seçip ayarlarınızı kaydedin.

Bu işlemden sonra pfsense tarafında lagg0 adında sanal bir interface oluştu. Eğer switch üzerinden vlanlar geliyorsa Interfaces-> VLAN Menüsünden switch tarafında tagladığınız vlanlari ekleyin.

Not : vlanlari eklerken lagg0 interface seçmeniz gerekir.

lcap05

Vlanlarinizi ekledikten sonra Interfaces → Assign network ports bölümünden eklediğiniz vlanlari lan arayüzü çalışır hale getirelim.

lacp06

Artik pfSense üzerinde LACP aktif olarak çalışmaktadır. Testimizi başarıyla tamamlamak için pfSense sunucuma bağlanıp tcpdump ile lagg0 interface’ni sniff ettiğimizde başarılı bir şekilde çalıştığını göreceksiniz.

# tcpdump -i lagg0

lacp07