Linux, ağ yönetimi ve yapılandırmaları açısından oldukça güçlü araçlar sunar. Bu makalede, Linux’ta sıkça kullanılan temel ağ komutlarını ve temel ağ yapılandırmalarını ele alacağız. Ağ ayarlarını daha iyi anlayacak ve yapılandırma işlemlerini kolaylıkla gerçekleştirebileceksiniz.
Linux Ağ Yapısını Anlama
Linux’ta ağ yönetimi genellikle network interfaces (ağ arayüzleri) üzerinden yapılır. Her ağ bağlantısı bir ağ arayüzüne atanır. Bu arayüzler, donanımınıza ve yapılandırmanıza bağlı olarak farklılık gösterebilir. Örneğin:
- eth0: Kablolu Ethernet bağlantısı.
- wlan0: Kablosuz ağ bağlantısı.
- lo: Loopback (geri döngü) arayüzü.
Sık Kullanılan Ağ Yönetimi Komutları
`ifconfig` ve `ip` ile Ağ Arayüzü Bilgisi Alma
Eskiden yaygın olarak kullanılan `ifconfig` komutu yerini `ip` komutuna bırakmış olsa da, birçok Linux dağıtımında hâlâ kullanılmaktadır. Her iki komut da ağ arayüzü bilgilerini gösterir.
ifconfig kullanımı:
ifconfig
Bu komut, sistemdeki mevcut ağ arayüzlerini ve IP adreslerini listeleyecektir. Ancak modern sistemlerde `ip` komutu tercih edilir:
ip komutuyla ağ arayüzlerini listeleme:
ip addr show
Bu komutla her ağ arayüzünün IP adresini, MAC adresini ve diğer detayları görebilirsiniz.
`ping` ile Ağ Bağlantısı Test Etme
Ağ bağlantınızın bir diğer cihaza olan erişimini test etmek için `ping` komutu kullanılır. Bu komut, belirli bir IP adresine veya domaine veri paketleri göndererek cevap alıp almadığınızı kontrol eder.
Bir sunucuyu test etmek için:
ping google.com
Bu komut, `google.com` sunucusuna veri paketleri gönderip, geri yanıt alarak bağlantıyı test eder.
`netstat` ile Ağ Bağlantılarını Görüntüleme
`netstat`, sistemdeki tüm aktif ağ bağlantılarını ve socket’leri listeleyen güçlü bir komuttur. Ayrıca, bu komutla portlar ve bağlı olan dış IP’ler hakkında bilgi edinebilirsiniz.
netstat -tuln
Bu komut, TCP ve UDP portlarının durumunu listeleyecektir. Özellikle, bir servisin dinlediği portları öğrenmek için kullanışlıdır.
`traceroute` ile Ağ Yolunu İzleme
`traceroute`, bir veri paketinin hedef adrese giderken hangi ağlardan geçtiğini görmek için kullanılır. Bu komut, özellikle ağ performans sorunlarını teşhis etmekte faydalıdır.
traceroute google.com
Bu komut, Google sunucusuna erişim için hangi yönlendiriciler üzerinden geçtiğinizi gösterecektir.
Ağ Yapılandırması
Linux’ta ağ yapılandırması genellikle `/etc/network/interfaces` veya `/etc/netplan/` gibi dosyalar aracılığıyla yapılır. Ancak modern sistemlerde `NetworkManager` veya `systemd-networkd` gibi araçlar da kullanılmaktadır.
Statik IP Adresi Tanımlama
Eğer bir sunucuya statik IP adresi vermek istiyorsanız, yapılandırma dosyasını düzenlemeniz gerekir. Örneğin, Ubuntu üzerinde `/etc/netplan/` dizinindeki yapılandırma dosyalarını düzenleyebilirsiniz.
Örnek yapılandırma:
- yaml
- network:
- version: 2
- renderer: networkd
- ethernets:
- eth0:
- dhcp4: no
- addresses:
- – 192.168.1.100/24
- gateway4: 192.168.1.1
- nameservers:
- addresses:
- – 8.8.8.8
8.8.4.4Yukarıdaki yapılandırma, `eth0` arayüzüne statik IP adresi olarak `192.168.1.100`’ü atar, ağ geçidi olarak `192.168.1.1` ve DNS sunucusu olarak Google DNS (8.8.8.8, 8.8.4.4) kullanır.
Yapılandırmayı yaptıktan sonra, aşağıdaki komutla ayarları etkinleştirebilirsiniz:
sudo netplan apply
DHCP ile Dinamik IP Alma
Varsayılan olarak birçok Linux dağıtımı, ağ ayarlarını otomatik olarak DHCP sunucusundan alacak şekilde yapılandırılmıştır. Eğer DHCP ile IP almak istiyorsanız, ilgili yapılandırma dosyasının aşağıdaki gibi olması gerekir:
- yaml
- network:
- version: 2
- renderer: networkd
- ethernets:
- eth0:
- dhcp4: yes
SSH ile Uzak Bağlantılar
Ağ yönetiminde SSH, uzak sunuculara bağlanmak ve yönetmek için kullanılan en popüler protokoldür. SSH kullanarak güvenli bir şekilde başka bir makineye erişebilir ve komutlar çalıştırabilirsiniz.
SSH ile bir sunucuya bağlanma:
ssh kullanıcı_adı@sunucu_adresi
Örneğin:
ssh root@192.168.1.10
SSH Güvenliğini Artırma
Varsayılan SSH portunu değiştirme: SSH varsayılan olarak 22 numaralı portu kullanır, bu nedenle güvenliği artırmak için portu değiştirebilirsiniz. `/etc/ssh/sshd_config` dosyasını açıp `Port 22` satırını düzenleyebilirsiniz:
Port 2222
Sonrasında SSH servisini yeniden başlatın:
sudo systemctl restart ssh
Linux Firewall: iptables ve ufw ile Güvenlik
`iptables` ile Güvenlik Duvarı Yönetimi
`iptables`, ağ trafiğini yönetmek ve filtrelemek için kullanılan bir araçtır. Örneğin, belirli bir portu açmak için aşağıdaki komutu kullanabilirsiniz:
sudo iptables -A INPUT -p tcp –dport 80 -j ACCEPT
Bu komut, TCP 80 (HTTP) portuna gelen bağlantılara izin verir.
`ufw` ile Kolay Güvenlik Duvarı Yönetimi
`ufw` (Uncomplicated Firewall), iptables üzerine kurulu basit bir güvenlik duvarı aracıdır. Özellikle yeni kullanıcılar için daha kolaydır.
80 numaralı portu açmak:
sudo ufw allow 80/tcp
Tüm gelen bağlantıları engellemek ve sadece SSH bağlantısına izin vermek:
- sudo ufw default deny incoming
- sudo ufw allow ssh
- sudo ufw enable
Linux’ta ağ yönetimi, doğru araçlar ve komutlarla oldukça kolay hale gelir. Bu makalede, ağ yapılandırması ve yönetimi için temel araçları öğrendiniz. Ağ performansını iyileştirmek, sorunları teşhis etmek ve güvenliği artırmak için bu komutları kullanabilirsiniz.