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

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


Сайдбар

Розділи

Загальний опис
Історія змін
Рекомендації до оновлення
Плани на майбутнє
Відомі проблеми
Онлайн демо
Допомога проекту
Люди
Трохи про безпеку

FAQ



Редагувати сайдбар

docsistemplate

Це стара версія документу!


Настройка доступа пользователей по технологии DOCSIS

Начиная с релиза 0.3.8 полностью ликвидирована старая модель работы с DOCSIS и вместо нее реализована, максимально простая, без пересборки конфигов модемов на лету, под каждого пользователя. Для того, чтобы иметь приблизительное понимание того, как это все работает - рекомендуем ознакомиться со следующей статьей. В кратце схема следующая: “пользователь” → “модем” → “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/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 генерирует битые файлы и может не собраться из портов. В таком случае придется прибегнуть к ручной сборке. Забираем последнюю версию с сайта разработчиков, и собираем ручками:

# tar zxvf docsis-0.9.6.tar.gz
# cd docsis-0.9.6
# ./configure && make && make install

После чего мы можем попытаться собрать простейший тестовый конфиг следующего содержания с ключом “docsis123” (он же должен быть сконфигурирован на CMTS). Конфиг (/root/modems.s ) у нас будет иметь следующий вид:

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;
 }
 
# echo "docsis123" > /root/keyfile
# docsis -e /root/modems.s /root/keyfile /tftpboot/modems.b

Проверить чего мы насобирали в бинарный конфиг можно так:

# docsis -d /tftpboot/modems.b

Конфигурация CMTS на примере BSR2000

  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
!
!

Конфигурация CMTS на примере BSR1000

!
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"
!
!

Настройка Ubilling

1. Следует добавить следующее в config/global.template в начале секции shared-network

subnet 10.10.10.0 netmask 255.255.255.0 {
}

2. Добавить подсеть модемов

Начальная ІР: 10.10.100.0
Последняя ІР: 10.10.100.255
Тип сети: DHCP static hosts
Сеть/CIDR: 10.10.100.0/24

3. Добавить подсеть DOCSIS пользователей

Начальная ІР: 10.10.200.0
Последняя ІР: 10.10.200.255
Тип сети: DHCP static hosts
Сеть/CIDR: 10.10.200.0/24

4. Добавить обработчик DHCP для подсети модемов, используя следующий “персональный шаблон”:

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}";

}

5. добавить обработчик DHCP для подсети DOCSIS пользователей
6. убедиться в том, что подсети пользователей и модемов доступны по соответствующим маршрутам через нашу CMTS

# route add 10.10.100.0/24 10.10.10.9
# route add 10.10.200.0/24 10.10.10.9

ну и добавить эти маршруты на будущее в rc.conf

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"

Регистрация модемов и контроль уровней сигнала

При добавлении модема, следует указать только его MAC адрес по которому в последствии будет выдаваться IP. Все. Больше ничего.
При регистрации модема ему будет выдана первая попавшаяся свободная IP из подсети с ID указанным в опции DOCSIS_MODEM_NETID.

Также возможно указание SNMP комьюнити и пути к установленному snmpwalk. Это требуется для оперативного снятия статистики о состоянии модема, уровнях сигнала в прямом и обратном каналах, модуляции и других важных параметрах.

docsistemplate.1664019551.txt.gz · Востаннє змінено: 2022/09/24 14:39 повз 127.0.0.1