Profile picture
Gökhan Şengün @gokhansengun
, 14 tweets, 3 min read Read on Twitter
Bu flood'da `DNS`, `DHCP`, `TFTP` sunucuları tek bir programda açık kaynaklı olarak sunan, biz geliştiricilerin başucu yazılımlarından `dnsmasq`'ı ve bazı kullanım alanlarını inceleyeceğiz. Bu flood'un Medium linki medium.com/@gokhansengun/…
`dnsmasq` fonksiyon zenginliği, kullanım kolaylığı ve hatasız çalışması ile küçük ve orta ölçekli birçok sistemde kendisine yer bulmaktadır. `dnsmasq`, ilerleyen flood'larda inceleyeceğimiz bazı sistemlerde de konumlandırıldığı için doğru anlaşılması önemli bir programdır.
Adından da anlaşılacağı gibi `dnsmasq`'ın en çok kullanılan özelliği `DNS` sunucudur. `dnsmasq`, `DNS` sunucu olarak üzerinde yapılandırılan domain'ler için IP adresine dönüşümü sağlar. Kendi yönetmediği isimleri çözmek için de `upstream` adlı başka `DNS` sunuculara başvurur.
Örneğin, `gokhan․dev` domain'i `dnsmasq`'ta tanımlıysa, `dnsmasq` bu domain'deki `www․gokhan․dev` sorgusuna kendi kayıtlarından cevap verecektir. `bing․com` sorulduğunda ise kendi kontrol etmediği domain'ler için kullandığı `DNS` sunucusuna sorup cevabı istemciye dönecektir.
`dnsmasq` konfigürasyon dosyasında tanımlanan domain'lerdeki kayıtlara ek olarak üzerinde koştuğu bilgisayarın `hosts` dosyasındaki kayıtlar için de cevap döner. `dnsmasq` üzerinde istediğimiz domain'i tanımlayabileceğimiz için özellikle mobil cihazların trafiğinin dinlenmesi
gereken senaryolarda cihaza `DNS Spoofing` atak yapmak yani `DNS` sorgusu sonucunda gerçek sunucu adresi yerine trafiğin dinleneceği sunucunun adresini vermek mümkün olur. Aşağıdaki ekran görüntüsünde `dnsmasq`'a yapılan `google․com` sorgusuna lokal IP ile cevap verilmiştir.
`dnsmasq` klasik bir `DNS` sunucu gibi yaptığı istekleri belirli bir süre için `cache`'ler ve sonraki sorgularda performans avantajı sağlar ancak istenirse `cache` devre dışı bırakılabilir. `Negative Caching` olarak bilinen ve `DNS` sunucudan gelen "kayıt bulunamadı" şeklindeki
olumsuz cevapları da `cache`'leyen mekanizma böylece devre dışı bırakılmış olur. İsim kayıtları ilk yapılırken ve değiştirirken `cache` tam bir baş belası olmaktadır. Aslında `dnsmasq` bütün `cache`'i devre dışı bırakmadan `Negative Cache` yapılmamasını da sağlayabilmektedir.
`dnsmasq`, kontrolü dışındaki kayıtlar için en sağlıklı olduğunu düşündüğü `upstream server`'ı kullanır, böylece en sağlıklı sunucu seçilmiş olur ancak istenirse `--all-servers` opsiyonu ile kayıt sorguları bütün sunuculara gönderilir ve en kısa sürede dönen cevap kullanılır.
`dnsmasq` kompleks kullanım senaryolarında a) host üzerinde çalıştırılan `container`'lara `DNS` sunucusu olarak verilebilir b) `Minikube`'daki `Kubernetes` servislerine isimleri ile erişmek için kullanılabilir c) `Vagrant`'a plugin yardımıyla entegre edilebilir.
`dnsmasq`'ın ikinci kullanım alanı `DHCP` sunucu olarak görev yapmaktır. Tanımlanan IP aralığındaki IP'ler istekte bulunan sunuculara dağıtabilir ve cihazların bütün ağ (`Default Gateway`, `DNS Server`, `Hostname`) konfigürasyonları yapılabilir.
`dnsmasq` gelişmiş `DHCP` sunucularda bulunan birçok özelliği de desteklemektedir. Bunlar belirli bir `MAC` adresine veya bir `hostname`'e sürekli aynı IP adresini verme, kablolu, kablosuz ağlara farklı ağ parametreleri gönderme gibi özelliklerdir.
Son olarak `dnsmasq` bünyesindeki `DHCP` ve `TFTP` sunucuları ile önceki flood'lardan birinde bahsettiğimiz `PXE - Preboot Execution Environment` standardına göre cihazların ağ üzerinden boot edilmesi için "komple" bir çözüm sunmakta ve bu alanda yoğun olarak kullanılmaktadır.
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Gökhan Şengün
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Trending hashtags

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!