Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
abills:docs:modules:vlan:ru [2011/12/14 12:03] asmodeus [Установка] |
abills:docs:modules:vlan:ru [2015/12/05 17:50] (текущий) |
||
---|---|---|---|
Строка 8: | Строка 8: | ||
====Возможности==== | ====Возможности==== | ||
+ | * vlan-per-user (Vlan на абонента) | ||
* Создание Vlan локальнео и на удалёных серверах | * Создание Vlan локальнео и на удалёных серверах | ||
* Создание для Vlan PPPoE сервера | * Создание для Vlan PPPoE сервера | ||
Строка 34: | Строка 35: | ||
^$conf{VLAN_CMD_SHOW}=1; | Показывать системные команды перед выполнением | | ^$conf{VLAN_CMD_SHOW}=1; | Показывать системные команды перед выполнением | | ||
- | Только для Freebsd. | + | Пример для Freebsd. \\ |
+ | |||
+ | ядро нужно скомпилировать с опцией: | ||
+ | |||
+ | device vlan | ||
^$conf{VLAN_IF_CREATE}='/sbin/ifconfig vlan%VLAN_ID% create vlan %VLAN_ID% vlandev %PARENT_INTERFACE% up';|Команда создания Vlan | | ^$conf{VLAN_IF_CREATE}='/sbin/ifconfig vlan%VLAN_ID% create vlan %VLAN_ID% vlandev %PARENT_INTERFACE% up';|Команда создания Vlan | | ||
^$conf{VLAN_IF_IP}='/sbin/ifconfig vlan%VLAN_ID% inet %VLAN_IF_IP% netmask %VLAN_IF_NETMASK%';|назначение IP адреса для Vlan | | ^$conf{VLAN_IF_IP}='/sbin/ifconfig vlan%VLAN_ID% inet %VLAN_IF_IP% netmask %VLAN_IF_NETMASK%';|назначение IP адреса для Vlan | | ||
Строка 43: | Строка 49: | ||
- | Переменные: | + | ===Переменные=== |
- | |VLAN_IF_NETMASK|| | + | |PARENT_INTERFACE| Родительский интерфейс для Vlan | |
- | |LOGIN|| | + | |LOGIN| Логин абонента | |
- | |VLAN_ID|| | + | |VLAN_ID| номер Vlan | |
- | |VLAN_IF_IP|| | + | |VLAN_IF_IP| IP для Vlan | |
- | |DHCP|| | + | |VLAN_IF_NETMASK| Netmask для Vlan | |
- | |PPPOE|| | + | |VLAN_IF_BIT_NETMASK | Битная маска сети | |
- | |UNNUMBERED_IP|| | + | |DHCP| Включать DHCP в Vlan | |
- | + | |PPPOE| Включать PPPoE в Vlan | | |
- | Если планируется использовать UNNUMBERED_IP тогда нужно в конфигурационном файле добавить\\ | + | |UNNUMBERED_IP| Unnumbered Адрес абонента | |
- | + | ||
- | **Linux**\\ | + | |
- | + | ||
- | ^$conf{VLAN_IF_CREATE}='/sbin/vconfig add %PARENT_INTERFACE% %VLAN_ID%';| Команда создания Vlan | | + | |
- | ^$conf{VLAN_IF_IP}='/sbin/ip link set %PARENT_INTERFACE%.%VLAN_ID% up; /usr/bin/sudo /sbin/ip route add %UNNUMBERED_IP% dev %PARENT_INTERFACE%.%VLAN_ID% src %VLAN_IF_IP%'; |назначение IP адреса для Vlan | | + | |
- | ^$conf{VLAN_IP_DELETE}='/sbin/ip addr del %UNNUMBERED_IP% dev %PARENT_INTERFACE%.%VLAN_ID%';| Удаление IP адреса с Vlan | | + | |
- | ^$conf{VLAN_IF_DESTROY}='/sbin/ip link set %PARENT_INTERFACE%.%VLAN_ID% down; /usr/bin/sudo /sbin/vconfig rem %PARENT_INTERFACE%.%VLAN_ID%'; | Уничтожение Vlan | | + | |
- | ^$conf{VLAN_STATIC}='NAS_ID=vlan1,vlan2...;NAS_ID=...'; | Список системных вланов которые не подлежать изменению\\ | + | |
Для удобства работы и создания внешних программ обработки Vlan система устанавливает следующие переменные окружения перед выполнением команд. | Для удобства работы и создания внешних программ обработки Vlan система устанавливает следующие переменные окружения перед выполнением команд. | ||
Строка 70: | Строка 67: | ||
+ | Если планируется использовать UNNUMBERED_IP тогда нужно в конфигурационном файле добавить\\ | ||
+ | **FreeBSD** | ||
+ | ^$conf{VLAN_IF_CREATE}='/usr/local/bin/sudo /sbin/ifconfig vlan%VLAN_ID% create; /usr/local/bin/sudo /sbin/ifconfig vlan%VLAN_ID% vlan %VLAN_ID% vlandev %PARENT_INTERFACE%'; | | ||
+ | ^$conf{VLAN_IF_IP}='if [ x%UNNUMBERED_ADD% != x1 ]; then /usr/local/bin/sudo /sbin/ifconfig vlan%VLAN_ID% %VLAN_IF_IP% netmask %VLAN_IF_NETMASK%; fi; /usr/local/bin/sudo /sbin/route add -net %UNNUMBERED_IP%/%VLAN_IF_BIT_NETMASK% -iface vlan%VLAN_ID%'; | | ||
+ | ^$conf{VLAN_IP_DELETE}='/usr/local/bin/sudo /sbin/ifconfig vlan%VLAN_ID% delete %VLAN_IF_IP%';| Удаление IP адреса с Vlan | | ||
+ | ^$conf{VLAN_IF_DESTROY}='/usr/local/bin/sudo /sbin/ifconfig vlan%VLAN_ID% destroy'; | Уничтожение Vlan | | ||
- | Для FreeBSD ядро нужно скомпилировать с опцией: | ||
- | device vlan | + | **Linux**\\ |
+ | |||
+ | ^$conf{VLAN_IF_CREATE}='/sbin/vconfig add %PARENT_INTERFACE% %VLAN_ID%';| Команда создания Vlan | | ||
+ | ^$conf{VLAN_IF_IP}='/sbin/ip link set %PARENT_INTERFACE%.%VLAN_ID% up; /usr/bin/sudo /sbin/ip route add %UNNUMBERED_IP% dev %PARENT_INTERFACE%.%VLAN_ID% src %VLAN_IF_IP%'; |назначение IP адреса для Vlan | | ||
+ | ^$conf{VLAN_IP_DELETE}='/sbin/ip addr del %UNNUMBERED_IP% dev %PARENT_INTERFACE%.%VLAN_ID%';| Удаление IP адреса с Vlan | | ||
+ | ^$conf{VLAN_IF_DESTROY}='/sbin/ip link set %PARENT_INTERFACE%.%VLAN_ID% down; /usr/bin/sudo /sbin/vconfig rem %PARENT_INTERFACE%.%VLAN_ID%'; | Уничтожение Vlan | | ||
+ | ^$conf{VLAN_STATIC}='NAS_ID=vlan1,vlan2...;NAS_ID=...'; | Список системных вланов которые не подлежать изменению\\ | ||
Строка 141: | Строка 149: | ||
www ALL = NOPASSWD: /sbin/ipfw | www ALL = NOPASSWD: /sbin/ipfw | ||
www ALL = NOPASSWD: /sbin/ifconfig | www ALL = NOPASSWD: /sbin/ifconfig | ||
+ | www ALL = NOPASSWD: /sbin/route | ||
www ALL = NOPASSWD: /usr/local/sbin/mpd5 | www ALL = NOPASSWD: /usr/local/sbin/mpd5 | ||
www ALL = NOPASSWD: /usr/local/etc/rc.d/isc-dhcpd | www ALL = NOPASSWD: /usr/local/etc/rc.d/isc-dhcpd | ||
Строка 163: | Строка 172: | ||
abills_admin ALL = NOPASSWD: /usr/local/etc/rc.d/isc-dhcpd | abills_admin ALL = NOPASSWD: /usr/local/etc/rc.d/isc-dhcpd | ||
abills_admin ALL = NOPASSWD: /sbin/ifconfig | abills_admin ALL = NOPASSWD: /sbin/ifconfig | ||
+ | abills_admin ALL = NOPASSWD: /sbin/route | ||
abills_admin ALL = NOPASSWD: /usr/libexec/pppoed | abills_admin ALL = NOPASSWD: /usr/libexec/pppoed | ||
abills_admin ALL = NOPASSWD: /bin/kill | abills_admin ALL = NOPASSWD: /bin/kill | ||
abills_admin ALL = NOPASSWD: /usr/local/sbin/mpd5 | abills_admin ALL = NOPASSWD: /usr/local/sbin/mpd5 | ||
- | abills_admin ALL = NOPASSWD: /sbin/ipfw | + | abills_admin ALL = NOPASSWD: /sbin/ipfw |
===Перезагрузка всей конфигурации=== | ===Перезагрузка всей конфигурации=== |