Форум русскоязычного сообщества Ubuntu


Автор Тема: OpenVPN, NAT, и сеть за сервером.  (Прочитано 1770 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн lumen_xp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
OpenVPN, NAT, и сеть за сервером.
« : 04 Март 2012, 08:12:50 »
Прочитав тему https://forum.ubuntu.ru/index.php?topic=146868.0 (к сожалению, там уже нельзя ответить) я попробовал реализовать предложенное там. Не помогло.
Структура сети изображена на рисунке во вложении.
Порт 22 и 1194 проброшен через длинк 100 на сервер с debian. Коннект от виндового клиента проходит, но вот беда, не видно сеть за сервером. Понятно что для локальной сети шлюзом по умолчанию выступает 192.168.0.1. При этом tun0 интерфейс не пингуется из внутренней сети, его пингует только клиент 192.168.1.6.
Форвардинг включен. Правила прописаны как указано http://www.netlly.ru/index.php?option=com_content&view=article&id=21&Itemid=28.
В разделе 1.6 Other Configuration файервольного скрипта добавляем параметры:
OPENVPN_IFACE="tun+"
OPENVPN_PORT="1194"
4.1.3 Create content in userspecified chains
--- UDP Ports:
$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port $OPENVPN_PORT -j ACCEPT
4.1.4 INPUT chain --- Rules for special networks not part of the Internet:
$IPTABLES -A INPUT -p ALL -i $OPENVPN_IFACE -j ACCEPT
4.1.5 FORWARD chain --- Accept the packets we actually want to forward:
$IPTABLES -A FORWARD -i $OPENVPN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -o $OPENVPN_IFACE -j ACCEPT
4.1.6 OUTPUT chain --- Special OUTPUT rules to decide which IP's to allow:
$IPTABLES -A FORWARD -i $OPENVPN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -o $OPENVPN_IFACE -j ACCEPT
Что не так и что упускаю, подскажите пожалуйста, может у кого то была реализована аналогичная схема.
Какие маршруты необходимо прописать?

Оффлайн AlDemin

  • Участник
  • *
  • Сообщений: 105
    • Просмотр профиля
Re: OpenVPN, NAT, и сеть за сервером.
« Ответ #1 : 04 Март 2012, 18:54:11 »
Проблема в том, что туннель приходит не на "шлюз по умолчанию". и другие машины о нем не знают.
Вариантов несколько:
1. Прописать всем остальным машинам маршрут к 192.168.1.0/24 через 192.168.0.104
2. Может прокатить если такой маршрут прописать в длинк.
3. На VPN-е проSNATить 192.168.1.6 в 192.168.0.104, но тогда если будет нужен доступ из сетки к 192.168.1.6 придётся пробрасывать порты.

Оффлайн slech

  • Любитель
  • *
  • Сообщений: 72
    • Просмотр профиля
Re: OpenVPN, NAT, и сеть за сервером.
« Ответ #2 : 05 Март 2012, 01:29:15 »
Цитировать
2. Может прокатить если такой маршрут прописать в длинк.
Именно так мы и поступали когда использовали OpenVPN.
Главное что бы D-link позволял прописывать статические маршруты - другая наша моделька не позволяла и приходилось всем желающим маршруты прописывать локально.

Т.е. для тестов пропишите маршрут 102 до 1.6 через 0.104
192.168.0.102
route add 192.168.1.0 mask 255.255.255.0 192.168.0.104
192.168.1.6
route add 192.168.0.0 mask 255.255.255.0 192.168.1.1
мы клиентам OpevVPN маршруты прописывали сразу при установлении соединения, т.е. ручками им ничего не приходилось делать.

Сами используем вс ещё сеть 192.168.0.0/24 на работе, и уже убеждались какая это плохая идея.
Что-нибудь типа 192.168.22.0/24 будет неплохо.

Оффлайн lumen_xp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Re: OpenVPN, NAT, и сеть за сервером.
« Ответ #3 : 05 Март 2012, 21:30:45 »
Еще пара вопросов:
Что указать в конфиге сервера в разделе route?
# маршрут для сервера, чтобы видеть сети 10.32.10.x
# однако, чтобы клиенты из этой подсети видели сеть за сервером, необходимо прописать
# разрешающее правило для самого клиента в директории ccd
route 10.32.10.0 255.255.255.0 192.168.1.6
#Хотя сервер и так видит ту сеть, так что думаю в этом правиле нет необходимости
Далее по поводу ccd
# маршрут для клиента client1, чтобы видеть сеть за сервером, т.е. 192.168.0.0/24
push "route 192.168.0.0 255.255.255.0"
# Правило, разрешающее работу клиентов из сети 10.32.10.0/24 с сетью за vpn-сервером.
iroute 10.32.10.0 255.255.255.0
#Собственно все взято из готовых конфигов, есть подозрение что последняя строчка не нужна, т.к. будут только клиенты

Ну и по поводу iptables, что же все таки необходимо прописать, что то я запутался

-A INPUT -s 192.168.1.0/24 -i tun0 -j open_vpn #Jump на цепочку OpenVPN
-A FORWARD -d 192.168.1.0/24 -o tun0 -j open_vpn #Jump на цепочку OpenVPN
-A FORWARD -s 192.168.1.0/24 -i tun0 -j open_vpn #Jump на цепочку OpenVPN
-A OUTPUT -d 192.168.1.0/24 -o tun0 -j open_vpn #Jump на цепочку OpenVPN

-A open_vpn -d 192.168.0.0/24 -i tun0 -j ACCEPT
-A open_vpn -s 192.168.0.0/24 -o tun0 -j ACCEPT


Оффлайн AlDemin

  • Участник
  • *
  • Сообщений: 105
    • Просмотр профиля
Re: OpenVPN, NAT, и сеть за сервером.
« Ответ #4 : 05 Март 2012, 21:41:30 »
У тебя клиенты - одиночные хосты или с нагрузкой в виде локальной сети?
А по поводу iptables, если у тебя там ничего до этого не было,то ничего и не надо прописывать.

Оффлайн lumen_xp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Re: OpenVPN, NAT, и сеть за сервером.
« Ответ #5 : 05 Март 2012, 21:43:36 »
Одиночные хосты.
Те айпишники, что я указал - это на тестовом стенде железки. В перспективе в инет все выставить придется, но к сожалению NAT останется.

Оффлайн AlDemin

  • Участник
  • *
  • Сообщений: 105
    • Просмотр профиля
Re: OpenVPN, NAT, и сеть за сервером.
« Ответ #6 : 05 Март 2012, 21:50:06 »
Цитировать
Одиночные хосты.
push "route 192.168.0.0 255.255.255.0"
Этого одиночному клиенту достаточно, чтоб видеть сеть за сервером.

Оффлайн AlDemin

  • Участник
  • *
  • Сообщений: 105
    • Просмотр профиля
Re: OpenVPN, NAT, и сеть за сервером.
« Ответ #7 : 07 Март 2012, 00:22:48 »
Если вариант с маршрутом в длинке работает,
то на компе с VPN сервером я бы рекомендовал добавить такой маршрут:
ip route add blackhole 192.168.1.0/24 metric 1000
что предотвратит зацикливание трафика при пропадании туннеля.

Оффлайн lumen_xp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Re: OpenVPN, NAT, и сеть за сервером.
« Ответ #8 : 07 Март 2012, 06:29:02 »
Спасибо за ответы, пока нет времени протестировать.
А длинк 100 вроде не умеет такое делать, только на WAN можно маршруты прописать.

Оффлайн thunderamur

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6747
  • Ubuntu 16.04
    • Просмотр профиля
Re: OpenVPN, NAT, и сеть за сервером.
« Ответ #9 : 25 Июль 2012, 16:01:02 »
товарищи, помогите решить задачу https://forum.ubuntu.ru/index.php?topic=197697.msg1491235#msg1491235

 

Страница сгенерирована за 0.063 секунд. Запросов: 25.