Користувальницькькі налаштування

Налаштування сайту


docsistemplate

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Попередня ревізія
docsistemplate [2013/03/12 02:42]
docsistemplate [2023/06/16 14:34] (поточний)
borisov
Рядок 1: Рядок 1:
 +====== Налаштування доступу користувачів за технологією DOCSIS ======
  
 +{{:motorola_bsr2000.jpg?|}}
 +
 +Починаючи з релізу 0.3.8 повністю ліквідовано стару модель роботи з DOCSIS і замість неї реалізовано максимально просту, без перезбірки конфігів модемів на льоту, під кожного користувача. Для того, щоб мати приблизне розуміння того, як це все працює - рекомендуємо ознайомитися з наступною [[http://habrahabr.ru/post/102429/|статтям]]. У стислості схема наступна: "користувач" -> "модем" -> "CMTS" -> "сервер". При "вставанні" модем спочатку здійснює пошук DS і US, після чого намагається отримати по tftp валідний конфіг і якщо це вдалося передає DHCP запити від користувача крізь DHCP Relay на CMTS до нашого сервера. Для забезпечення хоч якоїсь авторизації, з урахуванням того, що CMTS не вміють бріджинг, використовується заборона на проходження трафіку від IP, які не були отримані за допомогою нашого DHCP сервера. 
 +
 +======  Угоди: ====== 
 + **CMTS** - валідно налаштована Motorola BSR 2000, Motorola BSR1000, Cisco UBR або Arris Cadant\\
 + **інтерфейс em1** - дивиться на налаштовану CMTS\\
 + **10.10.100.0/24** - мережа DOCSIS модемів\\
 + **10.10.200.0/24** - мережа користувачів\\
 + **10.10.10.10.10/24** - адреса нашого сервера, висить аліасом на em1\\
 + **10.10.10.9/24** - адреса CMTS ethernet 0/0\\
 + **10.10.100.1/24** - адреса CMTS cable 0/0\\
 + **10.10.200.1/24** - адреса CMTS cable 0/0 secondary\\
 +
 +
 +====== Авторизація на CMTS ======
 +Заборона для проходження трафіку від IP отриманих не крізь наш DHCP-сервер (для вписаних вручну, припустимо) здійснюється в режимі конфігурації кабельного інтерфейсу:
 +
 +Motorola: **host authorization on** \\
 +Cisco: **cable source-verify dhcp** \\
 +Arris: **ip verify-ip-address-filter** \\ 
 +
 +
 +====== Налаштування tftpd ======
 +
 +  # mkdir /tftpboot
 + 
 +далі 
 +  # vim /etc/inetd.conf
 +
 +розкоментуємо наступний рядок:
 +  tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot
 +
 +і перезапустимо inetd
 +  # /etc/rc.d/inetd restart
 +  
 +перевіримо працездатність tftp
 +  # touch /tftpboot/testme  
 +  # tftp 127.0.0.1           
 +  tftp> get testme
 +  tftp> q
 +  # ls -la testme 
 +  -rw-r--r---- 1 root wheel 0 Feb 4 13:55 testme
 +  # rm testme /tftpboot/testme
 +
 +====== Збірка початкового конфіга ======
 +Для складання файлу конфігурації модему нам знадобиться утиліта docsis, встановлюємо:
 +  # cd /usr/ports/net-mgmt/docsis/ && make install
 +
 +На 64 бітних системах docsis 0.9.5 генерує биті файли і може не зібратися з портів. У такому разі доведеться вдатися до ручного збирання. Забираємо останню версію з [[http://sourceforge.net/projects/docsis/files/docsis/|сайту розробників]], і збираємо ручками:
 +  # tar zxvf docsis-0.9.6.tar.gz
 +  # cd docsis-0.9.6
 +  # ./configure && make && make install
 +
 +Після чого ми можемо спробувати зібрати найпростіший тестовий конфіг такого змісту з ключем "docsis123" (він же має бути сконфігурований на CMTS). Конфіг (**/root/modems.s** ) у нас матиме такий вигляд:
 +
 +<file cpp modems.s>
 + Main {
 + NetworkAccess      1;
 +     GlobalPrivacyEnable 0;
 +     UsServiceFlow
 +     {
 +     UsServiceFlowRef 200;
 +     QosParamSetType 7;
 +     MaxRateSustained 0;
 +     SchedulingType 2;
 +     }
 +     DsServiceFlow
 +     {
 +     DsServiceFlowRef 100;
 +     QosParamSetType 7;
 +     TrafficPriority 3;
 +     MaxRateSustained 0;
 +     }
 +  MaxCPE 16;
 + }
 + 
 +</file>
 +
 +
 +  # echo "docsis123" > /root/keyfile
 +  # docsis -e /root/modems.s /root/keyfile /tftpboot/modems.b
 +
 +Перевірити чого ми назбирали в бінарний конфіг можна так:
 +  # docsis -d /tftpboot/modems.b
 +  
 +====== Конфігурація CMTS на прикладі BSR2000 ======
 +
 +<code>
 +  enable password 0 changeme
 +!
 +hostname bsr2000
 +!
 +!
 +!
 +no service password-encryption
 +!
 +!
 +ip ftp username admin
 +ip ftp password 0 docsis123
 +!
 +ip name-server 10.10.10.10
 +!
 +
 +logging buffered 51200
 +no logging control docsis
 +logging admin-status unconstrained
 +logging rate-limit 100 1
 +logging buffered notifications
 +logging console errors
 +!
 +!
 +cable cmts type domestic
 +!
 +!
 +interface ethernet 0/0
 + ip address 10.10.10.9 255.255.255.0 
 + no shutdown
 +!
 +interface ethernet 0/1
 + shutdown
 +!
 +interface ethernet 0/2
 + shutdown
 +!
 +interface ethernet 0/3
 + shutdown
 +!
 +interface gigaether 0/0
 + shutdown
 +!
 +interface gigaether 0/1
 + shutdown
 +!
 +interface cable 0/0
 + ip address 10.10.100.1 255.255.255.0 
 + ip address 10.10.200.1 255.255.255.0 secondary 
 + ip helper-address 10.10.10.10
 + cable helper-address 10.10.10.10 cable-modem
 + cable helper-address 10.10.10.10 host
 + no shutdown
 + cable downstream 0 frequency 455250000
 + cable downstream 0 interleave-depth 128
 + cable downstream 0 power-level 450
 + no cable downstream 0 shutdown
 + cable upstream 0 frequency 34000000
 + cable upstream 0 power-level 260
 + cable upstream 0/0 modulation-profile 2
 + no cable upstream 0 shutdown
 + no cable upstream 0/0 shutdown
 + no cable upstream 0/1 shutdown
 + no cable upstream 0/2 shutdown
 + no cable upstream 0/3 shutdown
 + cable upstream 1 frequency 34000000
 + cable upstream 1 power-level 260
 + cable upstream 1/0 modulation-profile 2
 + no cable upstream 1 shutdown
 + no cable upstream 1/0 shutdown
 + no cable upstream 1/1 shutdown
 + no cable upstream 1/2 shutdown
 + no cable upstream 1/3 shutdown
 + cable upstream 2 frequency 34000000
 + cable upstream 2 power-level 260
 + cable upstream 2/0 modulation-profile 2
 + no cable upstream 2 shutdown
 + no cable upstream 2/0 shutdown
 + no cable upstream 2/1 shutdown
 + no cable upstream 2/2 shutdown
 + no cable upstream 2/3 shutdown
 + cable upstream 3 frequency 34000000
 + cable upstream 3 power-level 260
 + cable upstream 3/0 modulation-profile 2
 + no cable upstream 3 shutdown
 + no cable upstream 3/0 shutdown
 + no cable upstream 3/1 shutdown
 + no cable upstream 3/2 shutdown
 + no cable upstream 3/3 shutdown
 + cable dynamic-service authorization-mode disable
 + ip dhcp relay information option
 + cable downstream schedule priority-wfq
 + no cable wireless downstream modulation qpsk
 +!
 +!
 +!
 +!
 +!
 +!
 +
 + ip route 0.0.0.0 0.0.0.0 10.10.10.10
 +!
 +!
 +!
 +
 + snmp-server engineid local 80001375030030b880f46100
 + snmp-server context 
 + snmp-server community changeme2 ro view changeme2
 + snmp-server chassis-id Serial Number: XXX-YY-ZZZZ
 + snmp-server contact Docsis Admin (docsis@isp.ua)
 + snmp-server sysname bsr2000
 + snmp-server enable traps snmp
 + snmp-server enable traps ospf
 + snmp-server enable traps bgp
 + snmp-server enable traps entity
 + snmp-server enable traps docsdevcmts
 +snmp-server enable traps flap
 +snmp-server location Somewhere
 +snmp-server view changeme2 iso included
 +snmp-server view changeme2 org included
 +snmp-server view changeme2 dod included
 +snmp-server view changeme2 internet included
 +snmp-server view changeme2 directory included
 +snmp-server view changeme2 mgmt included
 +snmp-server view changeme2 experimental included
 +snmp-server view changeme2 private included
 +snmp-server view changeme2 security included
 +snmp-server view changeme2 snmpv2 included
 +snmp-server view changeme2 mib-2 included
 +snmp-server view changeme2 system included
 +snmp-server view changeme2 interfaces included
 +snmp-server view changeme2 at included
 +snmp-server view changeme2 ip included
 +snmp-server view changeme2 icmp included
 +snmp-server view changeme2 tcp included
 +snmp-server view changeme2 udp included
 +snmp-server view changeme2 egp included
 +snmp-server view changeme2 transmission included
 +snmp-server view changeme2 snmp included
 +snmp-server view changeme2 ospf included
 +snmp-server view changeme2 rip2 included
 +snmp-server view changeme2 ifmib included
 +snmp-server view changeme2 riverdelta included
 +snmp-server trap rate-limit 100 1
 +!
 +!
 +packet-cable
 + dqos shutdown
 + no em shutdown
 + no es shutdown
 +ipsec
 + ipsec shutdown
 +password telnet 0 changeme
 +!
 +session-timeout console 0
 +session-timeout telnet 5
 +!
 +telnet session-limit 8
 +!
 +!
 +!
 +!
 +!
 +!
 +!
 +ssh enable
 +!
 +!
 +logging on
 +logging trap notifications
 +no logging snmp-trap
 +logging facility local7
 +!
 +!
 +!
 +!
 +!
 +!
 +cable shared-secret 0 "docsis123"
 +enable rdn-process
 +!
 +!
 +!
 +!
 +cable service-class
 + mab DefBEDown 1
 +!
 + mab DefRRDown 1
 +!
 + mab DefBEUp 1
 +!
 + mab DefRRUp 1
 +!
 + mab DefUGS 1
 +!
 + mab DefUGSAD 1
 +!
 + mab DefRTPS 1
 +!
 + mab DefNRTPS 1
 +!
 +!
 +</code>
 +
 +====== Конфігурація CMTS на прикладі BSR1000 ======
 +<code>
 +!
 +hostname rdelta
 +!
 +!
 +boot system nvram:appImage.bin.r.01.00.09.PRR
 +!
 +!
 +ip name-server 10.10.10.10
 +!
 +logging buffered 262144
 +logging rate-limit auto-restart
 +logging rate-limit 100 1
 +logging buffered warnings
 +logging console warnings
 +!
 +!
 +interface ethernet 0/0
 + ip address 10.10.10.9 255.255.255.0
 +!
 +interface cable 0/0
 + ip address 10.10.100.1 255.255.255.0
 + ip address 10.10.200.1 255.255.255.0 secondary
 + ip helper-address 10.10.10.10
 + cable helper-address 10.10.10.10 cable-modem
 + cable helper-address 10.10.10.10 host
 + cable downstream 0 frequency 455250000
 + cable downstream 0 power-level 450
 + no cable downstream 0 shutdown
 + cable upstream 0 frequency 34000000
 + cable upstream 0 power-level 260
 + no cable upstream 0 shutdown
 + cable upstream 1 frequency 34000000
 + cable upstream 1 power-level 260
 + no cable upstream 1 shutdown
 + cable upstream 2 frequency 34000000
 + cable upstream 2 power-level 260
 + no cable upstream 2 shutdown
 + cable upstream 3 frequency 34000000
 + cable upstream 3 power-level 260
 + no cable upstream 3 shutdown
 + ip dhcp relay information option
 +!
 +!
 +!
 +!
 +!
 +!
 +ip route 0.0.0.0 0.0.0.0 10.10.10.10
 +!
 +!
 +!
 +snmp-server context 
 +snmp-server community changeme2 ro view changeme2
 +snmp-server contact Docsis docsis@isp.ua
 +snmp-server sysname bsr1000
 +snmp-server enable traps
 +snmp-server location Somewhere
 +snmp-server view changeme2 iso included
 +snmp-server view changeme2 org included
 +snmp-server view changeme2 dod included
 +snmp-server view changeme2 internet included
 +snmp-server view changeme2 directory included
 +snmp-server view changeme2 mgmt included
 +snmp-server view changeme2 experimental included
 +snmp-server view changeme2 private included
 +snmp-server view changeme2 security included
 +snmp-server view changeme2 snmpv2 included
 +snmp-server view changeme2 mib-2 included
 +snmp-server view changeme2 system included
 +snmp-server view changeme2 interfaces included
 +snmp-server view changeme2 at included
 +snmp-server view changeme2 ip included
 +snmp-server view changeme2 icmp included
 +snmp-server view changeme2 tcp included
 +snmp-server view changeme2 udp included
 +snmp-server view changeme2 egp included
 +snmp-server view changeme2 transmission included
 +snmp-server view changeme2 snmp included
 +snmp-server view changeme2 ospf included
 +snmp-server view changeme2 rip2 included
 +snmp-server view changeme2 ifmib included
 +snmp-server view changeme2 riverdelta included
 +snmp-server trap rate-limit 100 1
 +no snmp-server trap rate-limit auto-restart
 +!
 +!
 +!
 +!
 +logging on
 +logging trap notifications
 +!
 +clock timezone EET 2 0
 +!
 +!
 +cable shared-secret "docsis123"
 +!
 +!
 +
 +</code>
 +
 +====== Налаштування Ubilling ======
 +1. Слід додати таке до **config/global.template** на початку секції в shared-network 
 +
 +<code>
 +subnet 10.10.10.0 netmask 255.255.255.0 {
 +}
 +</code>
 +
 +2. Додати підмережу модемів 
 +<code>
 +Початкова ІР: 10.10.100.0
 +Остання ІР: 10.10.100.255
 +Тип мережі: DHCP static hosts
 +Мережа/CIDR: 10.10.100.0/24
 +</code>
 +
 +
 +
 +3. Добавити підмережу DOCSIS користувачів
 +<code>
 +Початкова ІР: 10.10.200.0
 +Остання ІР: 10.10.200.255
 +Тип мережі: DHCP static hosts
 +Мережа/CIDR: 10.10.200.0/24
 +</code>
 +
 +4. Додати обробник DHCP для підмережі модемів, використовуючи такий "персональний шаблон":
 +<code>
 +subnet 10.10.100.0 netmask 255.255.255.0 {
 + default-lease-time 3600;
 + option subnet-mask 255.255.255.0;
 + option routers 10.10.100.1;
 + server-name "10.10.10.10";
 + option tftp-server-name "10.10.10.10";
 + option bootfile-name "modems.b";
 + next-server 10.10.10.10;
 + filename "modems.b";
 + option time-servers 10.10.10.10;
 + option time-offset 2;
 +
 +include "/usr/local/etc/multinet/{HOSTS}";
 +
 +}
 +
 +</code>
 +
 +5. додати обробник DHCP для підмережі DOCSIS користувачів\\
 +6. переконатися в тому, що підмережі користувачів і модемів доступні за відповідними маршрутами через нашу CMTS
 +<code>
 +# route add 10.10.100.0/24 10.10.10.9
 +# route add 10.10.200.0/24 10.10.10.9
 +</code>
 +
 +ну і додати ці маршрути на майбутнє у rc.conf
 +
 +<code>
 +static_routes="cable modems"
 +route_cable="10.10.200.0/24 10.10.10.9"
 +route_modems="10.10.100.0/24 10.10.10.9"
 +</code>
 +
 +====== Реєстрація модемів і контроль рівнів сигналу  ======
 +Під час додавання модему слід вказати тільки його MAC-адресу, за якою надалі видаватиметься IP. Усе. Більше нічого.\\
 +Під час реєстрації модему йому буде видано першу-ліпшу вільну IP з підмережі з ID, зазначеним в опції DOCSIS_MODEM_NETID.
 +{{ :docsismodemadd.png?|}}
 +
 +Також можлива вказівка SNMP ком'юніті та шляху до встановленого snmpwalk. 
 +{{ :docsissnmp.png?|}}
 +Це потрібно для оперативного зняття статистики про стан модему, рівні сигналу в прямому і зворотному каналах, модуляцію та інші важливі параметри. 
 +{{ :docsisstats.png? |}}