User Tools

Site Tools


flyrouter:temp1

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

flyrouter:temp1 [2018/04/09 15:36] (current)
Line 1: Line 1:
 +===== Описание пакета flyscript =====
 +
 +===== Автоматический 802.1q VLAN =====
 +В новой версии появилась автоматическая обработка ''​802.1q VLAN''​
 +Теперь,​ если интерфейс называется (vlan*, eth*.*, tap*.*) - то автоматически вызываются команды ''​vconfig add''​ при "​подъеме"​ и ''​vconfig rem''​ при "​опускании"​ интерфейса
 +
 +===== bridge =====
 +Появилась функция позволяющая автоматически создавать/​удалять бридж-интерфейсы,​ при задании параметра ''​bridge_ports''​. \\
 +Например:​
 +<​code>​
 +iface br1 inet manual
 +  bridge_ports eth1.100 eth2
 +</​code>​
 +При этом автоматически создастся ''​eth1.100 VLAN''​ и будет создан бридж ''​br1''​ между ''​eth1.100''​ и ''​eth2''​
 +
 +Также можно указывать параметры:​
 +  * ''​bridge_ageing <​time>''​ - set ageing time, default is 300, can have a fractional part.
 +  * ''​bridge_bridgeprio <​priority>''​ - set bridge priority, <​priority>​ is between 0 and 65535, default is 32768, affects bridge id, lowest priority bridge will be the root.
 +  * ''​bridge_fd <​time>''​ - set bridge forward delay to <​time>​ seconds, default is 15, can have a fractional part.
 +  * ''​bridge_gcint <​time>''​ - set garbage collection interval to <​time>​ seconds, default is 4, can have a fractional part.
 +  * ''​bridge_hello <​time>''​ - set hello time to <​time>​ seconds, default is 2, can have a fractional part.
 +  * ''​bridge_hw <MAC address>''​ - set the ethernet MAC address of all the bridge interfaces to the specified one so that the bridge ends up having this ardware ​       address as well. WARNING: use this only if you know what you are        doing, changing the MAC address of the cards may cause trouble ​       if you don't know what you are doing. To see the discussion about        this feature and the problems that can cause you can try to ave        a look at the bug that asked for this feature visiting
 +  * ''​bridge_maxage <​time>''​ - set max message age to <​time>​ seconds, default is 20, can have a       ​fractional part.
 +  * ''​bridge_maxwait <​time>''​ - forces to <​time>​ seconds the maximum time that the Debian bridge ​       setup scripts will wait for the bridge orts o get to the        forwarding status, doesn'​t allow factional part. If it is equal        to 0 then no waiting is done.
 +  * ''​bridge_pathcost <​port>​ <​cost>''​ -         set path cost for a port, default is 100, <​port>​ is the name of        the interface to which this setting applies.
 +  * ''​bridge_portprio <​port>​ <​priority>''​ -         set port priority, default is 128, affects port id, <​port>​ is the        name of the interface to which this setting applies.
 +  * ''​bridge_stp <​state>''​ -         turn spanning tree protocol on/off, <​state>​ values are on or yes        to turn stp on and any other thing to set it off, default has         ​changed to off for security reasons in latest kernels, so you         ​should specify if you want stp on or off with this option, and not        rely on your kernel'​s default behaviour.
 +
 +
 +
 +===== Метод manual =====
 +Появился метод ''​manual''​ для интерфейсов,​ это позволяет поднять интерфейс не присваивая ему адрес, например
 +<​code>​
 +auto eth0
 +iface eth0 inet manual
 +</​code>​
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +===== brtun =====
 +
 +Параметр brtun предназначен для автоматического управления openvpn L2 туннелями.
 +Пример
 +<​code>​
 +auto brtun0
 +iface brtun0 inet static
 +  address 192.168.10.1
 +  netmask 255.255.255.0
 +  brtun 172.28.200.91:​1000-172.28.200.92:​1000 iface=eth2.1000,​eth2.1001 --proto udp --ping 15 --verb 4 --shaper 64000
 +</​code>​
 +**ИЛИ**
 +<​code>​
 +auto brtun0
 +iface brtun0 inet manual
 +  brtun 172.28.200.91:​1000-172.28.200.92:​1000 vlans=eth0:​111,​112,​113,​114 --proto udp --ping 15 --verb 4 --shaper 64000
 +</​code>​
 +
 +\\
 +**Внимание,​ параметры шейпера openvpn указываются не в битах, а в байтах!**\\
 +\\
 +
 +Параметры
 +  - ''​ipaddr1:​port1-ipaddr2:​port2''​ - обязательный параметр указывающий локальные (''​ipaddr1''​) и удаленные (''​ipaddr2''​) адреса туннелей между которыми строятся туннели. ​
 +    * ''​ipaddr1''​ - локальный адрес - обязательный под-параметр (можно указать ''​auto''​ если локальный адрес динамический)
 +    * ''​port1''​ - локальный порт - обязательный под-параметр
 +    * ''​ipaddr2''​ - удаленный адрес - обязательный под-параметр (можно указать ''​auto''​ если удаленный адрес динамический)
 +    * ''​port2''​ - удаленный порт, не обязательный параметр,​ если не указан - используется значение port1
 +  - Далее возможно указать 2 взаимно-исключающий варианта:​
 +    - ''​iface=eth2.1000[,​eth3.1000]''​ - интерфейс на который необходимо поднять бридж (802.1q VLAN'​ы создаются автоматически),​ через запятую можно указывать дополнительные интерфейсы,​ которые необходимо включить в бридж.
 +    - ''​vlans=eth0:​111,​112,​113,​114...''​ - данный вариант удобен когда у клиента множество 802.1q VLAN'​ов,​ т.е не нужно создавать на каждый VLAN отдельную запись
 +  - все остальные параметры передаются в openvpn в неизменном виде, подробнее можно почитать на странице http://​openvpn.net/​
 +
 +=== Точка-многоточка ===
 +Можно добавлять несколько brtun параметров в описании интерфейса - т.е. создать соединение точка-многоточка (только при iface=....),​ например
 +<​code>​
 +auto post
 +iface post inet manual
 +  brtun auto:​1000-172.28.200.92 iface=eth3.100
 +  brtun1 auto:​1001-72.28.200.92 ​
 +  brtun2 172.28.200.91:​1002-auto ​
 +</​code>​
 +В данном примере будут созданы 3 туннеля (будут запущены 3 демона ''​openvpn''​),​ и объединены в один бридж - ''​post'',​ а также добавлен в бридж ''​eth3.100''​
 +
 +
 +=== Внутренняя логика ===
 +=== пример1 ===
 +<​code>​
 +auto brtun
 +iface brtun inet manual
 +    brtun  ip1:​1000-ip2 iface=BRIFACES
 +</​code>​
 +**ifup**
 +  - создать бридж с именем ''​brtun''​
 +  - создать tap интерфейс ''​tap1000''​
 +  - поднять интерфейсы ''​BRIFACES''​ (если нужно создать соотв. VLAN)
 +  - добавить в бридж ''​brtun''​ ''​tap1000''​ интерфейс
 +  - добавить в бридж ''​brtun''​ ''​BRIFACES''​ интерфейсы
 +  - запустить openvpn
 +**ifdown**
 +  - удаление идет в обратном порядке созданию
 +
 +=== пример2 ===
 +<​code>​
 +auto brtun
 +iface brtun inet manual
 +    brtun  ip1:​1000-ip2 vlans=IFACE:​100,​101,​102...
 +</​code>​
 +**ifup**
 +  - создать tap интерфейс ''​tap1000''​
 +  - создать бридж с именем ''​brtun100''​
 +  - добавить 802.1q VLAN ''​tap1000.//​100//''​
 +  - добавить 802.1q VLAN ''​IFACE.//​100//''​
 +  - добавить в бридж интерфейсы ''​tap1000.//​100//''​ и ''​IFACE.//​100//''​
 +  - повторить операцию 2 со всеми остальными вланами (101,102 и тд)
 +  - запустить openvpn
 +
 +**ifdown**
 +  - удаление идет в обратном порядке созданию
 +
 +\\
 +
 +----
 +
 +\\
 +
 +=== Настройка связки FlyRouter и Debian (или Ubuntu) ===
 +
 +  * Установите Debian (или Ubuntu/​Kubuntu/​Xubuntu и т.д.) на сервер
 +    * **Для всех видов Ubuntu обязательно выполните команду удаления NetworkManager-а:​**
 +<​code>​
 +apt-get remove network-manager
 +</​code>​
 +  * Настройте установку пакетов из репозитария через интернет или локально с CD
 +  * Установите необходимые пакеты в систему,​ выполнив команды:​
 +<​code>​
 +apt-get update
 +apt-get install openvpn bridge-utils vlan
 +apt-get install openssh-server mc (эти пакеты устанавливается опционально)
 +</​code>​
 +  * Скачайте с репозитария и запустите установку flyscript (потом его можно удалить):​
 +<​code>​
 +cd /tmp
 +wget http://​flyrouter.net/​downloads/​software/​flyrouter/​builder/​script/​fsdeb.sh
 +chmod 755 ./fsdeb.sh
 +./fsdeb.sh
 +</​code>​
 +  * После этого можете прописывать туннели в файле /​etc/​network/​interfaces:​
 +<​code>​
 +# Tunnel for testing1
 +auto brtun0
 +iface brtun0 inet static
 +    address 172.17.1.1
 +    netmask 255.255.255.0
 +    brtun auto:​1278-192.168.1.1:​1278 iface=eth0.1 --proto udp --ping 15 --verb 4 --shaper 64000
 +
 +# Tunnel for testing2
 +auto brtun1
 +iface brtun1 inet manual
 +    brtun auto:​1279-192.168.1.2:​1279 iface=eth0.2 --proto udp --ping 15 --verb 4 --shaper 64000
 +</​code>​
  
flyrouter/temp1.txt · Last modified: 2018/04/09 15:36 (external edit)