У цьому посібнику ми об'єднаємо 3 офіси, кожен з власних підмереж в одну локальну мережу з використанням операційної системи Linux Debian Wheezy, OpenVPN та Arno-Iptables-Firewall.
Сам сервер OpenVPN буде налаштований за допомогою інтерфейсу tun.
У кожному офісі ми встановлюємо операційну систему Debian 7 на сервері з 2 мережевими картками відповідно до інструкцій. Деб'ян Wheezy установка з докладними скріншотамиПідключення Інтернет-провайдера. Обов'язково мати чесну (білу) статичну IP-адресу на одному з офісних серверів, так як інші офісні сервери будуть підключені до неї.
АЛЕ! Можливість працювати через динамічний DNS за допомогою сервісу no-ip.com. Динамічний IP використовується за допомогою провайдера DSL на цьому сервісі понад 4 років і працює добре 24/7.
Якщо організація потребує підключення віддалених співробітників до мережевих послуг і збереження на робочому місці, то підключення до OpenVPN буде одним з кращих, простих і надійних рішень. Віддалені працівники також зможуть працювати в мережі, так як якщо їх комп'ютери знаходяться в мережі офісів.
Картки мережі на всіх серверах:
- eth0 - Місцева мережа
- eth1 - Веб-сайт Про компанію
Ви можете налаштувати мережу та Інтернет на кожному сервері відповідно до інструкцій: Налаштування мережевих карток на сервері Debian, Ubuntu та їх похідних
Для внутрішньої мережі VPN виділіть собі підмережу:
- VPN: 192.168.255.0/24
Мережевий адресинг локальних мереж по офісі, кожен сервер має власний асоційований IP в мережі VPN:
Офіс1:
- Зовнішній IP: 95.243.2.27
- Місцева мережа: 192.168.10.0/24
- IP VPN: 192.168.255.1
Офіс 2:
- Місцева мережа: 192.168.20.0/24
- IP VPN: 192.168.255.5
Офіс 3:
- Місцева мережа: 192.168.30.0/24
- IP VPN: 192.168.255.9
Для серверів ви можете вибрати інший IP з таблиці нижче, якщо ви підключені віддалені працівники, з того ж столу ми підбираємо їх IP:
| 1,2 | 5,6 | 9,10 | 13,14 | 17,18 | 21,22 | 25,26 | 29,30 | 33,34 | 37,38 | 41,42 |
| 45,46 | 49,50 | 53,54 | 57,58 | 61,62 | 65,66 | 69,70 | 73,74 | 77,78 | 81,82 | 85,86 |
| 89,90 | 93,94 | 97,98 | 101,102 | 105,106 | 109,110 | 113,114 | 117,118 | 121,122 | 125,126 | 129,130 |
| 133,134 | 137,138 | 141,142 | 145,146 | 149,150 | 153,154 | 157,158 | 161,162 | 165,166 | 169,170 | 173,174 |
| 177,178 | 181,182 | 185,186 | 189,190 | 193,194 | 197,198 | 201,202 | 205,206 | 209,210 | 213,214 | 217,218 |
| 221,222 | 225,226 | 229,230 | 233,234 | 237,238 | 241,242 | 245,246 | 249,250 | 253,254 | ||
Почати встановлення та налаштування сервера OpenVPN.
На кожному сервері встановіть сервер OpenVPN за наступним чином:
aptitude install openvpn
Скопіювати скрипти, щоб сформувати ключі та сертифікати за наступним чином:
cp -Rp /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /etc/openvpn/vpn-tun
Ми будемо редагувати основні параметри в файлі варів, щоб ми не вказували кожного разу, коли ми створюємо користувачів:
vi /etc/openvpn/vpn-tun/vars export KEY_COUNTRY="UA" export KEY_PROVINCE="11" export KEY_CITY="Kiev" export KEY_ORG="Firmname" export KEY_EMAIL="[email protected]"
Перейти до папки скопіювати:
cd /etc/openvpn/vpn-tun/
Ініціалізація PKI (Публічний ключ Інфраструктури) шляхом виконання наступних інструкцій:
. ./vars ./clean-all
Генерувати сертифікат органу (CA) і ключ, виконавши команду:
./build-ca
Більшість параметрів будуть підібрані з варного файлу. У випадку, якщо Ви не погоджуєтесь на те, що вони повинні бути визначені:
Organizational Unit Name (eg, section) []:Firmname Name []:vpn
Ми виробляємо параметри Diffie-Hellman за наступним чином:
./build-dh
Створення сертифікату та приватного ключа сервера шляхом виконання команди:
./build-key-server server
Всі параметри приймаються за замовчуванням. Більшість параметрів будуть підібрані з варного файлу. Тільки параметр імен має бути чітко зазначений:
Name []: server
Додайте ключі для наших двох офісів, які підключаються до сервера OpenVPN:
./build-key office2 ./build-key office3
Всі параметри приймаються за замовчуванням. Для запиту на ім'я введіть імена офісів: office1, office2.
Якщо після того, як потрібно додати інший офіс або кілька віддалених співробітників, необхідно виконати команду:
. ./vars
Після цього команда ./build-key user1 Додайте необхідну кількість клієнтів OpenVPN Для серверів не забудьте створити ccd файл для нового VPN-клієнта.
Створіть папку ccd, виконавши команду:
mkdir -p /etc/openvpn/vpn-tun/ccd/
Створіть файл ccd для кожного офісу, в якому ми прописуємо постійний IP (Виберіть IP з таблиці IP у статті вище) і маршрути:
Створіть файл ccd для офісу 2, виконавши команду:
echo ' #disable ifconfig-push 192.168.255.5 192.168.255.6 iroute 192.168.20.0 255.255.255.0 push "route 192.168.10.0 255.255.255.0" push "route 192.168.30.0 255.255.255.0" ' > /etc/openvpn/vpn-tun/ccd/office2
Створіть файл ccd для офісу 3, виконавши команду:
echo ' #disable ifconfig-push 192.168.255.9 192.168.255.10 iroute 192.168.30.0 255.255.255.0 push "route 192.168.10.0 255.255.255.0" push "route 192.168.20.0 255.255.255.0" ' > /etc/openvpn/vpn-tun/ccd/office3
!!! Якщо будь-який з клієнтів буде потрібно відключити, просто параметр відступу disable скидання #
Створіть файл конфігурації сервера OpenVPN, виконавши команду:
echo ' dev tun port 1194 proto udp tls-server server 192.168.255.0 255.255.255.0 ifconfig 192.168.255.1 192.168.255.2 route 192.168.20.0 255.255.255.0 # Подсеть Office2 route 192.168.30.0 255.255.255.0 # Подсеть Office3 ca /etc/openvpn/vpn-tun/keys/ca.crt cert /etc/openvpn/vpn-tun/keys/server.crt key /etc/openvpn/vpn-tun/keys/server.key dh /etc/openvpn/vpn-tun/keys/dh1024.pem client-to-client client-config-dir /etc/openvpn/vpn-tun/ccd comp-lzo persist-tun persist-key verb 3 keepalive 10 60 ifconfig-pool-persist ipp.txt # Тут будут храниться ip адреса клиентов log-append /var/log/openvpn_tun.log status /var/log/openvpn_status_tun.log ' > /etc/openvpn/server-tun.conf
Створіть папку, де ми копіюємо ключі та налаштування для клієнтів за допомогою виконання команд:
mkdir -p /etc/openvpn/users/office2 mkdir -p /etc/openvpn/users/office3
Створіть файл конфігурації для Office2 за допомогою попереднього обміну ip_openvpn_server до зовнішнього IP-сервера office1 або доменного імені:
echo ' remote ip_openvpn_server 1194 client dev tun proto udp resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert office2.crt key office2.key comp-lzo verb 4 mute 20 verb 3 #redirect-gateway log-append /var/log/openvpn_office2_to_office1.log ' > /etc/openvpn/users/office2/office2_to_office1.conf
Створіть файл конфігурації для Office2 за допомогою попереднього обміну ip_openvpn_server до зовнішнього IP-сервера office1 або доменного імені:
echo ' remote ip_openvpn_server 1194 client dev tun proto udp resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert office3.crt key office3.key comp-lzo verb 4 mute 20 verb 3 #redirect-gateway log-append /var/log/openvpn_office3_to_office1.log ' > /etc/openvpn/users/office3/office3_to_office1.conf
!!!! Якщо необхідно, що вся мережа офісної мережі 2 або офісу 3, або пізніше підключений віддалений працівник проходить через VPN основного сервера (офіс 1), наприклад, для приховувати зовнішній IP потрібно відхиляти параметр. redirect-gatewayмастурбація #. У Після відступу необхідно буде дозволити NATдля IP VPN-сервіс необхідного клієнта на сервері офісу, а саме параметр NAT_INTERNAL_NET=" в файлі /etc/arno-iptables-firewall/conf.d/00debconf.conf. У Якщо необхідно додати кілька IP-адрес, вони відокремлюються комою.
.
Скопіювати сертифікати та ключ для офісу 1 та офісу 2:
cp /etc/openvpn/vpn-tun/keys/office2.key /etc/openvpn/users/office2/ cp /etc/openvpn/vpn-tun/keys/office2.crt /etc/openvpn/users/office2/ cp /etc/openvpn/vpn-tun/keys/ca.crt /etc/openvpn/users/office2/ cp /etc/openvpn/vpn-tun/keys/office3.key /etc/openvpn/users/office3/ cp /etc/openvpn/vpn-tun/keys/office3.crt /etc/openvpn/users/office3/ cp /etc/openvpn/vpn-tun/keys/ca.crt /etc/openvpn/users/office3/
Архів папки з ключами для кожного офісу:
cd /etc/openvpn/users/ tar cf - office2/ | gzip -c -9 > office2.tgz tar cf - office3/ | gzip -c -9 > office3.tgz
Переверніть архів за допомогою ключів на серверах офісів:
Скопіювати на серверах офіс2 та офісу3 при наявності зовнішньої команди IP:
scp -P22 /etc/openvpn/users/office2.tgz root@ip_office2:/etc/openvpn/ scp -P22 /etc/openvpn/users/office3.tgz root@ip_office3:/etc/openvpn/
Якщо немає зовнішнього IP, то копіюйте з сервера офісу2 і Office3 за допомогою команди:
scp -P22 root@ip_office1:/etc/openvpn/users/office2.tgz /etc/openvpn/ scp -P22 root@ip_office1:/etc/openvpn/users/office3.tgz /etc/openvpn/
На сервері офісу 2 ми розпакуємо архів командами, що виконуються:
cd /etc/openvpn/ tar xvf office2.tgz mv office2/* . rmdir office2/
На сервері офісу 2 ми розпакуємо архів командами, що виконуються:
cd /etc/openvpn/ tar xvf office3.tgz mv office3/* . rmdir office3/
Після цього ми перевантажимо сервер OpenVPN на кожному сервері і після хвилини спробуємо ping ip 192.168.255.1, 192.168.255.5 та 192.168.255.9 - IP-сервери. Функція перезавантаження сервера OpenVPN:
/etc/init.d/openvpn restart
Встановлення та налаштування Arno-Iptables-Firewall
Тепер нам необхідно налаштувати брандмауер, щоб ми могли мати доступ до локальних мереж.
Встановити Arno-Iptables-Firewall брандмауер за виконанням:
aptitude install arno-iptables-firewall
Ми відповімо на питання інсталятора та налаштовуємо Arno-Iptables-Firewall відповідно до Інструкції щодо встановлення та налаштування Arno-Iptables-Firewall:
Налаштування брандмауера Office1:
У цьому випадку ми відкриваємо порти на tcp 22 і udp 1194 порту:
vi /etc/arno-iptables-firewall/conf.d/00debconf.conf EXT_IF="eth1" EXT_IF_DHCP_IP=1 OPEN_TCP="22" OPEN_UDP="1194" INT_IF="eth0 tun+" NAT=1 INTERNAL_NET="192.168.10.0/24 192.168.20.0/24 192.168.30.0/24 192.168.255.0/24" NAT_INTERNAL_NET="" OPEN_ICMP=1 В файл /etc/arno-iptables-firewall/custom-rules вносим код: # openvpn Server iptables -I FORWARD -i eth0 -o tun0 -j ACCEPT iptables -I FORWARD -i tun0 -o eth0 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 121 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 21 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 80 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 53 -j ACCEPT iptables -I INPUT -i tun0 -p udp --dport 53 -j ACCEPT iptables -I INPUT -i tun0 -p udp --dport 69 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 443 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 139 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 445 -j ACCEPT iptables -I INPUT -i tun0 -p udp --dport 137 -j ACCEPT iptables -I INPUT -i tun0 -p udp --dport 138 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 901 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 9100 -j ACCEPT iptables -I INPUT -i tun0 -p ICMP --icmp-type 8 -j ACCEPT iptables -I INPUT -i tun0 -p ICMP --icmp-type 11 -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o tun0 -j MASQUERADE
Налаштування брандмауера Office2:
У цьому випадку ми відкриваємо порти на tcp 22 і udp 1194 порту:
vi /etc/arno-iptables-firewall/conf.d/00debconf.conf EXT_IF="eth1" EXT_IF_DHCP_IP=1 OPEN_TCP="22" OPEN_UDP="" INT_IF="eth0 tun+" NAT=1 INTERNAL_NET="192.168.10.0/24 192.168.20.0/24 192.168.30.0/24 192.168.255.0/24" NAT_INTERNAL_NET="" OPEN_ICMP=1 В файл /etc/arno-iptables-firewall/custom-rules вносим код: # openvpn Server iptables -I FORWARD -i eth0 -o tun0 -j ACCEPT iptables -I FORWARD -i tun0 -o eth0 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 121 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 21 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 80 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 53 -j ACCEPT iptables -I INPUT -i tun0 -p udp --dport 53 -j ACCEPT iptables -I INPUT -i tun0 -p udp --dport 69 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 443 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 139 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 445 -j ACCEPT iptables -I INPUT -i tun0 -p udp --dport 137 -j ACCEPT iptables -I INPUT -i tun0 -p udp --dport 138 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 901 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 9100 -j ACCEPT iptables -I INPUT -i tun0 -p ICMP --icmp-type 8 -j ACCEPT iptables -I INPUT -i tun0 -p ICMP --icmp-type 11 -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.20.0/24 -o tun0 -j MASQUERADE
Налаштування брандмауера Office3:
У цьому випадку ми відкриваємо порти на tcp 22 порту:
vi /etc/arno-iptables-firewall/conf.d/00debconf.conf EXT_IF="eth1" EXT_IF_DHCP_IP=1 OPEN_TCP="22" OPEN_UDP="" INT_IF="eth0 tun+" NAT=1 INTERNAL_NET="192.168.10.0/24 192.168.20.0/24 192.168.30.0/24 192.168.255.0/24" NAT_INTERNAL_NET="" OPEN_ICMP=1 В файл /etc/arno-iptables-firewall/custom-rules вносим код: # openvpn Server iptables -I FORWARD -i eth0 -o tun0 -j ACCEPT iptables -I FORWARD -i tun0 -o eth0 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 121 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 21 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 80 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 53 -j ACCEPT iptables -I INPUT -i tun0 -p udp --dport 53 -j ACCEPT iptables -I INPUT -i tun0 -p udp --dport 69 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 443 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 139 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 445 -j ACCEPT iptables -I INPUT -i tun0 -p udp --dport 137 -j ACCEPT iptables -I INPUT -i tun0 -p udp --dport 138 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 901 -j ACCEPT iptables -I INPUT -i tun0 -p tcp --dport 9100 -j ACCEPT iptables -I INPUT -i tun0 -p ICMP --icmp-type 8 -j ACCEPT iptables -I INPUT -i tun0 -p ICMP --icmp-type 11 -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.30.0/24 -o tun0 -j MASQUERADE
!!! Для всіх комп'ютерів за допомогою серверів OpenVPN для пінгування комп'ютерів іншого офісу, вони повинні мати шлюзу на власний сервер.
Після того, як всі роботи, зроблені, ви можете ping комп'ютери з іншого офісу.
Завершено гід з підключення локальних мереж різних офісів.
Я був з вами. Сергій Лазаренко.
Давайте зайдіть в роботу коротку поломку і подивимося відео про те, як запалити вогонь Нодя, ці знання не носяться за плечима, можливо, коли справа доходить до рук:








Про нас