LINUX.ORG.RU
ФорумAdmin

OpenVPN доступ к сети за клиентом.


0

1

Всех приветствую. Помогите с настройкой openvpn сервера или хотя бы ткнуть, куда смотреть. Есть сервер с поднятым openvpn на Ubuntu 12.04 в локальной сети компании (192.168.1.0/24) за маршрутизатором (за NAT), с одним сетевым интерфейсом eth0. На маршрутизаторе статический ip провайдера. И есть клиент на Windows машине в другом офисе, локальная сеть (192.168.2.0/24) тоже находиться за маршрутизатором. Удалось настроить подключение с клиента к серверу.С клиента вижу всю сеть за сервером, с сервера сеть за клиентом не пингуется. Теперь два вопроса: 1.Как настроить доступ из сети за сервером (192.168.1.0/24) в сеть клиента (192.168.2.0/24)? 2.И как организовать доступ со всех компьютеров из подсети клиента к сети за сервером. В данный момент только с клиентской машины доступны ресурсы за сервером?

Файл server.conf

port 1194

proto udp

dev tun

ca ca.crt

cert server.crt

key server.key

dh dh1024.pem

server 10.8.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

push «route 192.168.1.0 255.255.255.0»

keepalive 20 120 comp-lzo

user nobody

group nogroup

persist-key

persist-tun log-append openvpn.log

status openvpn-status.log

verb 3

push «redirect-gateway def1»

client-to-client

client-config-dir /etc/openvpn/ccd

route 192.168.2.0 255.255.255.0

push «dhcp-option DNS 8.8.8.8»

push «dhcp-option DNS 213.134.192.18»

Файл ccd клиента

iroute 192.168.2.0 255.255.255.0

Файл client.ovpn

client

dev tun

persist-key

persist-tun

nobind

comp-lzo

proto udp

remote 94.230.7.83 1194

ca ca.crt cert test1.crt key test1.key

verb 1

resolv-retry infinite pull

suppress-timestamps

Маршрутизация в /etc/rc.local

iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Ну без конфига можно ткнуть только в наиболее типовой вариант. На сервере:

route 192.168.2.0 255.255.255.0 vpn_gateway

И если dev tap, то в конфе ccd:

iroute 192.168.2.0 255.255.255.0

Или topology subnet Не работает iroute в ccd openvpn

nstorm ()

LORCODE для оформления постов, чтобы логи/конфиги не через строчку были, а нормальным текстом.

Судя по описанию задачи ни клинет, ни сервер не являются шлюзом по умолчанию для компьютеров своих сетей. Поэтому на всех компах в сети сервера нужно прописывать маршрут к 192.168.2.0/24 через ip-адрес сервера и аналогично маршрут к 192.168.1.0/24 для сети клиента.

И я вобще не знаю, сможет ли винда с openvpn-клиентом маршрутизировать пакеты. Но, думаю что вам нужно изучить что такое маршрутизация ip-пакетов в теории, и с помощью дампов tcpdump/wireshark проверить знания на практике.

mky ★★★★★ ()
Ответ на: комментарий от mky

Подправил немного конфиги.
server.conf
proto udp dev tun port 1194 mode server server 10.8.0.0 255.255.255.0 ca ca.crt cert server.crt key server.key dh dh1024.pem user nobody group nogroup ifconfig-pool-persist ipp.txt push "route 192.168.1.0 255.255.255.0" # ofice push "route 10.8.0.0 255.255.255.0" #vpn keepalive 10 60 ping-timer-rem persist-key persist-tun comp-lzo log-append openvpn.log status openvpn-status.log verb 3 push "redirect-gateway def1 bypass-dhcp" client-to-client client-config-dir /etc/openvpn/ccd # Тут будут настройки для каждого филиала #route 192.168.0.0 255.255.255.0 10.8.0.5 # Маршрут от сервера до филиала 1 route 192.168.2.0 255.255.255.0 10.8.0.4 # Маршрут от сервера до филиала 2 #route 192.168.8.0 255.255.255.0 10.8.0.6 # Маршрут от сервера до филиала 3 #route 192.168.10.0 255.255.255.0 10.8.0.7 # Маршрут от сервера до филиала 4 push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 213.134.192.18"

client.conf
client dev tun persist-key persist-tun nobind comp-lzo proto udp remote x.x.x.x 1194 ca ca.crt cert test2.crt key test2.key user nobody group nogroup verb 1 resolv-retry infinite pull keepalive 10 60 suppress-timestamps

ccd конфиг клиента
iroute 192.168.2.0 255.255.255.0

route -n на сервере
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0 10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0 10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.2.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0

route print на клиенте
0.0.0.0 0.0.0.0 192.168.2.1 192.168.2.30 25 0.0.0.0 128.0.0.0 10.8.0.9 10.8.0.10 30 10.8.0.0 255.255.255.0 10.8.0.9 10.8.0.10 30 10.8.0.8 255.255.255.252 On-link 10.8.0.10 286 10.8.0.10 255.255.255.255 On-link 10.8.0.10 286 10.8.0.11 255.255.255.255 On-link 10.8.0.10 286 x.x.x.x 255.255.255.255 192.168.2.1 192.168.2.30 25 127.0.0.0 255.0.0.0 On-link 127.0.0.1 306 127.0.0.1 255.255.255.255 On-link 127.0.0.1 306 127.255.255.255 255.255.255.255 On-link 127.0.0.1 306 128.0.0.0 128.0.0.0 10.8.0.9 10.8.0.10 30 192.168.1.0 255.255.255.0 10.8.0.9 10.8.0.10 30 192.168.2.0 255.255.255.0 On-link 192.168.2.30 281 192.168.2.1 255.255.255.255 192.168.2.1 192.168.2.30 25 192.168.2.30 255.255.255.255 On-link 192.168.2.30 281 192.168.2.255 255.255.255.255 On-link 192.168.2.30 281 224.0.0.0 240.0.0.0 On-link 127.0.0.1 306 224.0.0.0 240.0.0.0 On-link 10.8.0.10 286 224.0.0.0 240.0.0.0 On-link 192.168.2.30 281 255.255.255.255 255.255.255.255 On-link 127.0.0.1 306 255.255.255.255 255.255.255.255 On-link 10.8.0.10 286 255.255.255.255 255.255.255.255 On-link 192.168.2.30 281

Да, шлюзами они не являются. Какие еще маршруты нужно прописать на сервере, чтобы с него пинговалась сеть за клиентом?

stampidu ()
Ответ на: комментарий от mky

Да вы правы. Поставил клиент на Ubuntu все забегало. Сети видят друг друга. Буду копать тогда маршрутизацию на Windows клиенте.

stampidu ()
Ответ на: комментарий от stampidu

Вылезла новая проблема. Сети стали видны только с клиентского компьютера и с компьютера, на котором поставлен openvpn сервер. С компьютера же из подсети 192.168.2.0/24 не пингуются ресурсы в сети 192.168.1.0/24, но пингуется сам сервер. Тоесть, с компьютера из сети 192.168.2.0/24 (там где запущен клиент openvpn) пингуется сервер openvpn по адресу 192.168.1.55, остальные же ресурсы из подсети 192.168.1.0/24 не пингуются. На сервере openvpn открыл все для проверки (добавил в файл /etc/rc.local правила: iptables -P INPUT ACCEPT; iptables -P OUTPUT ACCEPT; iptables -P FORWARD ACCEPT). Но ситуация не изменилась. Почему сервер openvpn не пропускает трафик в локальную сеть. Обратная ситуация такая же (с клиентов из локальной сети 192.168.1.0/24 не пингуется сеть 192.168.2.0/24, только клиент с адресов 192.168.2.32)?

stampidu ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.