Тарифные планы с модулем синхронизируются по полю TP_ID (internet_main.tp_id → tarif_plans.tp_id), в модуле Dv было (dv_main.tp_id → tarif_plans.id)
Активация и завершения времени работы перенесли с основного аккаунта в услугу
Dhcphosts настройки абонента перенесены в Internet (каждый хост - отдельная услуга)
Dhcphosts сети перенесены в Пула адресов
Для создания isc dhcp используется billd isc_dhcp
config.pl
Отключить модули: Dv, Dhcphosts, Ipn, Vlan
Загрузить дамп базы
@MODULES = ( 'Internet' ); |
Создать таблицы internet_log_intervals, internet_main, internet_online, internet_log, internet_users_pool, которые описаны в файле /usr/abills/db/abills.sql
Миграция данных, если уже используете Dv/DHCP/IPN
SET SQL_MODE = 'NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO'; INSERT INTO internet_main ( uid, tp_id, logins, registration, ip, filter_id, speed, netmask, cid, password, disable, join_service, turbo_mode, free_turbo_mode, activate, expire, login, personal_tp, detail_stats, nas_id, port, vlan, server_vlan, cpe_mac, ipn_activate ) SELECT dv.uid, if(tp.tp_id IS NULL, 0, tp.tp_id), dv.logins, dv.registration, if(dh.ip IS NULL, dv.ip, dh.ip), dv.filter_id, dv.speed, dv.netmask, if (dh.mac <> '00:00:00:00:00:00', dh.mac, dv.cid), dv.password, dv.disable, dv.join_service, dv.turbo_mode, dv.free_turbo_mode, '0000-00-00', dv.expire, dv.dv_login, dv.personal_tp, dv.traf_detail, if (dh.nas IS NULL, 0, dh.nas), if (dh.ports<>'', dh.ports, dv.port), if (dh.vid IS NULL, 0, dh.vid), if (dh.server_vid IS NULL, 0, dh.server_vid), '', if (dh.server_vid IS NULL, 0, dh.ipn_activate) FROM dv_main dv LEFT JOIN tarif_plans tp ON (dv.tp_id=tp.id AND (tp.module='Dv' OR tp.module='Internet')) LEFT JOIN dhcphosts_hosts dh ON (dv.uid=dh.uid); UPDATE internet_main im, users u SET im.activate=u.activate WHERE im.uid=u.uid; |
перенос расписания изменения тарифных планов и приостановлений
UPDATE shedule SET module='Internet' WHERE module='Dv'; UPDATE tarif_plans SET module='Internet' WHERE module='Dv'; |
перенос статистики (если нужно)
INSERT INTO internet_log ( start, tp_id, duration, sent, recv, sum, port_id, nas_id, ip, acct_session_id, cid, bill_id, uid, terminate_cause, acct_input_gigawords, acct_output_gigawords ) SELECT dv.start, if(tp.tp_id IS NULL, 0, tp.tp_id), dv.duration, dv.sent, dv.recv, dv.sum, dv.port_id, dv.nas_id, dv.ip, dv.acct_session_id, dv.CID, dv.bill_id, dv.uid, dv.terminate_cause, dv.acct_input_gigawords, dv.acct_output_gigawords FROM `dv_log` dv LEFT JOIN `tarif_plans` tp ON (tp.id=dv.tp_id); |
Перенос предоплаченного трафика
INSERT INTO internet_log_intervals SELECT * FROM dv_log_intervals; |
Авторизация используя модуль Internet+
config.pl
$AUTH{accel_ppp}='Auth2'; $ACCT{accel_ppp}='Acct2'; .... $AUTH{mpd5}='Auth2'; |
Если используете другие сервера доступа укажите их тоже. Не забудьте перезапустить радиус для применения новых параметров авторизации.