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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Объединение двух офисов через VPN канал  (Прочитано 6013 раз)

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

Оффлайн monty

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
  • ubuntu 10.04 LTS
    • Просмотр профиля
Здравствуйте!

Есть два офиса.

Офис №1:
==============================================
IP_INET: 212.12.1.1;
IP_LAN: 192.168.1.1;
LOCAL_IP_RANGE: 192.168.1.0/255.255.255.0;


Офис №2:
==============================================
IP_INET: 212.12.120.1;
IP_LAN: 192.168.2.1;
LOCAL_IP_RANGE: 192.168.2.0/255.255.255.0;

Стоит тривиальная задача - объединить две сети таким образом, чтобы пользователи одной сети могли обмениваться информацией (сетевые принтеры, файловые шары) с пользователями другой, и наоборот.

В качестве VPN выбираем OpenVPN. Жлюзы на обоих сетях - Debian. Ниже приведены конфиги сервера и клиента.

Сервер:

# [NETWORK SETTINGS]

port 2000
proto tcp
dev tun0

# [KEYS PATCH]

ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh2048.pem

# [ROUTE]

server 192.168.255.0 255.255.255.0
route 192.168.2.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"

# [COMPRESS TRAFIC]

comp-lzo

# [SECURITY]

#max-clients 7

# [PACKET SETTINGS]

cipher BF-CBC
keepalive 10 60

# [LOG]

status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 3

Клиент:

dev tun1
proto tcp
remote 212.12.1.1
port 2000
client

ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/client.crt
key /etc/openvpn/keys/client.key
dh /etc/openvpn/keys/dh2048.pem

comp-lzo

cipher BF-CBC

verb 3
log /var/log/openvpn/openvpn.log

Не пойму, почему пользователи второй сети (192.168.2.0/24) видят компьютеры первой (192.168.1.0/24), а первые вторую - не видят. Где я ошибся (ошибка глупая, но где...)? iptables (временно) стоит в режиме разрешено всё на обоих шлюзах.

Заранее спасибо за помощь...

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Объединение двух офисов через VPN канал
« Ответ #1 : 21 Декабря 2011, 02:42:25 »
tracepath, ping в обе стороны, по имени и адресу.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Объединение двух офисов через VPN канал
« Ответ #2 : 21 Декабря 2011, 10:21:02 »
push на сервере может не отработать на клиенте без pull

Оффлайн monty

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
  • ubuntu 10.04 LTS
    • Просмотр профиля
Re: Объединение двух офисов через VPN канал
« Ответ #3 : 22 Декабря 2011, 01:00:33 »
tracepath, ping в обе стороны, по имени и адресу.

Подсеть 192.168.1.0/24 находится за VPN-сервером, подсеть 192.168.2.0/24 за VPN-клиентом.

Запускаем пинг с VPN-клиента на машину внутри сети 192.168.1.0/24:

proxy:/etc/openvpn# ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
64 bytes from 192.168.1.2: icmp_seq=1 ttl=127 time=5.09 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=127 time=26.3 ms
64 bytes from 192.168.1.2: icmp_seq=3 ttl=127 time=81.9 ms
64 bytes from 192.168.1.2: icmp_seq=4 ttl=127 time=35.2 ms
64 bytes from 192.168.1.2: icmp_seq=5 ttl=127 time=10.3 ms
64 bytes from 192.168.1.2: icmp_seq=6 ttl=127 time=11.5 ms
64 bytes from 192.168.1.2: icmp_seq=7 ttl=127 time=26.3 ms
^C
--- 192.168.1.2 ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 6024ms
rtt min/avg/max/mdev = 5.096/28.126/81.990/24.134 ms

Tracepath на 192.168.1.2:

proxy:/etc/openvpn# tracepath 192.168.1.2
 1:  192.168.255.6 (192.168.255.6)                          0.149ms pmtu 1500
 1:  192.168.255.1 (192.168.255.1)                          5.774ms
 1:  192.168.255.1 (192.168.255.1)                          6.283ms
 2:  192.168.1.2 (192.168.1.2)                              7.059ms reached
     Resume: pmtu 1500 hops 2 back 127


Теперь тоже самое, но уже при работе с VPN-сервера.
Запускаем пинг в сторону машины, находящейся за VPN-клиентом.

root@proxy:/etc/openvpn# ping 192.168.2.3
PING 192.168.2.3 (192.168.2.3) 56(84) bytes of data.
^C
--- 192.168.2.3 ping statistics ---
20 packets transmitted, 0 received, 100% packet loss, time 19152ms

Tracepath на 192.168.2.3 с VPN-сервера:

root@proxy:/etc/openvpn# tracepath 192.168.2.3
 1:  192.168.255.1                                         0.212ms pmtu 1500
 1:  no reply
 2:  no reply
 3:  no reply
 4:  no reply
 5:  no reply
 6:  no reply
 7:  no reply
 8:  no reply
 9:  no reply
10:  no reply
11:  no reply
12:  no reply
13:  no reply
14:  no reply

То есть машины за VPN-клиентом видят сеть, которая расположена за VPN-сервером. Обратная ситуация не верна.

Маршруты машины VPN-сервера:

root@proxy:/etc/openvpn# ip ro sh
192.168.255.2 dev tun0  proto kernel  scope link  src 192.168.255.1
192.168.2.0/24 via 192.168.255.2 dev tun0
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.1
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.2
192.168.255.0/24 via 192.168.255.2 dev tun0
default via 192.168.0.1 dev eth0

Добавление команды pull в конфигурационный файл клиента, проблему не решила...

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Объединение двух офисов через VPN канал
« Ответ #4 : 22 Декабря 2011, 09:55:23 »
sudo iptables-save

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Объединение двух офисов через VPN канал
« Ответ #5 : 22 Декабря 2011, 12:33:44 »
sudo iptables-save
С обоих сторон, да.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн monty

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
  • ubuntu 10.04 LTS
    • Просмотр профиля
Re: Объединение двух офисов через VPN канал
« Ответ #6 : 27 Декабря 2011, 00:25:34 »
eth0 - интерфейс в мир;
eth1 - интерфейс в локалку;
tun+ - интерфейс VPN;

Настройки файрволла на

1. Сервере VPN

# Generated by iptables-save v1.4.8 on Tue Dec 27 00:47:03 2011
*mangle
:PREROUTING ACCEPT [4152:3691565]
:INPUT ACCEPT [324:29159]
:FORWARD ACCEPT [3828:3662406]
:OUTPUT ACCEPT [246:34942]
:POSTROUTING ACCEPT [4074:3697348]
COMMIT
# Completed on Tue Dec 27 00:47:03 2011
# Generated by iptables-save v1.4.8 on Tue Dec 27 00:47:03 2011
*nat
:PREROUTING ACCEPT [25:3068]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [2:168]
-A POSTROUTING -o eth0 -j MASQUERADE
-A POSTROUTING -o tun+ -j MASQUERADE
COMMIT
# Completed on Tue Dec 27 00:47:03 2011
# Generated by iptables-save v1.4.8 on Tue Dec 27 00:47:03 2011
*filter
:INPUT ACCEPT [324:29159]
:FORWARD ACCEPT [3828:3662406]
:OUTPUT ACCEPT [245:34834]
COMMIT
# Completed on Tue Dec 27 00:47:03 2011

2. На клиенте
# Generated by iptables-save v1.4.2 on Tue Dec 27 00:39:04 2011
*mangle
:PREROUTING ACCEPT [11230070:3560420891]
:INPUT ACCEPT [6223780:2374204300]
:FORWARD ACCEPT [4872093:1146153558]
:OUTPUT ACCEPT [6006479:1647670457]
:POSTROUTING ACCEPT [10878572:2793824015]
COMMIT
# Completed on Tue Dec 27 00:39:04 2011
# Generated by iptables-save v1.4.2 on Tue Dec 27 00:39:04 2011
*nat
:PREROUTING ACCEPT [522100:61125314]
:POSTROUTING ACCEPT [19:1199]
:OUTPUT ACCEPT [103857:6372230]
-A POSTROUTING -o eth0 -j MASQUERADE
-A POSTROUTING -o tun+ -j MASQUERADE
COMMIT
# Completed on Tue Dec 27 00:39:04 2011
# Generated by iptables-save v1.4.2 on Tue Dec 27 00:39:04 2011
*filter
:INPUT ACCEPT [454:93595]
:FORWARD ACCEPT [3:164]
:OUTPUT ACCEPT [462:188310]
-A FORWARD -i tun+ -j ACCEPT
-A FORWARD -o tun+ -j ACCEPT
COMMIT
# Completed on Tue Dec 27 00:39:04 2011

Где же я туплю? ...
« Последнее редактирование: 27 Декабря 2011, 00:49:41 от monty »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Объединение двух офисов через VPN канал
« Ответ #7 : 27 Декабря 2011, 01:06:59 »
-A POSTROUTING -o eth0 -j MASQUERADE
-A POSTROUTING -o tun+ -j MASQUERADE

Тут.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн monty

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
  • ubuntu 10.04 LTS
    • Просмотр профиля
Re: Объединение двух офисов через VPN канал
« Ответ #8 : 28 Декабря 2011, 00:32:46 »
Не совсем понял...Если не трудно разъясните. Заранее спасибо

Оффлайн ivsatel

  • Активист
  • *
  • Сообщений: 336
    • Просмотр профиля
Re: Объединение двух офисов через VPN канал
« Ответ #9 : 28 Декабря 2011, 17:21:46 »
Направление маскарадинга, если можно так выразиться. Скорее всего AnrDaemon указывает на то что нужно четко указать что маскарадить и откуда, к примеру:
iptables -t nat -A POSTROUTING -i eth1 -o eht0 -j MASQUERADEили так:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADEИ там и там источником является локаль.
Если я правильно понял. Может и ошибаюсь)

Исправил)
« Последнее редактирование: 28 Декабря 2011, 18:14:30 от ivsatel »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Объединение двух офисов через VPN канал
« Ответ #10 : 28 Декабря 2011, 18:09:00 »
Именно. Только -s адрес либо -i интерфейс, а не так, как вы пишите. (некоторые реализации iptables вас, конечно. поймут и подставят адрес интерфейса, но делать так всё таки не стоит).
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн iceteeblackman

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Объединение двух офисов через VPN канал
« Ответ #11 : 25 Июля 2013, 19:18:35 »
Господа подскажите пожалуйста, у меня такая же проблема, точ в точ, тока не могу разобраться, указал на VPN клиенте правила iptables:
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
Сразу локаль за VPN сервером началась видется, все пингуется... Заходит видит шары...
Прописал на VPN сервере такую же строчку:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
Но локаль 192.168.2.0/24 не вижу...
В чем проблема? Заранее спасибо...

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Объединение двух офисов через VPN канал
« Ответ #12 : 26 Июля 2013, 01:14:12 »
В маршрутизации. Правила форума читайте.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

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