Ağ Yönetimi (Network Management)

Tarih: 2026-06-15 | Kategori: Linux

Etiketler: Linux

Linux'ta ağ yönetimi, komutlar ve yapılandırma dosyaları aracılığıyla gerçekleştirilir. Ağ yapılandırması ve sorun giderme için birçok komut mevcuttur. Bu bölüm size bir Linux işletim sisteminde ağın nasıl yapılandırılacağını öğretecektir.

*Not: Bu bölüm Debian ve türevi dağıtımlar için geçerlidir.*

Ağ Arayüzü Yapılandırması (Network Interface Configuration)

[Image of Linux network interface card architecture diagram]

Birçok GNU/Linux sistem yöneticisi, ağ arayüz kartlarını (NIC) yapılandırmak için hala geleneksel `ifconfig` komutunu tercih etmektedir. Bu, Linux ve Unix tabanlı işletim sistemlerinde ağ arayüzlerini yapılandırmak ve yönetmek için kullanılan geleneksel bir komuttur. Sistem yöneticileri ve ağ uzmanları tarafından yıllardır tercih edilen bu araç; IP adresleri atama, ağ maskelerini ayarlama ve ağ arayüzlerini etkinleştirme veya devre dışı bırakma gibi çeşitli ağ yapılandırma görevlerini gerçekleştirmek için kullanılmıştır.

Mevcut Cihazları Listeleme

`ifconfig` komutu parametre olmadan çağrıldığında, mevcut ağ cihazlarını (NIC, Ağ Arayüz Denetleyicisi) listeler.

root@hackerbox:~$ ifconfig

Yukarıdaki çıktıda 2 adet ağ arayüzü bulunmaktadır:

  • `eth0`: Bu Ethernet kartı arayüzüdür. UP bayrağı aktif olduğunu gösterir. IP adresi 172.20.1.109'dur. MAC adresi 52:54:00:10:72:c3'tür.
  • `lo`: Bu Loopback (Geri Döngü) arayüzüdür. Yerel ağ bağlantısına izin vermek için oluşturulmuş, 127.0.0.1 IP adresini işaret eden sanal bir arayüzdür.
  • Belirli bir arayüzü görüntülemek için, parametre olarak arayüz adını verin:

    root@hackerbox:~$ ifconfig eth0
    

    DOWN (yani devre dışı) olan arayüzleri görüntülemek için `-a` parametresini kullanın.

    root@hackerbox:~$ ifconfig -a
    

    Arayüzleri Etkinleştirme ve Devre Dışı Bırakma

    Bir arayüzü (örneğin `eth0`) aktif hale getirmek (up) için `ifconfig` komutunu şu şekilde kullanın:

    root@hackerbox:~$ ifconfig eth0 up
    

    Bir arayüzü kapatmak (down) için aşağıdaki komutu kullanın:

    root@hackerbox:~$ ifconfig eth0 down
    

    *Not: Bu işlemleri internete bağlı olduğunuz arayüz üzerinde gerçekleştirmek internet bağlantınızı etkileyebilir.*

    IP Adresi Atama

    `ifconfig` komutunu kullanarak bir ağ arayüzüne IP adresi atamak veya mevcut bir IP adresini güncellemek için, doğrudan arayüz adını ve istediğiniz IP adresini yazın:

    root@hackerbox:~$ ifconfig eth0 172.20.1.110
    

    Yukarıdaki örnekte, `eth0` arayüzünün IP adresi `172.20.1.110` olarak değiştirilmiştir.

    Ağ Maskesi Atama

    Bir ağ arayüzünün ağ maskesini (netmask) ayarlamak için aşağıdaki komutu kullanın:

    root@hackerbox:~$ ifconfig eth0 netmask 255.255.255.0
    

    Promiscuous Modu

    Ethernet kartınız destekliyorsa, aynı ağdaki diğer cihazlara yönelik paketleri işlemek için promiscuous (karmaşık) modunu etkinleştirebilirsiniz.

    Promiscuous modunu etkinleştirmek için:

    root@hackerbox:~$ ifconfig eth0 promisc
    

    Promiscuous modunu devre dışı bırakmak için:

    root@hackerbox:~$ ifconfig eth0 -promisc
    

    MAC Adresini Değiştirme

    Cihazınızın MAC adresini değiştirebilirsiniz. Bunun ağın ARP tablolarında karışıklığa neden olabileceğini unutmayın, bu yüzden dikkatli kullanın.

    root@hackerbox:~$ ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF
    

    DNS Ayarları

    Linux'ta DNS ayarları `/etc/resolv.conf` dosyasında bulunur. Nano gibi bir metin düzenleyici kullanarak bu dosyadaki DNS ayarlarını güncelleyebilirsiniz.

    root@hackerbox:~$ nano /etc/resolv.conf
    

    Dosya içeriği şuna benzer olacaktır:

    nameserver 172.20.1.1
    

    Kullanmak istediğiniz DNS sunucularını bu formatta satır satır ekleyebilirsiniz. Örneğin, sistem genelinde Cloudflare'in DNS sunucularını kullanmak için dosyayı gösterildiği gibi güncelleyin:

    nameserver 1.1.1.1
    nameserver 1.0.0.1
    

    SSH (Secure Shell)

    [Image of SSH connection protocol and tunneling diagram]

    SSH, bir ağ üzerinden başka bir bilgisayara güvenli bir şekilde bağlanmak ve komutları yürütmek için kullanılan bir protokoldür. SSH, özellikle uzak bilgisayarlara erişmek ve yönetmek için yaygın olarak kullanılır. `ssh` komutu bir SSH bağlantısı oluşturmak için kullanılır.

    SSH Hizmetini Kurma ve Başlatma

    Öncelikle SSH servisini kurmanız gerekebilir. Debian tabanlı bir sistemde, aşağıdaki komutu kullanarak `openssh-server` paketini kurabilirsiniz:

    sudo apt-get update
    sudo apt-get install openssh-server
    

    Kurulum tamamlandıktan sonra servisi başlatabilirsiniz:

    sudo systemctl start ssh
    

    Sistem açıldığında SSH servisinin otomatik olarak başlamasını sağlamak için:

    sudo systemctl enable ssh
    

    SSH ile Uzak Sunucuya Bağlanma

    Uzak bir sunucuya bağlanmak için `ssh` komutunu kullanabilirsiniz:

    ssh kullanıcı_adı@ip_adresi
    

    Örneğin, kullanıcı adınız `root` ve sunucu adresi `192.168.1.100` ise:

    ssh root@192.168.1.100
    

    Bu komutu çalıştırdıktan sonra, uzak sunucunun şifresini girmeniz istenecektir.

    SSH Anahtar Çifti Oluşturma

    Parola tabanlı girişin yanı sıra, bir SSH anahtar çifti kullanarak parolasız (ve daha güvenli) bir şekilde bağlanabilirsiniz. `ssh-keygen` komutunu kullanarak bir SSH anahtarı oluşturabilirsiniz:

    ssh-keygen
    

    Bu komutu çalıştırdıktan sonra, oluşturulan genel anahtarı (public key) uzak sunucuya kopyalamanız gerekir:

    ssh-copy-id kullanıcı_adı@ip_adresi
    

    Örneğin:

    ssh-copy-id root@192.168.1.100
    

    Bu işlem tamamlandıktan sonra, şifre girmeden SSH kullanarak bağlanabilirsiniz.

    SSH Yapılandırma Dosyası

    SSH yapılandırma ayarları genellikle `/etc/ssh/sshd_config` dosyasında bulunur. SSH portunu değiştirmek veya root girişlerini devre dışı bırakmak gibi çeşitli SSH ayarları bu dosyada yapılandırılabilir:

    sudo nano /etc/ssh/sshd_config
    

    Dosya içeriğinde, port numarasını değiştirmek için `Port` ayarını bulup düzenleyebilirsiniz:

    Port 2222
    

    Değişiklikleri yaptıktan sonra SSH servisini yeniden başlatmanız gerekir:

    sudo systemctl restart ssh
    

    Bu bölümde SSH kullanımının temellerini öğrendik. Artık ağ üzerinden güvenli bağlantılar kurabilir ve SSH kullanarak uzak sunucuları yönetebilirsiniz.