Войти

Показать полную графическую версию : [решено] Связать три филиала по Openvpn


Страниц : 1 [2]

MakaBooka
09-09-2014, 15:05
/etc/openvpn/ccd/fil1 »
"fil1" где-то в конфигах ещё фигурирует?

CJ F.A.N.
09-09-2014, 20:01
"fil1" где-то в конфигах ещё фигурирует? »
все конфиги, которые выложил, они и есть, больше нет, только конфиг клиента есть, но значения он ведь не имеет.
А насколько я вижу, более нигде не фигурирует

CJ F.A.N.
10-09-2014, 10:32
Сам отвечу. Дело в моей невнимательности. Приведу ниже рабочие конфиги и краткий отчет.
server.conf
# cat server.conf
mode server
script-security 3 system
port 9375
proto tcp
dev tap
tun-mtu 1200
client-config-dir /etc/openvpn/ccd
push "route 192.168.3.0 255.255.255.0"
route 192.168.2.0 255.255.255.0
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.8.0.0 255.255.255.0

ifconfig-pool-persist /etc/openvpn/ipp.txt
keepalive 10 120
persist-key
persist-tun
status openvpn-status.log
log /var/log/openvpn.log
tls-auth ta.key 0
client-to-client
cipher DES-EDE3-CBC
verb 3
up /usr/sbin/openvpn_route.sh
user nobody
group nogroup

Скрипт openvpn_route.sh, выполняемый после запуска устройства TUN/TAP:
# cat /usr/sbin/openvpn_route.sh
route add -net 192.168.2.0/24 gw 10.8.0.8

Конфиг клиента:
# cat client.conf
client
dev tap
proto tcp
remote ip_адрес_vpn_сервера порт_сервера
mssfix

resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/fil1.crt
key /etc/openvpn/fil1.key
ns-cert-type server
tls-auth /etc/openvpn/ta.key 1
cipher DES-EDE3-CBC
verb 3

Теперь все работает. Что я сделал: я добавил в конфиг сервера опцию script-security 3 system, которая позволяет исполнять сторонние скрипты, а также строчку up /usr/sbin/openvpn_route.sh (скрипт). Теперь после запуска устройства TUN/TAP отрабатывает мой скрипт, создающий маршрут в сеть 192.168.2.0 через шлюз, который получает ip 10.8.0.8 от VPN сервера. При остановке устройства TUN/TAP маршрут автоматически удаляется. это реализовано средствами Openvpn, видимо. И еще, обязательно, надо,, чтобы подсети были разные. Если IP в организации менять - невозможно, можно просто добавить дополнительные IP на всех компьютерах, и соответственно на шлюзе тоже, в таком случае компьютеры будут доступны с двух (а при желании хоть с 10) подсетей. В общем, может быть кому-то понадобится этот топик=)

Rezor666
10-09-2014, 14:05
Соответственно, как я понимаю, когда он подключается, на сервере с Openvpn должен создаваться маршрут который мне нужен, но нет....... »
А имя точно совпадает с именем сертификата?
Что с маршрутами?
Есть ли ошибки в логах openvpn?

CJ F.A.N.
10-09-2014, 14:22
Rezor666, я же написал, что эту проблему уже решил) не подхватывался мой скрипт из-за того, что надо было sequrity level выставить правильный)

Rezor666
10-09-2014, 15:16
CJ F.A.N., это не правильно, зачем нужен скрипт если openvpn сам может добавлять маршруты?

MakaBooka
10-09-2014, 15:30
это чуть лучше, чем rc.local, но можно дожать :)

Rezor666
10-09-2014, 18:13
это чуть лучше »
Надо все делать красиво!

CJ F.A.N.
11-09-2014, 07:53
Rezor666, как тогда сделать, чтобы маршруты прописывались автоматом при запуске TUN\TAP ? Если не скриптом?
А еще лучше бы было сделать, чтобы при подключении конкретного пользователя прописывался конкретный маршрут до его сети (например до fil1 - 192.168.,2.0 ) ? А при отключении клиента маршрут удалялся

это вроде как делается в каталоге ccd, но как я не старался, ничего из того, что там прописано, не происходит (конфиг клиента выше есть).

Rezor666
11-09-2014, 10:36
как тогда сделать, чтобы маршруты прописывались автоматом при запуске TUN\TAP ? »
Для начала научиться читать что Вам писали.
А имя точно совпадает с именем сертификата?
Что с маршрутами?
Есть ли ошибки в логах openvpn? »
Или я похож на телепата?

CJ F.A.N.
12-09-2014, 11:41
Rezor666,
1) совпадает.
2)
таблица на сервере с openvpn
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
10.8.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tap0
172.16.0.84 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
192.168.2.0 10.8.0.8 255.255.255.0 UG 0 0 0 tap0
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
192.168.4.0 10.8.0.16 255.255.255.0 UG 0 0 0 tap0


таблица на филиале, которы подключается к Openvpn с сертификатом fil1
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 ip_шлюза_провайдера 0.0.0.0 UG 0 0 0 eth0
10.8.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tap0
83.146.113.0 0.0.0.0 255.255.255.128 U 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.3.0 10.8.0.1 255.255.255.0 UG 0 0 0 tap0
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

3) ошибок нет

CJ F.A.N.
29-09-2014, 13:08
Вроде все написал, но тишина.......) в общем, в принципе все работает, уже завязал почти все филиалы и площадки. Хочется, конечно, лучше и красивее, но боюсь уже что-то трогать, ибо куча народа работает через openvpn

Rezor666
30-09-2014, 09:46
1- Для начала я бы сменил тип устройства на tun
2- У Вас 3 сетки на одном интерфейсе?
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

и на 1 сервере тоже самое
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2

должно быть вот так
172.50.2.0 * 255.255.255.0 U 0 0 0 eth1
172.50.0.0 172.50.1.13 255.255.255.0 UG 0 0 0 tun0
172.50.1.0 172.50.1.13 255.255.255.0 UG 0 0 0 tun0

Вычистите все лишнии маршруты и потом пробуйте подключаться с опцией verb 5, и после этого логи в студию.

CJ F.A.N.
30-09-2014, 19:57
Rezor666, а чем обусловите именно использование tun? У меня так сложилось, что когда-то давно, когда только знакомился с Openvpn, я пытался tun использовать, работало, но хосты не пинговали друг друга, сменил на tap и заработало) Знаю, что что-то неправильно делал. Просто сейчас в спешке уже всех связал и отключение чревато потерей связи с сервером 1С =( в любом случае, Ваши советы учту и попробую, если не на реальной системе, то на виртуальных машинах. Спасибо!




© OSzone.net 2001-2012