В новой версии появилась автоматическая обработка 802.1q VLAN
Теперь, если интерфейс называется (vlan*, eth*.*, tap*.*) - то автоматически вызываются команды vconfig add
при “подъеме” и vconfig rem
при “опускании” интерфейса
Появилась функция позволяющая автоматически создавать/удалять бридж-интерфейсы, при задании параметра bridge_ports
.
Например:
iface br1 inet manual bridge_ports eth1.100 eth2
При этом автоматически создастся 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 visitingbridge_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
для интерфейсов, это позволяет поднять интерфейс не присваивая ему адрес, например
auto eth0 iface eth0 inet manual
Параметр brtun предназначен для автоматического управления openvpn L2 туннелями. Пример
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
ИЛИ
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
Внимание, параметры шейпера openvpn указываются не в битах, а в байтах!
Параметры
ipaddr1:port1-ipaddr2:port2
- обязательный параметр указывающий локальные (ipaddr1
) и удаленные (ipaddr2
) адреса туннелей между которыми строятся туннели. ipaddr1
- локальный адрес - обязательный под-параметр (можно указать auto
если локальный адрес динамический)port1
- локальный порт - обязательный под-параметрipaddr2
- удаленный адрес - обязательный под-параметр (можно указать auto
если удаленный адрес динамический)port2
- удаленный порт, не обязательный параметр, если не указан - используется значение port1iface=eth2.1000[,eth3.1000]
- интерфейс на который необходимо поднять бридж (802.1q VLAN'ы создаются автоматически), через запятую можно указывать дополнительные интерфейсы, которые необходимо включить в бридж.vlans=eth0:111,112,113,114…
- данный вариант удобен когда у клиента множество 802.1q VLAN'ов, т.е не нужно создавать на каждый VLAN отдельную записьМожно добавлять несколько brtun параметров в описании интерфейса - т.е. создать соединение точка-многоточка (только при iface=….), например
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
В данном примере будут созданы 3 туннеля (будут запущены 3 демона openvpn
), и объединены в один бридж - post
, а также добавлен в бридж eth3.100
auto brtun iface brtun inet manual brtun ip1:1000-ip2 iface=BRIFACES
ifup
brtun
tap1000
BRIFACES
(если нужно создать соотв. VLAN)brtun
tap1000
интерфейсbrtun
BRIFACES
интерфейсыifdown
auto brtun iface brtun inet manual brtun ip1:1000-ip2 vlans=IFACE:100,101,102...
ifup
tap1000
brtun100
tap1000.100
IFACE.100
tap1000.100
и IFACE.100
ifdown
apt-get remove network-manager
apt-get update apt-get install openvpn bridge-utils vlan apt-get install openssh-server mc (эти пакеты устанавливается опционально)
cd /tmp wget http://flyrouter.net/downloads/software/flyrouter/builder/script/fsdeb.sh chmod 755 ./fsdeb.sh ./fsdeb.sh
# 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