Настройка PPPoE и/или РРТР (VPN) на Mikrotik
Материал из BiTel WiKi
Версия от 13:47, 16 декабря 2008; Snark (Обсуждение | вклад)
Настройка РРРоЕ и РРТР серверов на Mikrotik (в дальнейшем - МТ) в связке с BGBilling (в дальнейшем BGB).
В примере будет использована сеть 172.16.0.0/24 в которой адреса распределены следующим образом:
- 172.16.0.1 - шлюз в интернет
- 172.16.0.2 - DNS сервер
- 172.16.0.3 - сервер BGB
- 172.16.0.4 - МТ
- 172.16.0.100-172.16.0.150 - 1-й пул для пользователей
- 172.16.0.200-172.16.0.250 - 2-й пул для пользователей
Так же будут использованы 2 VLAN-а:
- v1 (VID 1) - Интернет.
- v2 (VID 2) - VLAN для пользователей, в нем будет работать РРРоЕ и/или РРТР сервер.
Если Вы не планируете использование VLAN, то Вам понадобится 2 Ethernet интерфейса затем просто пропустите пункт о создании VLAN и замените слова v1 и v2 на ether1 и ether2 соответственно.
Содержание |
Настройка МТ
Общая часть
- Устанавливаем МТ.
- Обратите внимание, что при установке обязательно необходимо установить пакет ppp!
- Создаем VLAN-ы:
interface vlan add name=v1 vlan-id=1 interface=ether1 disabled=no interface vlan add name=v2 vlan-id=2 interface=ether1 disabled=no
- Прописываем МТ IP адрес:
ip address add address=172.16.0.4/24 interface=v1
- Прописываем маршрут по умолчанию:
ip route add gateway=172.16.0.1
- Указываем что РРР пользователи будут авторизироваться в RADIUS-е:
ppp aaa set use-radius=yes interim-update=60
- На самом деле параметр interim-update=60 указывать не обязательно, МТ будет получать его из Acct-Interim-Interval брямо с BGB, тут он указан только для подстраховки.
- Добавляем RADIUS сервер для РРР пользователей:
radius add service=ppp address=172.16.0.3 secret="bgb_rulez" authentication-port=1812 accounting-port=1813 timeout=10s
- Разрешаем RADIUS-у скидывать юзеров с помощью PoD:
radius incoming set accept=yes port=1700
- Параметр port=1700 указать крайне желательно, т.к. в МТ, от версии к версии дефолтное значение почему-то может изменяться :(
- Настраиваем экспорт netflow:
ip traffic-flow target add address=172.16.0.3:2001 version=5 ip traffic-flow target add address=172.16.0.3:2004 version=5 ip traffic-flow set active-flow-timeout=1m enabled=yes
- Один поток - на RADIUS, другой - на IPN модуль для детализации, если Вы не используете детализацию - поток на IPN коллектор можно не прописывать. Если Вы не будете учитывать трафик с помощью netflow - можете вообще пропустить этот пункт :)
На этом общую настройку МТ можно считать оконченной.
РРРоЕ сервер
- Cоздаем РРР профиль для РРРоЕ:
ppp profile add name=default-pppoe local-address=172.16.0.4 dns-server=172.16.0.2
- Включаем РРРоЕ сервер:
interface pppoe-server server add interface=v100 default-profile=default-pppoe max-mtu=1492 max-mru=1492 authentication=pap one-session-per-host=yes disabled=no
РРTР сервер
- Прописываем IP адрес к котому будут коннектится пользователи:
ip address add address=192.168.0.1/24 interface=v2
- Создаем РРР профиль для РРТР:
ppp profile add name=default-pptp local-address=172.16.0.4 dns-server=172.16.0.2 use-encryption=no
- Включаем РРТР сервер:
interface pptp-server server set authentication=pap,chap default-profile=default-pptp max-mtu=1472 max-mru=1472 enabled=yes
- Если у Вас нет критической необходимости в шифровании - не включайте его (параметр use-encryption в пред. пункте) и не используйте ни MS-CHAP ни MS-CHAP v2 (параметр authentication)! Шифрование - достаточно ресурсоемкая процедура, а т.к. МТ не поддерживает аппаратного шифрования то вся шифрация/дешифрация будет осуществляться с помощью CPU.
Настройка BGB
- В файле dictionary.xml, в секции vendors добавьте:
<vendor name="Mikrotik" code="14988"> <attribute name="Mikrotik-Recv-Limit" code="1" type="integer" /> <attribute name="Mikrotik-Xmit-Limit" code="2" type="integer" /> <attribute name="Mikrotik-Group" code="3" type="string" /> <attribute name="Mikrotik-Wireless-Forward" code="4" type="integer" /> <attribute name="Mikrotik-Wireless-Skip-Dot1x" code="5" type="integer" /> <attribute name="Mikrotik-Wireless-Enc-Algo" code="6" type="integer" /> <attribute name="Mikrotik-Wireless-Enc-Key" code="7" type="string" /> <attribute name="Mikrotik-Rate-Limit" code="8" type="string" /> <attribute name="Mikrotik-Realm" code="9" type="string" /> <attribute name="Mikrotik-Host-IP" code="10" type="ipaddr" /> <attribute name="Mikrotik-Mark-Id" code="11" type="string" /> <attribute name="Mikrotik-Advertise-URL" code="12" type="string" /> <attribute name="Mikrotik-Advertise-Interval" code="13" type="integer" /> <attribute name="Mikrotik-Recv-Limit-Gigawords" code="14" type="integer" /> <attribute name="Mikrotik-Xmit-Limit-Gigawords" code="15" type="integer" /> </vendor>
- В конфигурации модуля, в параметре vendors добавьте 14988=Mikrotik, после этого параметр vendors должен выглядеть примерно так:
vendors=9=Cisco;14988=Mikrotik
- В конфигурации NAS-а укажите что отключение пользователей будет осуществляться с помощью PoD:
dialup.workmode=1 nas.inspector.class=bitel.billing.server.processor.PoDNASConnectionInspector nas.inspector.pod.port=1700 nas.inspector.pod.attributes=User-Name;Framed-IP-Address;Acct-Session-Id
После столь нехитрых комбинаций BGB полностью готов к работе с МТ :)
Выдача адресов
Выдача адресов с помощью BGB
В конфигурации модуля:
- Пропишите пулы IP адресов:
pools.pool1=172.16.0.100-172.16.0.150 pools.pool2=172.16.0.200-172.16.0.250
- Пропишите атрибуты:
attrset.1.title=Адреса из пула 1 attrset.1.attributes=Framed-Pool=pool1 attrset.2.title=Адреса из пула 2 attrset.2.attributes=Framed-Pool=pool2
После чего Вы можете использовать пулы как в тарифах, так и в свойствах логинов.
Выдача адресов МТ самостоятельно
Одинаковые пулы для всех типов доступа
- Простые пулы:
- Создаем пулы адресов:
ip pool add name=pool1 ranges=172.16.0.100-172.16.0.150,172.16.0.200-172.16.0.250
- Привязываем пулы адресов к профилям:
- РРРоЕ и/или РРТР пользователи будут пользоваться адресами из пула pool1:
ppp profile set default-pppoe remote-address=pool1
ppp profile set default-pptp remote-address=pool1
- Пулы с помощью next-pool:
- Создаем пулы адресов:
ip pool add name=pool1 ranges=172.16.0.100-172.16.0.150 next-pool=pool2 ip pool add name=pool2 ranges=172.16.0.200-172.16.0.250
- Привязываем пулы адресов к профилям:
- РРРоЕ и/или РРТР пользователи будут пользоваться адресами из пула pool1:
ppp profile set default-pppoe remote-address=pool1
ppp profile set default-pptp remote-address=pool1
Различные пулы для различного типа доступа
- Создаем пулы адресов:
ip pool add name=pool1 ranges=172.16.0.100-172.16.0.150 ip pool add name=pool2 ranges=172.16.0.200-172.16.0.250
- Привязываем пулы адресов к профилям:
- РРРоЕ пользователи будут пользоваться адресами из пула pool1:
ppp profile set default-pppoe remote-address=pool1
- РРТР пользователи будут пользоваться адресами из пула pool2:
ppp profile set default-pptp remote-address=pool2