Инструкция может применяться для настройки Linux Ubuntu, Debian, CentOS версий 7 и 8.
Доступ к локальной сети через OpenVPN настраивается в несколько этапов:
Открываем на редактирование конфигурационный файл OpenVPN.
а) в Ubuntu / Debian / CentOS 7:
vi /etc/openvpn/server.conf
б) в CentOS 8:
vi /etc/openvpn/server/server.conf
И добавляем в него следующие строки:
push «route 172.16.10.0 255.255.255.0»
push «route 192.168.2.0 255.255.255.0»
* где 172.16.10.0 — VPN сеть; 192.168.2.0 — локальная сеть, в которую необходимо «попасть» пользователям openvpn.
При необходимости использовать DNS внутренней сети также добавим:
push «dhcp-option DNS 192.168.0.15»
push «dhcp-option DNS 192.168.0.16»
push «dhcp-option DOMAIN remontka.local»
* где 192.168.0.15 и 192.168.0.16 — внутренние DNS-серверы; remontka.local — домен, котоый будет добавляться к узлам, обращение к которым идет по неполному имени.
Перезагружаем сервис для применения настроек.
а) в Ubuntu / Debian / CentOS 7:
systemctl restart openvpn@server
б) в CentOS 8:
systemctl restart openvpn-server@server
Открываем на редактирование следующий файл:
vi /etc/sysctl.conf
и добавляем в него следующую строчку:
net.ipv4.ip_forward=1
Применяем настройки sysctl:
sysctl -p /etc/sysctl.conf
Создаем разрешение на перенаправление запросов:
iptables -t nat -I POSTROUTING -s 172.16.10.0/24 -j MASQUERADE
* где 172.16.10.0/24 — VPN сеть, которая назначается клиентам при подключении.
или:
iptables -t nat -I POSTROUTING -o tun0 -j MASQUERADE
* где tun0 — сетевой интерфейс, через который работает сеть VPN.
Сохраняем настройки iptables:
apt-get install iptables-persistent
netfilter-persistent save
Включаем маскарадинг для зоны:
firewall-cmd —permanent —zone=public —add-masquerade
* где public — зона, где находится сетевой интерфейс, который принимает запросы на подключение к OpenVPN.
Если на сервере используется один сетевой интерфейс, можно применять правила:
firewall-cmd —complete-reload
Иначе, добавим еще правила на FORWARD:
firewall-cmd —direct —permanent —add-rule ipv4 filter FORWARD 0 -i ens34 -o ens32 -j ACCEPT
firewall-cmd —direct —permanent —add-rule ipv4 filter FORWARD 0 -i ens32 -o ens34 -m state —state RELATED,ESTABLISHED -j ACCEPT
firewall-cmd —complete-reload
* в данном примере, ens32 — интерфейс для внешнего подключения (на него идут подключения к VPN-серверу); ens34 — внутреннего (интерфейс, который смотрит в локальную сеть).
Переподключаемся OpenVPN-клиентом. Проверяем, что необходимый маршрут появился в системе командой route print .
Если маршрут в нужную сеть есть, пробуем попинговать любой узел из внутренней сети, к которой мы должны были получить доступ.
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…