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

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


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? |}}
docsistemplate.txt · Востаннє змінено: 2023/06/16 14:34 повз borisov