Форум программистов, компьютерный форум, киберфорум
Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
61 / 51 / 25
Регистрация: 17.12.2013
Сообщений: 243
1

Объединить сеть офиса и удаленные компы в одну сеть через OpenVPN(+bridge)

26.02.2016, 10:05. Показов 2541. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача:
Объединить сеть офиса и удаленные компы в одну сеть с единым адресным пространством.
Решил поднять на шлюзе OpenVPN сервер на Ethernet bridging.

Начал с моделирования под Hiper-V:
Создал виртуальный свич, изолированный от внешних адаптеров.
Создал виртуальный свич завязанный на реальный адаптер сервера с выходом во внешнюю сеть (сеть офиса).
Поднял тестовую машинку с одним сетевым адаптером и присоединил его к изолированному свичу.
Поднял виртуальный сервер на Ubuntu Server 14/04 LTS с 2мя сетевыми адаптерами.
Он исполняет роль тестового шлюза
eth0 соединил со свичем, имеющим выход в реальную сеть.
eth1 соединил с изолированным виртуальным свичем.
Настроил изолированную сеть на тестовой машинке и на eth1 шлюза (192.168.200.0/255.255.255.0, шлюз 192.168.200.1, тестовая машина 192.168.200.2).
Пакеты ходят прекрасно.
Настроил сеть на eth0 шлюза (указал основным шлюзом офисный шлюз и DNS на DNS офиса).
Со шлюза стало прекрасно видно все сетевые ресурсы офиса и интернета.

Далее на шлюз поствил OpenVPN и bridge-utils, сгенерировал ключи.
Сделал пару скриптов для моста (/etc/openvpn/hmp-up.sh и /etc/openvpn/hmp-down.sh).
Настроил конфиг сервера.
Настроил /etc/network/interfaces.
Настроил раздачу инета во внутрь сети.

Привожу содержимое конфигов:
/etc/network/interfaces

Bash Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
 
# The loopback network interface
auto lo
iface lo inet loopback
 
# The primary network interface
auto eth0
iface eth0 inet static
        address 192.168.7.10
        netmask 255.255.255.0
        network 192.168.7.0
        broadcast 192.168.7.255
        gateway 192.168.7.2
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 192.168.7.2
 
auto br0
iface br0 inet static
        bridge_ports eth1
        bridge_fd 0
        address 192.168.200.1
        netmask 255.255.255.0
        network 192.168.200.0
        broadcast 192.168.200.255
 
pre-up iptables-restore < /etc/iptables.up.rules
 
up route add -net 192.168.200.0 netmask 255.255.255.0 dev br0
up route add -net 0.0.0.0 netmask 255.255.255.255 dev eth0

/etc/openvpn/server-hmp.conf

Bash Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
port 1794
proto udp
dev tap0
ca /etc/openvpn/rsa-hmp/keys/ca.crt
cert /etc/openvpn/rsa-hmp/keys/server-hmp.crt
key /etc/openvpn/rsa-hmp/keys/server-hmp.key
dh /etc/openvpn/rsa-hmp/keys/dh2048.pem
server-bridge 192.168.200.1 255.255.255.0 192.168.200.100 192.168.200.199
client-to-client
keepalive 10 60
comp-lzo
persist-key
persist-tun
status openvpn-status-hmp.log
log openvpn-hmp.log
verb 3
push "route 192.168.200.0 255.255.255.0"
up /etc/openvpn/hmp-up.sh
down /etc/openvpn/hmp-down.sh

/etc/openvpn/hmp-up.sh

Bash Скопировано
1
2
3
4
#!/bin/sh
 
ifconfig tap0 up
brctl addif br0 tap0

/etc/openvpn/hmp-down.sh

Bash Скопировано
1
2
3
4
#!/bin/sh
 
ifconfig tap0 down
brctl delif br0 tap0

/etc/iptables.up.rules

Bash Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Generated by iptables-save v1.4.21 on Fri Feb 26 15:28:35 2016
*nat
:PREROUTING ACCEPT [278:21526]
:INPUT ACCEPT [51:6450]
:OUTPUT ACCEPT [10:674]
:POSTROUTING ACCEPT [54:5475]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Fri Feb 26 15:28:35 2016
# Generated by iptables-save v1.4.21 on Fri Feb 26 15:28:35 2016
*filter
:INPUT ACCEPT [28:2069]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [15:2049]
-A INPUT -i tap0 -j ACCEPT
-A INPUT -i br0 -j ACCEPT
-A FORWARD -m physdev --physdev-is-bridged -j ACCEPT
-A FORWARD -i br0 -j ACCEPT
COMMIT
# Completed on Fri Feb 26 15:28:35 2016


Настроил клиента и кинул ключики (реальная машинка в офисе).
Подключение происходит без ошибок.
Получаю IP 192.168.200.100
Прекрасно пингую шлюз по внутреннему адресу (192.168.200.1), шлюз пингует меня.
Та же история между тестовой машинкой и шлюзом (192.168.200.2 <--> 192.168.200.1).

Но вот связи между мной и тестовой машиной нет.
Как и нет связи по OpenVPN от тестовой машины до меня.
Т.Е.
1) Нет пинга на тестовой машине до 192.168.200.100
2) Нет пинга на моей машине до 192.168.200.2
В обоих случаях говорит узел не доступен
Сетевые экраны выключены.

Подскажите куда копать?

Добавлено через 21 минуту
Во еще конфиг клиента:
C:\Program Files\OpenVPN\config\client.ovpn

Bash Скопировано
1
2
3
4
5
6
7
8
9
10
11
client
dev tap0
proto udp
remote 192.168.7.10 1794
persist-key
persist-tun
ca "C:\\Program Files\\OpenVPN\\config\\keys_hmp\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\keys_hmp\\client.crt"
key "C:\\Program Files\\OpenVPN\\config\\keys_hmp\\client.key"
comp-lzo
verb 3


Добавлено через 2 минуты
P.S.
На клиенте Windows.
Сетевой адаптер OVPN переименован в tap0
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.02.2016, 10:05
Ответы с готовыми решениями:

Получилось объединить удаленные сети через openvpn
Имеем. 4 удаленных друг от друга офиса организации от 10 до 20 компьютеров объединенных в локальную сеть. Каждый из них подключен к...

2 Офиса в одну сеть
Есть 2 офиса: 1 офис находится в городе А. 1 сервер и 6 компьютеров. Основная работа в 1С Предприятие &quot;Управление торговлей&quot;....

Удалённые предприятия соединить в одну сеть
На работе дали задание, соединить в одну сеть для отправки электронной почты. Расстояние между предприятиями от 2 до 5-6 км. Имеется только...

1
0 / 0 / 1
Регистрация: 23.01.2015
Сообщений: 8
10.03.2016, 11:19 2
Форвардинг не забыл?
Цитата Сообщение от http://itblog.su/vklyuchaem-ip-forwarding-v-linux.html
Проверить включен ли IP Forwarding можно так:
Bash Скопировано
1
2
sysctl net.ipv4.ip_forward
cat /proc/sys/net/ipv4/ip_forward
Включить можно так (действовать будет до перезагрузки):
Bash Скопировано
1
sysctl -w net.ipv4.ip_forward=1
или
Bash Скопировано
1
echo 1 > /proc/sys/net/ipv4/ip_forward
Или жётско включить (действовать будет и после перезагрузки):
Bash Скопировано
1
2
# grep forward /etc/sysctl.conf
net.ipv4.ip_forward = 1
В RedHat подобных:
Bash Скопировано
1
2
# grep -i forward /etc/sysconfig/network
FORWARD_IPV4=true
в Debian (Ubuntu):
Bash Скопировано
1
2
# grep -i forward /etc/network/options
ip_forward=yes
После правки конфигов (перманентное включение) необходимо перезапустить сеть. например,
Bash Скопировано
1
/etc/init.d/network restart
Note that: В OpenVPN используется первый способ (изменение на лету), это прописано в стартап
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.03.2016, 11:19
Помогаю со студенческими работами здесь

Как объединить компы в локальную сеть в такой ситуации? (adsl модем и интернет центр zyxel)
На 2 компах есть только интернет, можно ли объединить их в 1 локальную сеть?

Сеть и IPTV (bridge) через 1 кабель (VLAN?)
Добрый день! Нарисовалась задачка: В доме есть серверная, куда приходить кабель от *провайдера (RT), по оптоволокну (PON). Дальше...

Объединить Mikrotik и TP-Link в одну сеть
Доброго времени суток всем. В общем имеется Mikrotik RB951 и TP-Link 4300. Интернет приходит в микротик в ether1, он раздает его по всем...

Как объединить LAN и wi-fi в одну сеть?
Врем доброго дня. Возникла проблема прошу вашей помощи. Есть модем (DSL_2640NRU v1.0.10) к которому подключены 2 пк через LAN. Есть...

Объединить все сервера филиалов в одну сеть
Интересует такой вопрос, как можно объединить 7 филиалов в одну сеть, филиалы по разным городам, и подключение к инету у каждого филиала...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Осваиваем Kubernetes: Подробная шпаргалка
Mr. Docker 15.03.2025
Kubernetes — это открытая платформа для автоматизации развертывания, масштабирования и управления контейнеризированными приложениями. Он был создан для решения проблем, с которыми сталкиваются. . .
Лучшие PHP REST API фреймворки
Jason-Webb 15.03.2025
Современные PHP REST API фреймворки предлагают большой набор функциональности: от автоматической валидации данных и управления маршрутизацией до генерации документации и интеграции с различными. . .
Многопоточность в Java с Project Loom: виртуальные или обычные потоки
Javaican 15.03.2025
Многопоточность всегда была одноим из основных элементов в разработке современного программного обеспечения. Она позволяет приложениям обрабатывать несколько задач одновременно, что критично для. . .
Что нового в Swift 6 и особенности миграции
mobDevWorks 15.03.2025
Swift 6 — это новый крупный релиз языка программирования от Apple, анонсированный на WWDC 2024. Если вы следили за эволюцией Swift, то наверняка заметили, что многие значимые возможности, которые. . .
Вопросы на собеседовании по Android
mobDevWorks 14.03.2025
По данным статистики, Android занимает более 70% мирового рынка мобильных операционных систем, что делает платформу привлекательной как для начинающих разработчиков, так и для опытных профессионалов. . . .
Лучшие игровые движки для Python
py-thonny 14.03.2025
Python обеспечивает разработчиков игр мощными движками и фреймворками, которые позволяют воплотить практически любую идею — от простой аркады до визуального романа с разветвленным сюжетом. Главное. . .
Бессерверный JavaScript: Разработка масштабируемых API с AWS Lambda
run.dev 14.03.2025
Но что такое бессерверные вычисления на самом деле? По сути, это модель облачных вычислений, где разработчик фокусируется исключительно на создании бизнес-логики, не тратя время на настройку. . .
Безопасность кода в C++26: Менеджеры ресурсов и висячие ссылки
NullReferenced 14.03.2025
C++ всегда был языком, предоставляющим разработчикам большие возможности и гибкость, но вместе с тем требующим ответственности. Одной из самых коварных проблем даже для опытных программистов остаются. . .
smart-agent proper interface settings (2025)
jigi33 14.03.2025
Smart-agent proper interface settings (mart 2025). (see screenshots to look at "Etalon" ARM)
Продвинутые настройки JVM
Javaican 14.03.2025
Стандартные параметры запуска JVM хороши для повседневной разработки, но совершенно недостаточны для высоконагруженных систем. Представьте, что вы запускаете финансовую платформу, обрабатывающую. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер