Neler yeni

Yazılım Forum

Tüm özelliklerimize erişmek için şimdi bize katılın. Kayıt olduktan ve giriş yaptıktan sonra konu oluşturabilecek, mevcut konulara yanıt gönderebilecek, itibar kazanabilecek, özel mesajlaşmaya erişebilecek ve çok daha fazlasını yapabileceksiniz! Bu hizmetlerimiz ise tamamen ücretsiz ve kurallara uyulduğu sürece sınırsızdır, o zaman ne bekliyorsunuz? Hadi, sizde aramıza katılın!

Kapsamlı Linux Ağ Yapılandırması ve Sorun Giderme Rehberi

Giriş

Linux tabanlı sistemlerde ağ yapılandırması, sunucuların, iş istasyonlarının ve IoT cihazlarının diğer sistemlerle iletişim kurabilmesi için temel bir gerekliliktir. Geleneksel olarak komut satırı araçları ile yapılan bu işlemler, günümüzde NetworkManager ve Netplan gibi daha modern ve otomatikleştirilmiş araçlarla da yönetilebilmektedir. Bu rehberde, Linux ağ yapılandırmasının temellerini, sık kullanılan komutları, yapılandırma dosyalarını ve sorun giderme yöntemlerini ayrıntılı bir şekilde ele alacağız. Amacımız, hem yeni başlayanlar hem de deneyimli kullanıcılar için kapsamlı bir başvuru kaynağı oluşturmaktır.

Linux'un modüler yapısı sayesinde, ağ ayarlarınızı ihtiyaçlarınıza göre ince ayar yapma esnekliğine sahipsiniz. İster basit bir DHCP istemcisi ayarlıyor olun, ister karmaşık bir statik IP yönlendirme tablosu oluşturun, doğru araçları ve bilgiyi kullanarak her şeyi başarabilirsiniz. Bu rehber, ağ arayüzlerinin yönetimi, IP adreslerinin atanması, yönlendirme tablolarının düzenlenmesi, DNS çözünürlüğü ve temel güvenlik duvarı yapılandırması gibi konuları adım adım açıklayacaktır.

1. Ağ Arayüzlerini Tanıma ve Yönetme

Linux sistemlerdeki ağ arayüzleri genellikle `eth0`, `wlan0` gibi isimlerle veya modern sistemlerde `enp0s3`, `wlp2s0` gibi daha kalıcı ve tahmin edilebilir isimlerle anılır. Bu arayüzleri tanımak ve durumlarını kontrol etmek, ağ yapılandırmasının ilk adımıdır.

1.1. `ip` Komutu (Önerilen)

`ip` komutu, `net-tools` paketindeki `ifconfig`, `route`, `netstat` gibi eski komutların yerini almıştır ve daha kapsamlı işlevsellik sunar. Modern Linux dağıtımlarında ağ yönetimi için tercih edilen araçtır.

Bir sistemdeki tüm ağ arayüzlerini ve durumlarını görmek için:
Kod:
ip link show
Çıktı örneği:
Kod:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 08:00:27:1c:1d:2e brd ff:ff:ff:ff:ff:ff
Belirli bir arayüzü etkinleştirmek veya devre dışı bırakmak için:
Kod:
sudo ip link set enp0s3 up
sudo ip link set enp0s3 down

1.2. `ifconfig` Komutu (Eski)

Bazı eski sistemlerde veya alışkanlıktan dolayı hala kullanılabilen `ifconfig` komutu, arayüzlerin IP adresleri, MAC adresleri ve durumları hakkında bilgi sağlar.

Kod:
ifconfig
Çıktı örneği:
Kod:
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.10  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::a00:27ff:fe1c:1d2e  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:1c:1d:2e  txqueuelen 1000  (Ethernet)
        RX packets 1234  bytes 123456 (120.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 567  bytes 67890 (66.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
Belirli bir arayüzü etkinleştirmek veya devre dışı bırakmak için:
Kod:
sudo ifconfig enp0s3 up
sudo ifconfig enp0s3 down

2. IP Adreslerini Yapılandırma

Ağ arayüzlerine IP adresi atamak, ağ üzerinden iletişim kurabilmek için hayati önem taşır. IP adresleri statik (elle) veya dinamik (DHCP sunucusundan) atanabilir.

2.1. Statik IP Yapılandırması (`ip` ile)

Bir arayüze statik IP adresi atamak için:
Kod:
sudo ip addr add 192.168.1.10/24 dev enp0s3
Bu komutla eklenen IP adresi sistem yeniden başlatıldığında kaybolur. Kalıcı yapılandırma için dosya tabanlı yöntemler kullanılır.

2.2. DHCP İstemcisi Yapılandırması

Çoğu masaüstü sistemi ve bazı sunucular, IP adresini bir DHCP sunucusundan otomatik olarak alır. Bu genellikle `dhclient` veya `NetworkManager` tarafından yönetilir. Bir arayüze DHCP ile adres atamak için:
Kod:
sudo dhclient enp0s3

3. Ağ Yönlendirme (Routing) Tabloları

Linux sistemi, paketleri doğru hedeflere ulaştırmak için bir yönlendirme tablosu kullanır. Bu tablo, hangi ağların hangi arayüzden veya ağ geçidinden erişilebileceğini belirtir.

3.1. Yönlendirme Tablosunu Görüntüleme (`ip` ile)

Kod:
[u]ip route show[/u]
Çıktı örneği:
Kod:
default via 192.168.1.1 dev enp0s3 proto dhcp metric 100
192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.10

3.2. Varsayılan Ağ Geçidi Ekleme

İnternet'e veya diğer harici ağlara erişim için bir varsayılan ağ geçidi (default gateway) tanımlamanız gerekir:
Kod:
sudo ip route add default via 192.168.1.1 dev enp0s3
Mevcut varsayılan ağ geçidini silmek için:
Kod:
sudo ip route del default

4. DNS Çözümlemesi

Domain Name System (DNS), insan tarafından okunabilen alan adlarını (örneğin `google.com`) makine tarafından okunabilen IP adreslerine çevirir. Linux'ta DNS çözümlemesi genellikle /etc/resolv.conf dosyası tarafından yönetilir.

4.1. `/etc/resolv.conf` Dosyası

Bu dosya, sistemin kullanacağı DNS sunucularını listeler. DHCP istemcileri veya NetworkManager gibi servisler bu dosyayı otomatik olarak güncelleyebilir. Elle düzenleme yaparken dikkatli olun, çünkü değişiklikler üzerine yazılabilir.

Örnek `/etc/resolv.conf` içeriği:
Kod:
# Generated by NetworkManager
search example.com
nameserver 8.8.8.8
nameserver 8.8.4.4
Bu dosyadaki `nameserver` satırları, kullanılacak DNS sunucularının IP adreslerini belirtir.

4.2. DNS Sorgulama Araçları

Bir alan adının IP adresini sorgulamak veya DNS çözümlemesini test etmek için `dig` veya `nslookup` komutları kullanılır.
Kod:
dig google.com
nslookup example.com

5. Kalıcı Ağ Yapılandırması (Dosya Tabanlı)

Yukarıdaki `ip` komutları ile yapılan değişiklikler geçicidir ve sistem yeniden başlatıldığında kaybolur. Kalıcı yapılandırma için, kullanılan dağıtıma ve ağ yönetim aracına bağlı olarak farklı yapılandırma dosyaları düzenlenir.

5.1. Debian/Ubuntu ( `/etc/network/interfaces`)

Bu dağıtımlarda klasik yöntem, `/etc/network/interfaces` dosyasını düzenlemektir.

DHCP istemcisi için:
Kod:
auto enp0s3
iface enp0s3 inet dhcp

Statik IP yapılandırması için:
Kod:
auto enp0s3
iface enp0s3 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 8.8.4.4
Değişiklikleri uygulamak için ağı yeniden başlatın (veya sistemi):
Kod:
sudo systemctl restart networking

5.2. Red Hat/CentOS ( `/etc/sysconfig/network-scripts/ifcfg-enp0s3`)

Red Hat tabanlı sistemlerde arayüz başına bir yapılandırma dosyası bulunur.

DHCP için (`/etc/sysconfig/network-scripts/ifcfg-enp0s3`):
Kod:
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s3
UUID=...
DEVICE=enp0s3
ONBOOT=yes

Statik IP için:
Kod:
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s3
UUID=...
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.1.10
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
Değişiklikleri uygulamak için ağ servisini yeniden başlatın:
Kod:
sudo systemctl restart network

5.3. Netplan (Modern Ubuntu)

Modern Ubuntu sürümleri Netplan'ı kullanır. Yapılandırma dosyaları `/etc/netplan/` altında `.yaml` uzantısıyla bulunur.

Örnek Netplan yapılandırması (`/etc/netplan/01-netcfg.yaml`):
Kod:
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no
      addresses: [192.168.1.10/24]
      gateway4: 192.168.1.1
      nameservers:
          addresses: [8.8.8.8, 8.8.4.4]
Değişiklikleri uygulamak için:
Kod:
sudo netplan apply

6. Güvenlik Duvarı Yapılandırması (Firewall)

Linux sistemlerde güvenlik duvarı, ağ trafiğini filtrelemek ve sistemi yetkisiz erişimden korumak için kritik öneme sahiptir. En yaygın kullanılan güvenlik duvarı araçları `iptables` ve `ufw` (basit bir iptables arayüzü)dir.

6.1. `ufw` (Uncomplicated Firewall)

`ufw`, iptables kurallarını basitleştiren bir araçtır ve kullanımı kolaydır.

`ufw`'yi etkinleştirme:
Kod:
sudo ufw enable
Belirli portları açma (örneğin SSH - port 22):
Kod:
sudo ufw allow 22/tcp
sudo ufw allow OpenSSH
Belirli bir IP adresinden gelen trafiği engelleme:
Kod:
sudo ufw deny from 192.168.1.100
`ufw` durumunu kontrol etme:
Kod:
sudo ufw status verbose

6.2. `iptables`

`iptables`, Linux çekirdeğinin netfilter modülü için gelişmiş bir kullanıcı alanı programıdır. Çok güçlü ancak karmaşıktır.

Tüm mevcut kuralları listeleme:
Kod:
sudo iptables -L -v -n
SSH (port 22) trafiğine izin veren bir kural ekleme:
Kod:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Tüm diğer gelen trafiği engelleme (dikkatli kullanın!):
Kod:
sudo iptables -P INPUT DROP
`iptables` kuralları varsayılan olarak kalıcı değildir. Kalıcı hale getirmek için `iptables-persistent` gibi paketler veya özel scriptler kullanılır.

Güvenlik duvarı kuralları uygularken her zaman dikkatli olun. Yanlış yapılandırma, sisteminizle ağ bağlantısını kaybetmenize neden olabilir.

7. Ağ Sorun Giderme (Troubleshooting)

Ağ sorunları yaygın olabilir ve doğru araçlarla hızlıca teşhis edilebilir. İşte temel sorun giderme adımları ve araçları:


  • [li]Ağ arayüzlerinin durumunu kontrol edin: `ip link` ve `ip addr`.[/li]
    [li]Bağlantıyı test edin: `ping` ve `traceroute`.[/li]
    [li]Ağ bağlantılarını ve dinleyen portları inceleyin: `ss` veya `netstat`.[/li]
    [li]DNS çözümlemesini doğrulayın: `dig` veya `nslookup`.[/li]
    [li]Ağ servislerinin durumunu kontrol edin: `systemctl status NetworkManager` veya ilgili servis.[/li]

7.1. Bağlantı Kontrolü (`ping`, `traceroute`)

* `ping`: Bir ana bilgisayara ulaşılabilirliği ve gecikmeyi test eder.
Kod:
ping google.com
ping 192.168.1.1
* `traceroute` / `tracepath`: Bir paketin hedefe ulaşana kadar geçtiği tüm yönlendiricileri (hop) gösterir. Bağlantı sorunlarının nerede olduğunu belirlemekte yardımcı olur.
Kod:
traceroute google.com

7.2. Ağ Durumu ve Port Kontrolü (`netstat`, `ss`)

* `netstat` (Eski): Aktif bağlantıları, dinleyen portları, yönlendirme tablolarını gösterir.
Kod:
netstat -tulnp
Bu komut, TCP (`t`), UDP (`u`) bağlantılarını, dinleyen (`l`) portları, sayısal (`n`) adresleri ve program (`p`) isimlerini gösterir.
* `ss` (Önerilen): `netstat`'tan daha hızlı ve modern bir alternatiftir. Benzer bilgileri sağlar.
Kod:
ss -tulnp

7.3. IP Adresi ve Arayüz Kontrolü (`ip addr`, `ip link`)

Sisteminizin doğru IP adresini alıp almadığını veya ağ arayüzlerinin etkin olup olmadığını kontrol edin.
Kod:
ip addr show
ip link show

7.4. DNS Sorunları (`dig`, `nslookup`)

Bir web sitesine IP adresiyle erişebiliyor ancak alan adıyla erişemiyorsanız, DNS sorunları yaşıyor olabilirsiniz. `/etc/resolv.conf` dosyasını ve DNS sunucularınızın erişilebilirliğini kontrol edin.
Kod:
dig example.com
dig @8.8.8.8 example.com
İkinci komut, belirtilen DNS sunucusunu (burada Google DNS) kullanarak sorgu yapar. Bu, varsayılan DNS sunucunuzun sorunlu olup olmadığını anlamanıza yardımcı olur.

7.5. Ağ Servislerinin Durumu

NetworkManager, systemd-networkd gibi ağ servislerinin veya DHCP istemcisi gibi yardımcı servislerin çalışıp çalışmadığını kontrol edin:
Kod:
sudo systemctl status NetworkManager
sudo systemctl status systemd-networkd
sudo systemctl status dhclient

Sonuç

Linux ağ yapılandırması, başlangıçta karmaşık görünebilse de, doğru araçlar ve bilgilerle oldukça yönetilebilir bir süreçtir. Bu rehberde ele aldığımız `ip` komutları, yapılandırma dosyaları ve sorun giderme teknikleri, Linux sistemlerinizde sağlam ve güvenli ağ bağlantıları kurmanız için size yol gösterecektir. Ağ yapılandırması dinamik bir alandır ve farklı dağıtımlar ile araçlar arasında küçük farklılıklar olabilir, ancak burada sunulan temel prensipler evrensel olarak geçerlidir. Unutmayın ki pratik yapmak, en iyi öğrenme yöntemidir. Güvenli ve verimli ağlar dileriz!

Linux Vakfı
Linux Çekirdeği
Red Hat Linux Bilgileri
 
shape1
shape2
shape3
shape4
shape5
shape6
Üst

Bu web sitenin performansı Hazal Host tarafından sağlanmaktadır.

YazilimForum.com.tr internet sitesi, 5651 sayılı Kanun’un 2. maddesinin 1. fıkrasının (m) bendi ve aynı Kanun’un 5. maddesi kapsamında Yer Sağlayıcı konumundadır. Sitede yer alan içerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır.

YazilimForum.com.tr, kullanıcılar tarafından paylaşılan içeriklerin doğruluğunu, güncelliğini veya hukuka uygunluğunu garanti etmez ve içeriklerin kontrolü veya araştırılması ile yükümlü değildir. Kullanıcılar, paylaştıkları içeriklerden tamamen kendileri sorumludur.

Hukuka aykırı içerikleri fark ettiğinizde lütfen bize bildirin: lydexcoding@gmail.com

Sitemiz, kullanıcıların paylaştığı içerik ve bilgileri 6698 sayılı KVKK kapsamında işlemektedir. Kullanıcılar, kişisel verileriyle ilgili haklarını KVKK Politikası sayfasından inceleyebilir.

Sitede yer alan reklamlar veya üçüncü taraf bağlantılar için YazilimForum.com.tr herhangi bir sorumluluk kabul etmez.

Sitemizi kullanarak Forum Kuralları’nı kabul etmiş sayılırsınız.

DMCA.com Protection Status Copyrighted.com Registered & Protected