4 Ekim 2015 Pazar

Ubuntu Server 15.04 Samba Domain Controller

Ubuntu Server 15.04 Samba Domain Controller kurulumu



Merhaba,

Ubuntu server uygulamaları serisinde bu sefer Linux serverla AD kuralım. Linuxla haşır neşir olmayanlar ilk duyduğunda hadi ya öyle şey olur mu diyolar ama oluyor.

Youtube ta bu konu ile ilgili detaylı ve sesli :) anlatım mevcut. İzleyip soru ve görüşlerinizi iletirseniz sevinirim. En azından birileri anlamış diye düşünür sevindirik olabilirim :)

 

Başlayalım
apt-get update
apt-get upgrade

nano /etc/hosts
192.168.0.10    dc.ubuntsrv.local dc

acl ve attr paketlerini kuruyoruz
apt-get install acl attr 
Bunlar daha sonra oluşturacağımız dosya ve klasörlerin yetkilendirmesinde işe yarayacaklar. Şimdi linux’ un dosya yapısında değişiklik yapalım. Yapacağımız share’lerin bulunduğu bölüme girip..

nano /etc/fstab
user_xattr,acl,barrier=1,
ekliyoruz. Kayıt edip çıktıktan sonra yeniden mount edelim

mount –a

Samba windows AD gibi LDAP ve kerberos kullanıyor bu sebeple NTP (network time protocol) kurmak zorundayız.
apt-get install ntp
service ntp stop
ntpdate -B 0.ubuntu.pool.ntp.org
service ntp start

Şimdi samba kurulumundan önce bu listedeki paketleri kuralım
apt-get install attr build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev libpam0g-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev

Kurulum sırasında kerberos sorularına  BÜYÜK HARFLERLE sırasıyla
UBUNTSRV.LOCAL, DC.UBUNTSRV.LOCAL, DC.UBUNTSRV.LOCAL diyerek devam..

Sambayı kuruyoruz
apt-get install samba smbclient

Sambanın conf dosyasını yedekliyoruz.
mv /etc/samba/smb.conf /etc/samba/smb.conf.ydk

smb.conf samba tool u ile yapacağımız domain provizyonu sırasında otomatik olarak oluşturacak. Bu işlemi yapmazsanız, samba tool işlemi yaparken zaten bu dosya mevcut diyerek işlemi tamamlamaz.

Samba DNS backend olduğundan network interface’inde ekleme yapıyoruz.
nano /etc/network/interfaces
dns-nameservers 192.168.0.10 192.168.0.5

Serverı RESTART ediyoruz…

DNS setup ı kontrol edelim
cat /etc/resolv.conf
search ubuntsrv.local
nameserver 192.168.0.10
görünüyorsa devam…

İnteraktif mode da domaini oluşturuyoruz
samba-tool domain provision --use-rfc2307 --interactive
Not; Bu tool u kullanmadan da samba AD kurulabilir. Ancak bu tool otomatik kurulum için ideal olduğundan seçildi.

Şimdi smb.conf a bir bakalım
cat /etc/samba/smb.conf

Sıra kerberos ta. Provizyon sırasında sambaya uygun krb5.conf oluşturulduğu için mevcut dosyayı güvenli bir alana taşıyıp oluşturulan dosyaya link veriyoruz.
cat /etc/krb5.conf
mv /etc/krb5.conf /etc/krb5.conf.ydk
ln -sf /var/lib/samba/private/krb5.conf /etc/krb5.conf


Serverı RESTART ediyoruz…


Şimdi LDAP ve kerberos testlerini yapalım
host -t SRV _ldap._tcp.ubuntsrv.local
host -t SRV _kerberos._udp.ubuntsrv.local
host -t A dc.ubuntsrv.local
Bu sorgulara doğru cevaplar alamazsanız işlem tamamlanamamıştır. DNS ayarlarını kontrol etmek gerekiyor.

Şimdi de Samba DC level ı yükseltelim
samba-tool domain level raise --domain-level 2008_R2 --forest-level 2008_R2
samba-tool domain level show

Kolay gelsin

26 Eylül 2015 Cumartesi

Ubuntu 15.04 Dynamic DNS server

Ubuntu 15.04 ddns nasıl?




Videoda kullandığımız komutlar ve kayıtların altı çizili yada kırmızıdır.

Elle girdiğimiz test-pc.ubuntsrv.local kaydını (PTR ve A kayıtları) silelim. Çünkü bu kaydın otomatik yapılmasını istiyoruz
nano /etc/bind/zones/db.192
nano /etc/bind/zones/db.ubuntsrv.local

BIND servisi bind adlı kullanıcı ile çalışıyor. Önceden oluşturduğumuz /etc/bind/zones klasörüne hak verirsek servisin çalışmasına zarar veriyor ve otomatik update yapılmıyor.

Yeni klasör açarak zone dosyalarını kopyalıyoruz
mkdir /var/lib/bind/zones
cp /etc/bind/zones/* /var/lib/bind/zones/


Bind kullanıcısına yeni açtığımız klasöre yetki tanımlıyoruz
chown -R bind:bind /var/lib/bind/zones

BIND ve DHCP servislerinin aralarında şifreli anlaşabilmesi ve güncelleme yapabilmesi için root kullanıcısı adına 512 bit key oluşturuyoruz

rndc-confgen -a -r /dev/urandom -b 512 -u root

Oluşturduğumuz keyi görüntüleyelim kopyalayalım. BIND ve DHCP konfigürasyon dosyalarına bunu ekleyeceğiz.
nano /etc/bind/rndc.key

BIND a ekliyoruz. Aynı zamanda Zone bilgilerinde de değişiklik var DİKKAT!
nano /etc/bind/named.conf.local

key "rndc-key" {
        algorithm hmac-md5;
        secret "KEY BURAYA KOPYALANACAK";
};

zone "ubuntsrv.local" IN
{
    type master;
    also-notify {192.168.0.5;};
    file "/var/lib/bind/zones/db.ubuntsrv.local";
    allow-update { key rndc-key;};
};
zone "0.168.192.in-addr.arpa"
{
    type master;
    also-notify {192.168.0.5;};
    file "/var/lib/bind/zones/db.192";
    allow-update { key rndc-key;};
};

named.conf.local dosyasında yaptığımız değişikliklerde yazım hatası var mı kontrol edelim 

named-checkconf

Herhangi bir cevap yoksa devam.. Varsa dosyaya geri dönüp kontrol etmeliyiz.
 

DHCP ayar dosyasında değişiklik yapıyoruz 
nano /etc/dhcp/dhcpd.conf

ddns-update-style  interim;
ignore client-updates;
update-static-leases on;
ddns-domainname "ubuntsrv.local.";
ddns-rev-domainname "in-addr.arpa.";


key "rndc-key"
{
   algorithm hmac-md5;
   secret "KEY BURAYA KOPYALANACAK";
};

zone ubuntsrv.local.
{
   primary localhost;
   key rndc-key;
}

zone 0.168.192.in-addr.arpa.
{
   primary localhost;
   key rndc-key;
}


DHCP konfigürasyon dosyasında yaptığımız değişikliklerde yazım hatası var mı kontrol edelim 

dhcpd -t

Servisleri restart ediyoruz
service bind9 restart
service isc-dhcp-server restart


Log dosyasını incelemek için
tail -f /var/log/syslog

Kontroller yapmak için

dig test-pc.ubuntsrv.local
nslookup test-pc.ubuntsrv.local
ping test-pc.ubuntsrv.local

 

DNS aracı rndc ile takılmacalar rndc flush
rndc thaw
rndc dumpdb -all
rndc flushtree db.192
rndc flushtree db.ubuntsrv.local


İşlem tamamsa oluşturduğumuz keyi silebiliriz..
rm etc/bind/rndc.key

Kolay gelsin

20 Eylül 2015 Pazar

Ubuntu 15.04 Local master DNS server

Lokal network için Ubuntu BIND-DNS server kurulumu


BIND kurulumu için
apt-get install bind9 bind9utils bind9-doc


Bu videoda kurulum işlemi anlatmıştım bu sebeple detaylara girmeden devam ediyorum..

Yaptığım değişikliklerin altını cizdim ki anlaşılması rahat olsun. (ne kadar iyi birisiyim) 



Önce serverın adını değiştiriyoruz;

nano /etc/hosts
127.0.0.1 localhost
192.168.0.5 server.ubuntsrv.local server

Hostname'i değiştiriyoruz;

nano /etc/hostname
server.ubuntsrv.local

named.conf.options içindeki Forwarders'ı silelim.Bunu yapmak zorunda değiliz. BIND ın ilk kurulduğu hale geri çeviriyorum. Diğer videoları izleyenler hatırlayacaktır.

nano /etc/bind/named.conf.options
// forwarders {
// 0.0.0.0;
//};

Named.conf.local dosyasında aşağıdaki bilgileri girelim

nano /etc/bind/named.conf.local

zone "ubuntsrv.local" IN {
    type master;
    file "/etc/bind/zones/db.ubuntsrv.local";
};
zone "0.168.192.in-addr.arpa" {
    type master;
    file "/etc/bind/zones/db.192";
};

Zone dosyalarını aynı klasörde toplamak için klasör oluşturuyoruz

mkdir /etc/bind/zones

BIND klasörünün içinde ki şablon dosyalarından kopyalar oluşturuyoruz..

cp /etc/bind/db.local /etc/bind/zones/db.ubuntsrv.local

Şimdi oluşturduğumuz dosyada aşagıdaki gibi değişiklikler yapalım

nano /etc/bind/zones/db.ubuntsrv.local
(örnek olduğundan full dosya alınmadı bu satırlarda değişiklik yapılıyor)

@       IN      SOA     server.ubuntsrv.local. root.localhost. (
@       IN      NS      server.ubuntsrv.local.
@       IN      A       127.0.0.1
@       IN      AAAA    ::1
server  IN      A       192.168.0.5
test-pc IN      A       192.168.0.18


Reverse zone dosyası oluşturuyoruz.

cp /etc/bind/db.127 /etc/bind/zones/db.192

Benzer kayıtları yapıyoruz…

nano /etc/bind/zones/db.192

@       IN      SOA     server.ubuntsrv.local. root.localhost. (
@       IN      NS      server.ubuntsrv.local.
5       IN      PTR     server.ubuntsrv.local.
18      IN      PTR     test-pc.ubuntsrv.local.

Restart..

Client makineden ping testleri..
ping server
ping test-pc
nslookup server
nslookup test-pc

DNS e yapılan sorguları izlemek için

rndc querylog

Yazarak

tail -f /var/log/syslog

Komutu ile bakabiliriz..


Kolay gelsin




17 Ağustos 2015 Pazartesi

Ubuntu Router kurulumu

Merhaba arkadaşlar,

Bir evvelki yazıda internet gateway kurulumu yaptık bu yazıda ise Ubuntu server Router kurulumunu ele alacağım.

Bu yazıda ki amaç videoda kullanılan komutları göstermektir! Detayları videoda bulabilirsiniz.

Senaryo;

Resimde de görüldüğü gibi amaç iki farklı networkü fiziksel olarak birbirine bağlamak.

Bunun için mevcut Ubuntu server ın üzerinde bazı değişiklikler yapmak gerekiyor.

nano /etc/network/interfaces

Diyerek eth0 yani birinci ağ ayarlarını değiştirelim

auto eth0
iface eth0 inet static
        address 141.29.0.5
        gateway 192.168.0.100
        netmask 255.255.0.0
        network 141.29.0.0
        broadcast 141.29.0.255

Dhcpde yapılacak işlem windows client ın getaway bilgisini düzeltmek gerekiyor.

nano /etc/dhcp/dhcpd.conf

option routers 141.29.0.5;

Kayıt edip (ctrl x) çıktıktan sonra Ubuntu server ı restart ediyoruz.

Windows makinenin yeniden IP alması gerekmekte!

Windows client tarafında
ipconfig -release
ipconfig -renew

ping test
ping 141.29.0.6
ping 192.168.0.18
ping 192.168.0.100


Testlerden doğru cevapları aldıysak Ubuntu server Router olarak kullanılmaya hazır!

Kolay gelsin





15 Ağustos 2015 Cumartesi

Ubuntu internet gateway kurulumu





Merhaba arkadaşlar,




Networkteki tüm internet trafiğini Ubuntu server üzerinden sağlamak için server da 2 ethernet olması gerekiyor. 

Bu yazı üstte videosu olan anlatımda ki komutları içermektedir.

Senaryomuzda;
eth0 = internet bacağı
eth1 = dahili ağ (dhcp vs.)

Not: Tüm komutlar root yetkisi ile çalıştırılacak. Bunun için "sudo su" yazıp şifreyi girmek gerekiyor.

Network ayarları için;
nano /etc/network/interfaces

#Birinci network interface
auto eth0
iface eth0 inet dhcp

#ikinci network interface
auto eth1
iface eth1 inet static
        address 192.168.0.100
        gateway 10.0.2.15
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255


DHCP artık Eth1 den yayın yapacağı için;
nano /etc/default/isc-dhcp-server

interfaces = "eth1" değişikliğini yapıyoruz.


DHCP  ayarlarında yapılacaklar;
nano /etc/dhcp/dhcpd.conf
 

option routers 10.0.2.15;
option domain-name-servers 208.67.222.222,208.67.220.220;


Bu işlemlerden sonra server restart edilecek!


Ubuntu server internet gateway ayarları

sysctl.conf dosyasında değişiklik yapıcaz..
nano /etc/sysctl.conf


Alttaki satırı bulup başında ki # i kaldırıyorum;

Öncesi = #net.ipv4.ip_forward=1
Sonrası = net.ipv4.ip_forward=1

Hemen aktif olması için konsolda;

sysctl -w net.ipv4.ip_forward=1

yazıp çalıştırıyorum.

IPTABLES ta yönlendirme için iki adet kural var bunları konsol a tek tek yazıp çalıştırıyorum.

iptables -P FORWARD ACCEPT
iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE



Bu kurallar restartta kalıcı olabilmesi için kayıt edebilmek gerekiyor. Bunun için iptables-persistent' i kullanıcam.

Kurulum için..
apt-get install iptables-persistent


Kurulum sırasında kuralları kayıt etmek isteyip istemediğimizi soruyor. Tabii ki yes!

Bu işlemler sonunda DHCP rolü üstlenen server, internet gateway rolünüde kazanmış oluyor. Tüm network ün internet trafiği Ubuntu server üzerinden sağlanacak!

Client test için;
ping www.google.com
tracert www.google.com


kullanılabilir.

Kolay gelsin.
-metimist-

8 Temmuz 2015 Çarşamba

Ubuntu DHCP server kurulumu


Merhaba arkadaşlar,

Bu yazımda linux ubuntu server üzerinde DHCP kurulumunu anlatmaya çalışıcam. Yaptığım işlem hakkında ki videoyu izleyin











Bir evvel ki yazıda SSH yani secure shell kurulumu anlatmıştım. Şimdi birde DHCP servisini kuralım ve ubuntu server networke IP dağıtmaya başlasın.

Root yetkisini alıyorum; 

sudo su

Dhcp kurulumu için gereken komutlar sırasıyla;

sudo apt-get update
sudo apt-get install isc-dhcp-server



Kurulum bittikten sonra konfigürasyon dosyasını yedekliyorum;

sudo mv /etc/dhcp/dhcp.conf /etc/dhcp/dhcpd.conf.temp

Şimdi DHCP server'ın hangi network kartını IP dağıtımı için kullanacağını göstereceğim. Bu iki ethernet kartı olan makine için eth0=birinci ethernet, eth1=ikinci ethernet olmalı.

nano /etc/default/isc-dhcp-server

Komutu ile dosyayı açıp

INTERFACES=""

Satısındaki tırnakların arasına "eth0" yazıyorum.

INTERFACES="eth0"

Bu işlem sonrasında ubuntu server'a statik IP tanımlıyorum. IP tanımı yapmak için;

nano /etc/network/interfaces

Eth0 satırının sonunda ki 'dhcp' yazısını 'static' yaptıktan sonra alt satıra geçerek aşağıda ki IP bilgilerini yazıyorum;

address        192.168.0.100
gateway      192.168.0.1
netmask      255.255.255.0
network        192.168.0.0
dns-nameservers 192.168.0.1
broadcast     192.168.0.255


IP tanımı yaptıktan sonra restart etmem gerekiyor..

Restart sonrası IP yi kontrol etmek için 'ifconfig eth0' yazılabilir.

Şimdi sıra DHCP server'ı konfigüre etmeye geldi;

nano /etc/dhcp/dhcpd.conf


Yazarak isim değişikliği yaptığım için boş gelen dosyanın içine aşağıda ki bilgileri giriyorum;

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
#(default-lease-time  86400;   # 24 hours)
#(max-lease-time     172800;  # 48 hours)
authoritative;

log-facility local7;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.100;
option domain-name "ubuntsrv.internal";
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.120 192.168.0.125;

range 192.168.0.155 192.168.0.254;
 }

Kayıt edip kapattıktan sonra servisleri restart ediyorum

/etc/init.d/networking restart
/etc/init.d/isc-dhcp-server restart


Eğer networkte ki bir makineye statik IP vermek istersem;

#Açıklama satırı (falancanın makinesi için...)
host Accountant
{
hardware ethernet 08:00:27:C9:62:F2;
fixed-address 192.168.0.149;
}


DHCP de yapılan her değişikliğin aktif olması için servisinin restart olması gerekmektedir!

Bedavadan DHCP server'ımız oldu :)

Hayırlı olsun

Görüşmek üzere,
-metimist-

5 Temmuz 2015 Pazar

Ubuntu SSH kurulumu




Merhaba arkadaşlar,

Ubuntu server kurulumunu anlattıktan sonra sıra uygulamalar yapmaya geldi. Bu makalede server üzerinde SSH' i nasıl kurulur ve işletilir sorusunu cevaplamaya çalışacağım.

 
Makalede ki anlatımın videosunu izleyin


Amacım yapacağım herhangi bir işi server' ın yanına gitmektense uzaktan bağlantı yaparak windows client ile gerçekleştirmek.

Önce kısa bir tanım; 
SSH (Secure Shell) güvenli veri iletimi için kriptografik (gizlilik, kimlik denetimi, bütünlük gibi bilgi güvenliği kavramlarını sağlamak için çalışan matematiksel yöntemler bütünü) bir network protokolüdür. SSH ile ağa bağlı olan iki bilgisayar arasında veri aktarımı güvenlik kanalı üzerinden güvensiz bir networkte yapılır. Bir sunucu ve istemci arasında bilgi alışverişi yapan, şifrelemeler kullanarak veri ileten bir protokoldür.

Kuruluma geçelim

Server' da konsola root hakları ile;

sudo apt-get install openssh-server

Yazarak kurulumu yapıyoruz.
Kurulan ubuntu server da ufw (firewall) aktif edilmiş ise aşağıda ki komutları uygulayarak SSH ın kullandığı 22 numaralı porta izin vermeliyiz.

Firewall un aktif olup olmadığını kontrol edelim;

ufw status

Aktif ise;

ufw allow ssh

Komutunu yazıyoruz. İşlemin çıktısı resimdeki gibi olmalı














SSH' ın kullandığı 22 numaralı port' a izin verdik. Artık fiziksel erişimimiz olan bir bilgisayardan server'a bağlanabiliriz. Herhangi bir işletim sistemindende bağlantı yapılabilir.


Bu senaryoda bağlantı için kullanacağım program kurulum gerektirmeyen PuTTY. 
İndirmek için tıklayın

Windows makinede PuTTY yi açtığımızda IP ve port bilgilerini aşağıdaki gibi giriyoruz

























Karşımıza gelen akrana ubuntu serverda kullandığımız user-password'ü girerek giriş yapıyoruz
















Bağlanırken password ekranı geç geliyor ise ya networkünüzde DNS yok, DNS çalışmıyor yada makinenize DNS bilgisini girmediniz! 

Şöyle yapın;

sudo nano /etc/ssh/sshd_config
UseDNS no

satırını ekleyip kayıt edin. 

Bağlantımızı gerçekleştirdik.
Artık serverda işlem yapmak için her seferinde masamızdan kalkmayacağız :)
Yaşasın tembellik!








30 Haziran 2015 Salı

Smarty Uninstaller ile programları registry den temizlemek




Merhaba,

Tanıtacağım programın adı Smarty Uninstaller. Bu program adından da anlaşıldığı gibi bir uninstall yani kurulu olan bir başka programın kaldırılmasını sağlıyor.

Kulağa mantıksız gibi gelebilir ancak IT işi ile uğraşan yada biraz yatkınlığı olanlar bilir, bazı programları kaldırmak meseledir...

Bir örnek ile konuyu anlaşılır hale getirmeye çalışalım;

Bir program kurdunuz ve bu program bedava olduğu için yanında ekstra programları da kurdu. Ekstralar her zaman masum değildir. Spyware, malware yada virus bile barındırır. Hatta kimi uygulamaların içinde bilgisayarınızı ele geçirecek körü amaçlı yazılımlar dahi olabilir.

İşte bunları sadece kaldırmak (uninstall) yeterli olmaz! Kalıntıları başa bela açar

İşte tam burada registry (kayıt defteri) temizliği yapmakta gereklidir ki bu program da uninstall işlemini yaparken tam da bunu yapıyor...

Bir başka örnek ise şifre korumalı programlardır. Smarty Uninstaller'ın en önemli özelliği unattended mode'unun olması. Bu modu kullandığınızda size uygulama ile ilgili hiç birşey sormadan (şifre sorgulaması vs.) ilgili programı kaldıracak! Bu işlemi ilgili uygulamaya dair makinenizde ne varsa tarayıp sonrasında silerek yapıyor.

İşlem sonunda kaldırdığınız program makinenize hiç kurulmamış gibi tertemiz oluyor.

Program ile ilgili hazırladığım videoyu izlemenizi tavsiye ederim



Smarty Uninstaller maalesef ücretli bir uygulama. Deneme sürümünü bu adresten indirebilirsiniz


Bir sonraki yazımda görüşmek dileği ile..