Як налаштувати OpenVPN, щоб клієнти VPN мали доступ до всіх серверів всередині локальної мережі сервера?


12

IP-адреса мого сервера LAN - 192.168.1.1, а на 192.168.1.2 є інтранет-сервер на 192.168.1.2 Демон OpenVPN налаштований для надання клієнтам 192.168.2. * Адрес.

У push "route 192.168.1.0 255.255.255.0"конфігурації є рядок, який, як я очікую, дозволить клієнтам VPN отримати доступ до всієї мережі 192.168.1.0, але вони можуть отримати доступ лише до 192.168.1.1 - самого VPN-сервера.

Я спробував включення net.ipv4.ip_forward = 1в /etc/sysctl.confале це не допомагає.

Будь-які ідеї?

PS: Сервер працює на Ubuntu 12.04.
PPS: OpenVPN працює в tunрежимі над UDP.


Шановний @FrandsHansen, я приймаю лише відповіді, які водночас 1. є логічно правильними відповідями на питання, 2. були перевірені мною для роботи.
Іван

Відповіді:


19

Переконайтесь, що ip переадресація гостро включена

echo 1 > /proc/sys/net/ipv4/ip_forward

Крім того, для того, щоб маршрутизація працювала, сервери з внутрішньої сторони також повинні знати маршрут до IP-адреси вашого клієнта OpenVPN. Тож їм потрібно буде знати маршрут до 192.168.2.0/24

Ви, швидше за все, можете змусити iptables робити маршрутизацію за допомогою маскараду

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forwardдає -bash: /proc/sys/net/ipv4/ip_forward: Permission denied- що це означає в цьому випадку?
Іван

Швидше за все, це означає, що ви не робите це як root. Спробуйте зробити це як root
Frands Hansen

Це точно такий же ефект, як і для sudo. Яким має бути результат?
Іван

1
Якщо розмістити sudo перед командою, це не додасть привілеїв до файлу (після>), тому вам потрібно підняти до root і потім зробити це.
Frands Hansen

1
або використовуватиecho 1 | sudo tee
ygrek

2

Якщо ваша мережа LAN справді становить 192.168.1.0/24, то ви можете отримати багато проблем. Тому що більшість маршрутизаторів мають цю мережу за замовчуванням. Отже, коли ви перебуваєте в гостьовій мережі, ваш комп’ютер може отримати ip з мережі 192.168.1.0/24. Отже, Ви можете отримати доступ не до віддаленої мережі, а до гостьової. Я пропоную вибрати іншу мережу для вашої локальної мережі та VPN. наприклад, 192.170.15.0/24 для локальної мережі та 10.0.5.0/xx для vpn. xx залежить від того, скільки клієнтів vpn підключається до локальної мережі.

ось мій сценарій fw для openvpn

#!/bin/sh

iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A INPUT -i tap+ -j ACCEPT
iptables -A FORWARD -i tap+ -j ACCEPT

# Allow packets from private subnets
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -j ACCEPT

# i have multiple vpn networks
# 192.123.123.0/24 = LAN
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.9.0.0/30 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.9.1.0/30 -o eth1 -d 192.123.123.39 -j MASQUERADE # to single server access only

echo 1 > /proc/sys/net/ipv4/ip_forward

Ні, це не 192.168.1.0, а лише 2 різні 192.168. Дякую за відповідь.
Іван

Якщо вам потрібно, я можу поділитися конфігурацією сервера openvpn і конфігурацією клієнта.
Гунтіс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.