Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Основные изменения

  • Тарифные планы с модулем синхронизируются по полю 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

Загрузить дамп базы

Code Block
languagebash
@MODULES = (
 'Internet'
);


Code Block
languagebash
mysql -D abills < db/Internet.sql

Миграция данных, если уже используете Dv/DHCP/IPN

Code Block
languagebash
collapsetrue
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')
    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;

перенос расписания изменения тарифных планов и приостановлений

Code Block
languagebash
UPDATE shedule SET module='Internet' WHERE module='Dv';

перенос статистики (если нужно)

Code Block
languagebash
collapsetrue
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);

Перенос предоплаченного трафика

Code Block
languagebash
INSERT INTO internet_log_intervals SELECT * FROM dv_log_intervals;

Авторизация используя модуль Internet+
config.pl

Code Block
languagebash
$AUTH{accel_ppp}='Auth2';
$ACCT{accel_ppp}='Acct2';
....
$AUTH{mpd5}='Auth2';

Если используете другие сервера доступа укажите их тоже. Не забудьте перезапустить радиус для применения новых параметров авторизации.