Очень часто возникает задача объединить два территориально разделенных офиса в одну сеть, для объединения будем использовать Openvpn
На первом сервере установим все необходимое программное обеспечение
1 |
aptitude install openvpn bridge-utils vim |
Приступим к настройке
1 2 |
eth0 - 1.1.1.1/24 - интернет eth1 - 192.168.1.1 - локальная сеть |
Отредактируем конфигурационный файл сети
1 |
vim /etc/network/interfaces |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
allow-hotplug eth0 iface eth0 inet static address 1.1.1.1 netmask 255.255.255.0 network 1.1.1.0 broadcast 1.1.1.255 gateway 1.1.1.254 allow-hotplug eth1 iface eth1 inet manual auto br0 iface br0 inet static address 192.168.1.1 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 bridge_ports eth1 |
Теперь необходимо перезапустить настройки сети
1 |
/etc/init.d/networking restart |
Настроим openvpn
Создадим конфигурационный файл
1 2 3 4 5 6 7 |
echo "proto udp dev tap0 port 1194 secret static.key up /etc/script/up-server.conf ping 10 ping-restart 60" > /etc/openvpn/server.conf |
Cгенерируем ключ
1 2 |
cd /etc/openvpn/ openvpn --genkey --secret static.key |
Создадим скрипт бриджевания tap0 устройства
1 |
mkdir /etc/script |
1 2 3 4 5 6 7 8 |
echo "#!/bin/bash brctl=`which brctl` ifconfig=`which ifconfig` ifenslave=`which ifenslave` $ifconfig tap0 up $brctl addif br0 tap0" > /etc/script/up-server.conf |
Cделаем скрипт исполняемым
1 |
chmod +x /etc/script/up-server.conf |
Разрешим openvpn использовать внешние скрипты
1 |
vim /etc/default/openvpn |
Приведем в соответствие параметр
1 |
OPTARGS="--script-security 2" |
Перезапустим openvpn и перейдем к настройке второго сервера
На втором сервере произведем аналогичные действия
1 |
aptitude install openvpn bridge-utils vim |
Приступим к настройке
1 2 |
eth0 - 2.2.2.2/24 - интернет eth1 - 192.168.1.2 - локальная сеть |
Отредактируем конфигурационный файл сети
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
allow-hotplug eth0 iface eth0 inet manual address 2.2.2.2 netmask 255.255.255.0 network 2.2.2.0 broadcast 2.2.2.255 gateway 2.2.2.254 allow-hotplug eth1 iface eth1 inet manual auto br0 iface br0 inet static address 192.168.1.2 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 bridge_ports eth1 |
Теперь необходимо перезапустить настройки сети
1 |
/etc/init.d/networking restart |
Конфигурация VPN
Cоздадим конфигурационный файл
1 2 3 4 5 6 7 8 |
echo "remote 1.1.1.1 proto udp dev tap0 port 1194 secret static.key up /etc/script/up-client.conf ping 10 ping-restart 60" > /etc/openvpn/client.conf |
Теперь необходимо перенести ключ static.key с первого сервера на второй в папку /etc/openvpn/ существует много способов это сделать самый простой скопировать содержимое файла и вставить в файл на втором сервере.
Создадим скрипт бриджевания tap0 устройства
1 |
mkdir /etc/script |
1 2 3 4 5 6 7 8 |
#!/bin/bash brctl=`which brctl` ifconfig=`which ifconfig` ifenslave=`which ifenslave` $ifconfig tap0 up $brctl addif br0 tap0 |
Делаем скрипт исполняемым
1 |
chmod +x /etc/script/up-client.conf |
Разрешим openvpn использовать внешние скрипты
1 |
vim /etc/default/openvpn |
Приведем в соответствие параметр
1 |
OPTARGS="--script-security 2" |
Перезапустим openvpn
На этом настройка закончена и сети должны объединится прозрачно.