Accel-ppp. ошибка nl_modify: File exists

Однажды заметил в логах /var/log/accel-ppp/accel-ppp.log следующую ошибку:

info: ipoe178: [0;39m2c:56:dc:3b:f6:00: authentication succeeded
error: ipoe178: [0;39mipoe: nl_modify: File exists
info: ipoe178: [0;39mipoe: session finished

Чаще всего эта ошибка может возникать когда авторизация клиентов настроена например только по mac адресу и два разных устройства с одинаковым mac адресом пытаются авторизоваться, другими словами это можно назвать дублирование сессии.

Когда у меня возникла эта ошибка, я зашел на коммутатор Cisco в ядре сети и посмотрел mac адрес:

show mac-address-table address 2c:56:dc:3b:f6:00

Как и ожидалось, mac адрес отобразился одновременно на разных портах и в разных VLAN:

  vlan   mac address     type    learn     age              ports
------+----------------+--------+-----+----------+--------------------------
Active Supervisor:
*  706  2c56.dc3b.f600   dynamic  Yes          0   Gi1/13
*  949  2c56.dc3b.f600   dynamic  Yes          0   Gi1/15

Чтобы решить проблему я зашел на коммутатор D-Link 3200A1, который стоял на доме и заблокировал не легальный MAC адрес через ACL:

create access_profile  ethernet  source_mac FF-FF-FF-FF-FF-FF  profile_id 1    
config access_profile profile_id 1  add access_id 1  ethernet  source_mac 2C-56-DC-3B-F6-00  port 7 deny
create access_profile  ethernet  destination_mac FF-FF-FF-FF-FF-FF  profile_id 2
config access_profile profile_id 2  add access_id 2  ethernet  destination_mac 2C-56-DC-3B-F6-00  port 7 deny

После этого ошибка исчезла.

Чтобы избежать подобных ошибок, необходимо использовать DHCP Option82 для привязки клиента к порту коммутатора или еще лучше QinQ.

При необходимости можно завершить сессию на accel-ppp:

telnet 127.0.0.1 2000
show sessions match username 2c:56:dc:3b:f6:00
terminate if ipoe178 soft

Смотрите также другие мои статьи на тему accel-ppp.

Оставьте комментарий

Добавить комментарий