Cisco IOS PPP IPCP adres atama

Cisco ISG ile ppp sessionlara statik ip atama sırasında karşılaştığımız sorun. CPE’ler radius tarafından framed-ip-address attiribute ile ip göndermemize rağmen pool’dan ip alıyorlar (Pool konfigurasyonları ise routerlar üzerinde serice configurasyonu altında. Radius tarafından pool gönderilmiyor)

IOS’in ipcp ile adres atama mantığı;

1 – ) Eğer CPE tarafından bir adress istenmemiş ise, radius’dan yollanan Framed-IP-Address kullanır. Eğer oda yok ise pool kullanır.

2- ) Eğer CPE tarafından bir adress istenmiş ise,framed-ip-address’den vermeye çalışır. Eğer framed-ip-address yok ise pool’dan vermeye çalışır.. Bu durum bazı CPE’lerin session düştüğü zaman bir önceki ip adresini cachelerinde tutup IPCP ile tekrar istiyebilirler. Default olarak IOS tarafından bu kabul edilmez.

ASR 1004 ve ASR1002 üzerinde rastladığımız sorun ise, 2. seçenekde framed-ip-address yerine pool’dan ip vermesi. Bu soruna ASR1006’da rastlanmadı. Bir bug olarak açıklandı ve çözülmesini bekliyoruz.

 

There is problem for Cisco ASR 1004 and 1002; these routers assign peer ip address from the pool instead of using the Framed-IP-Address sent from the radius in Access-Accept for option 2.

This is logic of ppp ipcp address assignment,

1) If there is no IP address provided by the CPE, check first from the Radius Server (Framed-IP-Address)
2) If there is an IP address provided by the CPE,  check the Radius Server (Framed-IP-Address), check first the local pool.

Here we see that at the first attempt, when the CPE asks the ASR to give an IP (CONFREQ with 0.0.0.0), the router takes the one from the Framed-IP-Address:

CPE Reload oluyor, tekrar bağlanıyor, ve ilk seçeneğe göre ip atanıyor. Framed-ip-address kullanılıyor.

CPE reloads and assigned ip address from Framed-IP-Address.
Jun  5 17:14:39 TR: Vi2.792 IPCP: I CONFREQ [REQsent] id 1 len 22
Jun  5 17:14:39 TR: Vi2.792 IPCP:    Address 0.0.0.0 (0x030600000000)
Jun  5 17:14:39 TR: Vi2.792 IPCP:    PrimaryDNS 0.0.0.0 (0x810600000000)
Jun  5 17:14:39 TR: Vi2.792 IPCP:    SecondaryDNS 0.0.0.0 (0x830600000000)
Jun  5 17:14:39 TR: Vi2.792 IPCP AUTHOR: Start.  Her address 0.0.0.0, we want 0.0.0.0
Jun  5 17:14:39 TR: Vi2.792 IPCP AUTHOR: Done.  Her address 0.0.0.0, we want 192.168.80.60

Session ASR tarafında temizleniyor. İkinci maddeye göre, bu sefer CPE bir önceki adresini istiyor, IOS pool’dan ip ataması gerçekleştiriyor. Radius tarafından gönderilen Framed-IP-Address dikkate alınmıyor hali ile.

After clearing the session, CPE asks for a specific IP (remembers from the previous session), then, we return an IP from the pool, instead of returning one from the Framed-IP-Address:

Jun  5 17:16:03 TR: Vi2.270 IPCP: I CONFREQ [REQsent] id 3 len 22
Jun  5 17:16:03 TR: Vi2.270 IPCP:    Address 192.168.80.60 (0x0306D49A503C)
Jun  5 17:16:03 TR: Vi2.270 IPCP:    PrimaryDNS 0.0.0.0 (0x810600000000)
Jun  5 17:16:03 TR: Vi2.270 IPCP:    SecondaryDNS 0.0.0.0 (0x830600000000)
Jun  5 17:16:03 TR: Vi2.270 IPCP AUTHOR: Start.  Her address 192.168.80.60, we want 0.0.0.0
Jun  5 17:16:03 TR: Vi2.270 IPCP AUTHOR: Request 192.168.80.60 from pool xdslpool
Jun  5 17:16:03 TR: Vi2.270 IPCP AUTHOR: Pool grants 192.168.110.30
Jun  5 17:16:03 TR: Vi2.270 IPCP AUTHOR: Done.  Her address 192.168.80.60, we want 192.168.110.30

Bu durumda iki seçenek var;

ppp ipcp accept-address

komutunu kullanarak CPE addresini kabul etmek. Fakat bu durumda statik ip kullanmayan müşterilerin bazılarında (CPE’nin bir önceki session ip addresini istemesi durumunda) sürekli aynı ip adresi alması ile sonuçlanabilir.

İkinci seçenek ise, pool bilgisini statik olarak router üzerine girmek yerine, radius tarafından göndermek. statik ip adresi olanlarda ise pool bilgisini göndermemek.

ppp ipcp accept-address command can be used to solve the issue of static ip address customers. But at this time, some of the dynamic ip address customers (CPE remembers previous session ip address) get the same ip addresses for their sessions.

Or pool assignment removed from the IOS and sent with radius accept messages. If the customer wants static ip address, pool name is not sent only the framed-ip-address is sent.

This is reported as bug for ASR1004 and 1002. Waiting to be solved.