Bridge и L2 OpenVPN туннель (район)
Клиент подключен на 0-й порт FlyRouter.
Траффик в район уходит/приходит через OpenVPN туннель.
192.168.152.12 - внешний адрес центрального роутера.
192.168.154.14 - внешние адрес районного (этого) роутера.
Выдержка из файла конфигурации /etc/network/interfaces :
# Tunnel to Center
auto brtun3
iface brtun3 inet static
address 172.1.1.2
netmask 255.255.255.0
pre-up ip link set eth3 up
pre-up /etc/network/brtun start brtun3 tap3 eth3 192.168.154.14 192.168.152.12 1203
post-down /etc/network/brtun stop brtun3 tap3 eth3 192.168.154.14 192.168.152.12 1203
При использовании OpenVPN с SSL не забудьте создать ключ для роутеров, выполнив команду:
openvpn --genkey --secret /etc/openvpn/brtun3.key
Если есть необходимость выдать туннель на два (и более) порта, то добавьте между запуском скрипта
/etc/network/brtun строки:
pre-up brctl addif brtun3 eth4
post-down brctl delif brtun3 eth4
Полный пример для вывода из туннеля двух портов (eth3 и eth4):
# Tunnel to Center
auto brtun3
iface brtun3 inet static
address 172.1.1.2
netmask 255.255.255.0
pre-up ip link set eth3 up
pre-up ip link set eth4 up
pre-up /etc/network/brtun start brtun3 tap3 eth3 192.168.154.14 192.168.152.12 1203
pre-up brctl addif brtun3 eth4
post-down brctl delif brtun3 eth4
post-down /etc/network/brtun stop brtun3 tap3 eth3 192.168.154.14 192.168.152.12 1203
Полный пример для вывода из туннеля двух портов с использованием VLAN (eth3 и eth4.73):
# Tunnel to Center
auto brtun3
iface brtun3 inet static
address 172.1.1.2
netmask 255.255.255.0
pre-up ip link set eth3 up
pre-up ip link set eth4 up
pre-up vconfig add eth4 73
pre-up ip link set eth4.73 up
pre-up /etc/network/brtun start brtun3 tap3 eth3 192.168.154.14 192.168.152.12 1203
pre-up brctl addif brtun3 eth4.73
post-down brctl delif brtun3 eth4.73
post-down ip link set eth4.73 down
post-down vconfig rem eth4.73
post-down /etc/network/brtun stop brtun3 tap3 eth3 192.168.154.14 192.168.152.12 1203
Если есть необходимость шейпить (например, установить ограничение 64к), то добавьте между запуском скрипта
/etc/network/brtun строки:
up tc qdisc replace dev tap3 root tbf rate 64kbit burst 1540 latency 50ms
up tc qdisc replace dev eth3 root tbf rate 64kbit burst 1540 latency 50ms
Полный пример для туннеля с шейпером на интерфейсах:
# Tunnel to Center
auto brtun3
iface brtun3 inet static
address 172.1.1.2
netmask 255.255.255.0
pre-up ip link set eth3 up
pre-up /etc/network/brtun start brtun3 tap3 eth3 192.168.154.14 192.168.152.12 1203
up tc qdisc replace dev tap3 root tbf rate 64kbit burst 1540 latency 50ms
up tc qdisc replace dev eth3 root tbf rate 64kbit burst 1540 latency 50ms
post-down /etc/network/brtun stop brtun3 tap3 eth3 192.168.154.14 192.168.152.12 1203