AP Online Ama İstemci IP Alamıyor: Sorun Gerçekten DHCP mi?

AP online, SSID yayında, istemci bağlı ama IP yok. Forwarding modu, VLAN, DHCP relay, havuz ve dönüş yolunu sırayla eleyen üreticiden bağımsız bir yöntem; Huawei, Cisco Catalyst 9800 ve Meraki, HPE Aruba ve Fortinet karşılaştırması.

Huawei WLAN AC ve S serisi AC V200R010C00 komut referansı, S serisi V200R011C10
Resmi dokümana göre
Cisco Catalyst 9800 ve Meraki MR IOS XE 17.x, Meraki güncel dokümantasyon
Resmi dokümana göre
HPE Aruba Networking AOS 10
Resmi dokümana göre
FortiGate ve FortiAP FortiOS / FortiAP 7.4
Resmi dokümana göre

Kablosuz ağlarda en sık duyulan şikâyetlerden biri:

  • AP yönetim ekranında online.
  • SSID yayında, telefon ağı görüyor.
  • İstemci bağlanıyor, şifre kabul ediliyor.
  • Ama IP adresi yok. Ya hiç adres almıyor ya da 169.254.x.x ile kalıyor.

İlk refleks DHCP sunucusunu suçlamak olur. Oysa bu tabloda DHCP sunucusu çoğu zaman masumdur. AP’nin online olması yalnızca yönetim (kontrol) trafiğinin çalıştığını kanıtlar. İstemcinin veri trafiğinin doğru yere gittiğini kanıtlamaz.

Bu yazıda sorunu üreticiden bağımsız bir yöntemle sırayla eleyeceğiz. Sonra aynı kontrollerin Huawei, Cisco Catalyst 9800 ve Meraki, HPE Aruba ve Fortinet’te nerede yapıldığına bakacağız. AP’nin hiç online olmadığı durum, DNS ve gateway sorunları ve 802.1X hataları serinin ilerleyen yazılarının konusu.

Senaryo

Güvenlik serisindeki kampüs devam ediyor. Kablosuz kullanıcılar kablolu personelle aynı VLAN’a düşer; AP’ler için tek bir yönetim VLAN’ı ekleniyor.

Öğe Değer
VLAN 20, Personel 10.0.20.0/24, gateway 10.0.20.1 (core switch)
VLAN 50, AP yönetimi 10.0.50.0/24, gateway 10.0.50.1; controller 10.0.50.2
VLAN 60, Misafir 10.0.60.0/24, yalnızca internet
DHCP sunucusu 10.0.30.11 (sunucu VLAN’ı 30)
Relay Core switch, VLAN 20, 50 ve 60 için 10.0.30.11’e
AP bağlantısı Erişim switch’i port 20, trunk; yerel VLAN 50
SSID FC-Personel (VLAN 20), FC-Misafir (VLAN 60)

Erişim switch’inde L2 yazısındaki gibi DHCP snooping açık; core switch’e bakan port 48 güvenilir port.

Önce mantık: istemcinin DHCP paketi nereden geçer?

İstemci bağlandıktan sonra bir DHCP Discover yayınlar. Bu paketin izlediği yol, SSID’nin forwarding moduna göre tamamen değişir.

  • Bridge / local / direct forwarding: AP istemci trafiğini kendi uplink portundan, SSID’nin VLAN’ıyla switch’e bırakır. Controller veri yolunda yoktur. Discover’ın gateway’e ulaşması için VLAN 20’nin AP’nin switch portunda ve oradan gateway’e kadar her trunk’ta izinli olması gerekir.
  • Tunnel / central switching: AP istemci trafiğini bir tünelle merkeze taşır. Discover kablolu ağa tünelin sonlandığı noktadan çıkar: mimariye göre bir controller ya da gateway. AP’nin switch portunda VLAN 20 gerekmez; tünelin sonlandığı cihazın uplink’inde gerekir.
  • Meraki NAT modu: AP’nin kendisi DHCP sunucusudur ve istemcilere 10.0.0.0/8 aralığından adres verir. Bu modda VLAN etiketi kullanılamaz; kablolu taraftaki relay ve DHCP sunucusu devreye girmez. Bu yazının geri kalanındaki relay ve havuz adımları bu modda geçerli değildir.
BRIDGE / LOCAL AP SSID FC-Personel Erişim switch'i AP portu · VLAN 20 Core · relay VLANIF/SVI 20 · 10.0.20.1 DHCP sunucusu 10.0.30.11 Discover AP'nin switch portundan çıkar TUNNEL / CENTRAL AP SSID FC-Personel CAPWAP / tünel Controller 10.0.50.2 · uplink Core · relay VLANIF/SVI 20 · 10.0.20.1 DHCP sunucusu 10.0.30.11 Discover controller'ın uplink'inden çıkar MERAKI NAT MODU AP DHCP sunucusu 10.0.0.0/8 havuzu VLAN etiketi yok trafik AP'de NAT'lanır Kablolu ağ AP'nin kendi adresi Discover AP'de biter; relay ve sunucu devrede değil
Aynı SSID, üç farklı DHCP yolu. VLAN'ın nerede olması gerektiğini forwarding modu belirler: bridge'de AP'nin switch portunda, tunnel'da controller'ın uplink'inde; Meraki NAT modunda ise kablolu taraftaki DHCP altyapısı hiç kullanılmaz.

Arıza ağacının ilk sorusu bu yüzden hep aynıdır: Bu SSID hangi modda çalışıyor? Yanlış yere bakmanın en hızlı yolu bunu bilmeden başlamaktır.

Discover gateway’e ulaştıktan sonra iki ihtimal vardır: gateway’in kendisi DHCP sunucusudur ya da bir DHCP relay’dir. Bizim senaryomuzda core switch relay’dir. Relay, yayını sunucuya unicast olarak iletir ve pakete giaddr (gateway IP) alanını yazar. Sunucu havuzu bu giaddr’a bakarak seçer ve Offer’ı yine giaddr’a gönderir.

Personel PC VLAN 20 · IP yok Core switch relay · 10.0.20.1 DHCP sunucusu 10.0.30.11 Discover (broadcast) kaynak 0.0.0.0 Discover (unicast) giaddr = 10.0.20.1 Offer → giaddr 10.0.20.0/24 havuzundan Offer Request (broadcast) Request (unicast) ACK → giaddr ACK · 10.0.20.57 Sunucu giaddr'a (10.0.20.1) ulaşamazsa Offer kaybolur
Relay iki şey yapar: yayını unicast'e çevirir ve giaddr ile istemcinin hangi ağdan geldiğini sunucuya söyler. Sunucu havuzu giaddr'a göre seçer ve yanıtı da giaddr'a gönderir; bunun için giaddr'a ulaşabilmesi yeterlidir, ayrı bir /24 rotası şart değildir.

Bu akışta iki sessiz kırılma noktası vardır: sunucuda giaddr ile eşleşen havuzun olmaması ve sunucunun giaddr adresine (10.0.20.1) ulaşamaması. Bu erişim varsayılan rota üzerinden de sağlanabilir; sunucuda ayrıca bir /24 rotası olması şart değildir. Önemli olan, sunucunun Offer’ı giaddr’a gönderebilmesidir. İkisinde de istemcide görülen belirti aynıdır: IP yok.

Yedi kırılma noktası, tek belirti

Aşağıdaki yedi durumda AP online kalır, SSID yayında kalır, istemci bağlanır ve IP alamaz.

Personel PC FC-Personel AP yönetim VLAN 50 Wi-Fi Erişim switch'i port 20 · snooping trunk Core switch VLANIF/SVI 20 · relay port 48 Controller 10.0.50.2 uplink DHCP sunucusu 10.0.30.11 · VLAN 30 1 2 3 4 5 6 7 1 · AP portunda VLAN 20 yok (bridge) 2 · Controller uplink'inde VLAN 20 yok (tunnel) 3 · Relay yok ya da sunucu adresi yanlış 4 · giaddr ile eşleşen havuz yok 5 · Havuz dolu 6 · Sunucu giaddr'a ulaşamıyor ya da UDP 67/68 engelli 7 · Snooping / option 82 Offer'ı düşürüyor
Yedi kırılma noktasının hepsinde belirti aynı: AP online, SSID yayında, istemci bağlı, IP yok. Fark, Discover'ın ya da yanıtın yolun neresinde kaybolduğunda.
# Kırılma noktası Neden IP gelmez?
1 Bridge: AP’nin switch portunda VLAN 20 izinli değil Discover AP’nin switch portunda düşer
2 Tunnel: controller’ın uplink trunk’ında VLAN 20 yok Discover controller’dan kablolu ağa çıkamaz
3 Core switch’te VLAN 20 için relay yok ya da sunucu adresi yanlış Discover gateway’de kalır
4 Sunucuda giaddr (10.0.20.1) ile eşleşen havuz yok Sunucu hangi havuzdan adres vereceğini bulamaz
5 Havuz dolu Sunucu verecek adres bulamaz
6 Sunucu giaddr’a (10.0.20.1) ulaşamıyor ya da arada UDP 67/68 engelleniyor Offer giaddr’a geri dönemez
7 DHCP yolundaki switch’te DHCP snooping ya da option 82 yanıtları düşürüyor Offer istemciye ulaşmadan düşer

Notlar:

  • Havuz dolu (5) özellikle misafir ağında sık görülür: çok sayıda kısa süreli ziyaretçi ve uzun kira süresi, havuzu gün içinde tüketir. Misafir VLAN’ı 60’ta kira süresini kısa tutmak ve havuz doluluğunu izlemek bu yüzden önemlidir.
  • Relay kaynak adresi (4) sessiz bir tuzaktır. Cisco’ya göre Catalyst 9800’de DHCP relay kaynak arayüzü değiştirilirse giaddr de değişir ve sunucuda bu yeni adrese uyan bir havuz gerekir.
  • Snooping (7) kontrolünün yapılacağı switch, gerçek DHCP yoluna göre değişir: bridge modunda AP’nin bağlı olduğu erişim switch’i, tunnel modunda controller’ın bağlı olduğu switch. En sık iki neden: uplink’in güvenilir yapılmaması ve relay’in beklemediği option 82 bilgisi. Ayrıntılar L2 yazısında.
  • Yanlış gateway bilgisi bu listede yok, çünkü belirtisi farklıdır: istemci IP alır ama başka ağlara çıkamaz. 802.1X sonrası RADIUS’un switch’te ya da controller’da tanımlı olmayan bir VLAN döndürmesi de üreticiye göre farklı sonuç verir; NAC yazısında değindik, ayrıntısı 802.1X sorun giderme yazısına kalıyor.

Arıza aramaya başlamadan önce, aynı SSID’de IP alabilen bir istemci varsa onu karşılaştırma noktası olarak kullanın: sorun tüm istemcilerde mi, tek bir AP’de mi, tek bir istemci tipinde mi?

Troubleshooting yöntemi: paketi takip et

Hangi üretici olursa olsun sıra aynıdır: önce istemcinin gerçekten bağlı ve doğru VLAN’da olduğunu, sonra forwarding moduna göre Discover’ın gateway’e ulaştığını, en son relay, sunucu ve dönüş yolunu doğrulayın. En hızlı kanıt paket yakalamadır: Discover’ın ya da Offer’ın hangi linkte görünüp hangisinde kaybolduğu, kırılma noktasını doğrudan gösterir.

SORU HAYIR İSE · NEREYE BAKILIR 1 · İstemci bağlı (Run) mı? hayır Kimlik doğrulama / association DHCP'ye geçmeden önce çözülür evet 2 · Doğru VLAN'da mı? hayır SSID VLAN'ı ya da RADIUS'un döndürdüğü VLAN yanlış evet 3 · Forwarding modu? bridge: AP portu · tunnel: uplink Meraki NAT: AP'nin havuzu 4 · Discover gateway'e ulaşıyor mu? hayır L2 yol: trunk'lar, VLAN, snooping (1, 2, 7) evet 5 · Relay sunucuya iletiyor mu? hayır Relay ayarı ve sunucu adresi (3) evet 6 · Sunucu Offer üretiyor mu? hayır Havuz giaddr ile eşleşiyor mu, dolu mu? (4, 5) evet 7 · Offer istemciye dönüyor mu? hayır Dönüş rotası, firewall, snooping (6, 7) İstemci IP alır
Parantez içindeki numaralar arıza haritasındaki kırılma noktalarıdır. Her soru bir öncekinin cevabının evet olduğunu varsayar.

Aynı problem dört üreticide

Mantık ortak; değişen, ayarın nerede durduğu ve nereye bakıldığı. Aşağıdaki komutlar her üreticinin resmî dokümanından alındı ve laboratuvarda çalıştırılmadı. Hiçbir çıktı örneği uydurulmadı; her komutta hangi alana bakılacağı yazılı.

Huawei (AC + Fit AP)

Nerede ayarlanır: VAP profilinde. Forwarding modu (direct-forward, tunnel ya da SoftGRE) ve servis VLAN’ı bu profilde tanımlanır; SSID ve güvenlik profilleri de VAP profiline bağlanır.

Neye bakılır:

display vap-profile name <profil-adı>

Çıktıdaki Forward mode alanı forwarding modunu, Service VLAN ID alanı istemcinin düşeceği VLAN’ı gösterir. Bizim senaryoda servis VLAN’ı 20 olmalıdır. Komut ve alan adları WLAN AC V200R010C00 komut referansındandır.

Relay yapan Huawei S serisi switch’te relay ayarı ve kullanılan gateway adresi:

display dhcp relay interface vlanif 20

Çıktı, relay’in kullandığı gateway adresini (10.0.20.1) ve DHCP sunucusunu gösterir. Relay bir sunucu grubuyla yapılandırılmışsa çıktıda sunucu adresi yerine grup adı görünebilir; bu durumda sunucunun 10.0.30.11 olduğunu display dhcp server group ile ayrıca kontrol edin. Relay, VLANIF arayüzünde dhcp select relay ve dhcp relay server-ip ile, DHCP de global olarak dhcp enable ile açılır (S serisi V200R011C10 yapılandırma kılavuzu). Sunucu grubu kullanımı ve display dhcp server group komutu Huawei’nin AR V200R010 IP servisleri kılavuzunda anlatılır.

Cisco Catalyst 9800 ve Meraki

Catalyst 9800, nerede ayarlanır: VLAN ve forwarding bilgisi policy profile’da durur. Local mode AP’de istemci DHCP’si CAPWAP tüneliyle controller’a taşınır ve controller tarafından iletilir (central switching). FlexConnect local switching’de AP, DHCP isteğini doğrudan yanındaki hop’a bırakır; bu durumda istemci VLAN’ının flex profile’da tanımlı olması ve AP’nin switch portunda, yerel VLAN AP yönetim VLAN’ı olacak şekilde trunk’ta izinli olması gerekir.

Neye bakılır:

show wireless client mac-address <MAC> detail
show wireless client summary
show wireless vlan details

İstemci durumu kimlik doğrulamayı geçmiş ama IP Learn aşamasında takılı kalmışsa, sorun DHCP yolundadır; IP aldığında durum Run’a geçer. Ayrıntılı iz için Cisco’nun RadioActive trace’i istemci MAC’ine göre başlatılır:

debug wireless mac <MAC>

Policy profile’daki ipv4 dhcp required ayarı açıksa, istemcinin DHCP’den adres alması zorunludur. Cisco’ya göre bu durumda önceki bir SSID’nin VLAN’ından kalma adresi isteyen istemciye controller NAK döner. Bu davranış, “başka ağdan gelince bağlanamıyor” türü şikâyetlerde akılda tutulmalıdır.

Meraki, nerede ayarlanır: SSID’nin istemci IP atama modunda. DHCP akışı moda göre tamamen değişir:

  • Bridge modu: İstemci adresini kablolu taraftaki DHCP sunucusundan alır; VLAN etiketi kullanılabilir. Yukarıdaki karar ağacı aynen geçerlidir.
  • NAT modu: Adresi Meraki AP’nin kendisi, 10.0.0.0/8 aralığından verir. VLAN etiketi kullanılamaz; relay ve sunucu adımları geçerli değildir.
  • Layer 3 roaming (concentrator ile): İstemci trafiği bir tünelle mobility concentrator’a taşınır; Discover kablolu ağa concentrator’dan çıkar. Tunnel moduna benzer düşünülmelidir.

Meraki’de bakılacak yer dashboard’daki istemci ayrıntısı ve olay kayıtlarıdır.

HPE Aruba Networking (AOS 10)

Nerede ayarlanır: WLAN profilinin forwarding modunda. AOS 10’da üç mod vardır:

  • Bridge: AP istemci trafiğini kendi uplink’inden istenen VLAN’la bırakır; VLAN AP’nin kablolu uplink’inde bulunmalıdır. Kimlik doğrulayıcı AP’dir; VLAN ve rol kararını AP verir.
  • Tunnel: AP istemci trafiğini birincil gateway kümesine tüneller; VLAN o kümede bulunmalıdır. Kimlik doğrulayıcı gateway’dir.
  • Mixed: AP, istemcinin VLAN’ına göre trafiği bridge ya da tunnel eder: VLAN gateway kümesinde varsa tünellenir, yoksa bridge edilir. Bu mod, bridge ve tunnel istemciler için ayrı VLAN’lar ister.

Aruba’nın dokümanına göre bir WLAN profilinin forwarding modu kaydedildikten sonra değiştirilemez. Bu yüzden “Discover nereden çıkıyor?” sorusunun cevabı profilin oluşturulduğu anda belirlenmiştir. Mixed modda ise cevap istemciye göre değişir: aynı SSID’deki iki istemcinin DHCP yolu farklı olabilir. AOS 10 için CLI komutlarını bu yazıda doğrulayamadığımızdan vermiyoruz; istemcinin durumu, VLAN’ı ve rolü yönetim arayüzündeki istemci ayrıntısından izlenir.

Fortinet (FortiGate + FortiAP)

Nerede ayarlanır: SSID’nin trafik modunda:

  • Tunnel: İstemci trafiği FortiGate’e tünellenir ve FortiGate’te SSID adıyla bir arayüz oluşur. Erişim switch’inde yalnızca yönetim VLAN’ı gerekir; DHCP bu SSID arayüzünde FortiGate’in kendisi ya da tanımlı bir relay ile verilir.
  • Local bridge: FortiAP istemci trafiğini bağlı olduğu switch portuna bırakır; izinli VLAN’ın erişim switch’inde tanımlı olması gerekir. DHCP kablolu taraftan gelir. FortiWiFi cihazları local bridge modunu desteklemez.

Neye bakılır:

diagnose wireless-controller wlac -d sta online
diagnose wireless-controller wlac sta_filter <MAC> 1
execute dhcp lease-list <arayüz>

İlk komut bağlı istemcileri ve IP adreslerini listeler; IP alanı boş kalan istemci DHCP adımında takılıdır. İkincisi tek bir istemcinin bağlantı adımlarını filtreler. Üçüncüsü, DHCP’yi FortiGate veriyorsa o arayüzdeki kiraları gösterir. Local bridge modunda DHCP mesajları FortiGate’in istemci debug’ında görünmez; kablolu taraftaki VLAN arayüzünde ya da gateway’de aranmalıdır.

Karşılaştırma

Bridge / local Tunnel / central DHCP’yi kim verir?
Huawei direct-forward; VLAN AP’nin switch portunda tunnel; VLAN AC uplink’inde Kablolu taraftaki sunucu ya da relay
Cisco 9800 FlexConnect local switching; VLAN flex profile’da ve AP portunda Local mode central switching; controller iletir Kablolu taraf ya da controller’daki dahili sunucu
Meraki Bridge; upstream DHCP Layer 3 roaming (concentrator) NAT modunda AP’nin kendisi
HPE Aruba (AOS 10) Bridge; VLAN AP uplink’inde Tunnel; VLAN gateway kümesinde Kablolu taraf; mixed modda istemciye göre
Fortinet Local bridge; VLAN erişim switch’inde Tunnel; SSID FortiGate’te arayüz Tunnel’da FortiGate ya da relay; local bridge’de kablolu taraf

Sonuç

AP’nin online olması bir kontrol düzlemi başarısıdır. İstemcinin IP alması ise veri düzlemi başarısıdır ve tamamen başka bir yoldan geçebilir. Arızayı çözmenin anahtarı DHCP sunucusuna değil, Discover paketinin izlediği yola bakmaktır: önce forwarding modu, sonra VLAN, relay, havuz ve dönüş yolu. Meraki NAT modu gibi AP’nin kendisinin adres dağıttığı modlarda ise bu yolun büyük kısmı hiç yoktur.

Serinin bir sonraki yazısında bir adım geriye gidiyoruz: AP hiç online olmuyorsa ne yapılır?

Kaynaklar

#wlan#dhcp#troubleshooting#vlan#relay

Kemal Keleş

Network & Security Engineer · CCNA · HCSA · NSE 3

Switching, routing, firewall ve kampüs ağlarında presales ve saha deneyimimi, teknik araştırmalarımı ve üretici dokümantasyonlarını bir araya getirerek pratik, üreticiden bağımsız içerikler hazırlıyorum.

Aynı konudan