LINUX.ORG.RU
ФорумAdmin

Не могу увидеть сеть за клиентом

 


0

1

Здравствуйте! Я впервые на форуме поэтому уважаемые модераторы не ругайтесь если что-то не так.

Я делаю связку 1 сервер и множество клиентов у каждого клиента своя подсеть. Мне нужно за каждым клиентом при подключении OpenVpn увидеть его подсеть и все сетевое железо за ним располагающееся.

Железо:

центральный сервер - eth0 - внешний белый ip адрес, eth1 - смотрит в локальную сеть - 192.168.2.X, tun/tap - интерфейс 192.168.14.X

клиенты (у каждого уникальная подсеть, но в данном случае 70) - локальная сеть 192.168.70.X, tun/tap - интерфейс получает ip от сервера то что прописано в CCD 192.168.14.X

Конфиг сервера

mode server tls-server daemon port 1194 proto tcp-server dev tap ca keys/vpnserver/ca.crt cert keys/vpnserver/serveresil.crt key keys/vpnserver/serveresil.key dh keys/vpnserver/dh1024.pem ifconfig 192.168.14.1 255.255.255.0 crl-verify keys/vpnserver/crl.pem cipher DES-CBC status servers/openvpnserver/logs/openvpn-status.log log-append servers/openvpnserver/logs/openvpn.log verb 3 mute 20 max-clients 100 keepalive 10 120 client-config-dir /etc/openvpn/servers/openvpnserver/ccd comp-lzo client-to-client persist-key persist-tun push "route 192.168.14.0 255.255.255.0 192.168.14.1"

Конфиг клинта

client proto tcp dev tap ca ca.crt dh dh1024.pem cert admin_azs.crt key admin_azs.key remote XX.XX.XX.XX 1194 ns-cert-type server cipher DES-CBC verb 3 mute 20 keepalive 10 120 comp-lzo persist-key persist-tun float resolv-retry infinite nobind

Файл из папки CCD для текущего клиента

ifconfig-push 192.168.14.101 255.255.255.0 push "route 192.168.70.0 255.255.255.0 192.168.14.1" #iroute 192.168.70.0 255.255.255.255

Таким образом мне удалось добится пинга на 192.168.14.X подсеть в ту и другую сторону. А вот сеть сервера 192.168.2.X недоступна, а так же сеть за клиентом 192.168.70.X тоже не доступна.

В основном руководствовался вот этим рассказом

Ребята что не так делаю? Уже 2 дня мучаюсь ничего не понимаю что нужно еще сделать.

Маршруты до подсетей прописаны?

kravzo ★★
()

1. forwafding надо включить и на клиенте и на сервере

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

покажите вывод netstat -nr на сервере и на клиенте. Покажите ifconfig -a на сервере

samson ★★
()

должно быть что то вроде

ip route add 192.168.70.0/24 dev tunX via 192.168.14.X для сервера

ip route add 192.168.2.0/24 dev tunY via 192.168.14.1 для клиента

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

samson ★★
()
Последнее исправление: samson (всего исправлений: 1)
Ответ на: комментарий от samson

[root@localhost ~]# netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.14.0 0.0.0.0 255.255.255.0 U 0 0 0 tap0 XX.XX.XX.XX 0.0.0.0 255.255.255.0 U 0 0 0 eth1 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1 0.0.0.0 XX.XX.XX.XX 0.0.0.0 UG 0 0 0 eth1

[root@localhost ~]# ifconfig -a

eth0 Link encap:Ethernet HWaddr 00:0C:29:9F:CF:01 inet addr:192.168.2.113 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe9f:cf01/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1151981 errors:0 dropped:0 overruns:0 frame:0 TX packets:1934 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:102375719 (97.6 MiB) TX bytes:311569 (304.2 KiB)

eth1 Link encap:Ethernet HWaddr 00:0C:29:9F:CF:0B inet addr:XX.XX.XX.XX Bcast:XX.XX.XX.XX Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe9f:cf0b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1385037 errors:0 dropped:0 overruns:0 frame:0 TX packets:276257 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:139174972 (132.7 MiB) TX bytes:44184868 (42.1 MiB)

lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:82 errors:0 dropped:0 overruns:0 frame:0 TX packets:82 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:8464 (8.2 KiB) TX bytes:8464 (8.2 KiB)

tap0 Link encap:Ethernet HWaddr 3E:02:26:30:58:CF inet addr:192.168.14.1 Bcast:192.168.14.255 Mask:255.255.255.0 inet6 addr: fe80::3c02:26ff:fe30:58cf/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3800 errors:0 dropped:0 overruns:0 frame:0 TX packets:477 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:543760 (531.0 KiB) TX bytes:255952 (249.9 KiB)

posmetuhov
() автор топика
Ответ на: комментарий от samson

Да кстати забыл упомянуть что сервер на CentOS а клиенты виндовые.

forward на сервере сделаю не проблема а вот как на виндовых клиентах сделать forward?

posmetuhov
() автор топика
Ответ на: комментарий от kravzo

Я задам тупой вопрос. А как это, потому что не сильно разбираюсь в этом.

Конфиги правильные на сервере и клиенте?

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

Ну пинги от клиента до сервера ходят? Значит порядок. Теперь нужно объяснить им что до подсетей ходить нужно не через основной шлюз а через tap.

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

Да по внутреннему тунелю 192.168.14.XX пинги ходят во все стороны и на сервер и на клиента с сервера.

forwarding включил на сервере

[root@localhost ~]# sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1

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

Нужно указать серверу маршрут до подсети клиента, как было написано выше

ip route add 192.168.70.0/24 dev tunX via 192.168.14.X

или около того.

kravzo ★★
()

Уже 2 дня мучаюсь ничего не понимаю что нужно еще сделать.

2 дня мало. :) А по сути - каждый участник VPN должен быть маршрутизатором (ip_forward) и должны быть прописаны маршруты на сети и на сервере, и на клиентах.

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

Ребят подскажите как это сделать на виндовом клиенте, клиенты на винде

А почему openVPN не прописывает эти маршруты? Я же ему даю там всякие команды iroute, route и т.д

posmetuhov
() автор топика
Ответ на: комментарий от kravzo

Прописал по инструкции, теперь при пинге на клиента в сеть 192.168.70.XX выдает From 192.168.14.1 icmp_seq=8 Destination Host Unreachable

posmetuhov
() автор топика
Ответ на: комментарий от kravzo

если клиент имеет vpn addr 192.168.14.14 и за ним подсеть 192.168.70.0/24, то при поднятии соединения должен добавиться следющий маршрут на сервере:

ip route add 192.168.70.0/24 dev tun1 via 192.168.14.14
после этого сервер будет знать что в подсеть 70.0/24 надо идти через tun1, а не через default gw

а клиенту должен выдаться маршрут

192.168.2.0/24 via 192.168.14.1
и клиент тогда будет ходить в 2.0/24 через vpn а не через маршрут по умолчанию.

все это в конфиге openvpn надо описать, чтобы маршруты добавлялись и удалялиь автоматом

на счет форвардинга в винде - хз, может по умаолчанию есть, может включить где надо.

пробуйте сначала чтобы клиент увидел подсеть за сервером (2.0/24) тут forward на клиенте не нужен. А вот что бы увидеть сеть за клиентом с сервера, тут уже клиент становится маршрутизатором и надо включить прохождение транзитного трафика (ip_forwrding)

samson ★★
()
Последнее исправление: samson (всего исправлений: 2)
Ответ на: комментарий от samson

Добился пинга на сеть за клиентом 192.168.70.X

Вроде бы понятно все с маршрутами более менее. Теперь непонятно как это все дело в конфиге VPN прописать чтобы это все автоматом добавлялось и прописывалось.

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

Ребят подскажите как это сделать на виндовом клиенте, клиенты на винде

А с самого виндового клиента всё ОК?

А почему openVPN не прописывает эти маршруты?

Должен прописать. Но ещё нужно на сервере тоже до клиентских сетей прописать.

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

Добился пинга на сеть за клиентом 192.168.70.X

значит форвардинг на клиенте уже есть.

покажите вывод ip route list когда есть этот пиинг

маршрут на сервере до 192.168.70.0/24 добавляли вручную или через конфиги openvpn?

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

сейчаз происходит следующее. Добился пинга на 192.168.2.XX с клиентских машин

а вот когда пингуем виндовую машину (клиентскую) то получаю вот что From 192.168.14.100: icmp_seq=3 Redirect Network(New nexthop: 192.168.14.1)

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

[root@localhost ccd]# netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.101.0 192.168.15.101 255.255.255.0 UG 0 0 0 tap0 192.168.70.0 192.168.15.100 255.255.255.0 UG 0 0 0 tap0 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.15.0 0.0.0.0 255.255.255.0 U 0 0 0 tap0 XX.XX.XX.XX 0.0.0.0 255.255.255.0 U 0 0 0 eth1 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1 0.0.0.0 XX.XX.XX.XX 0.0.0.0 UG 0 0 0 eth1

posmetuhov
() автор топика
Ответ на: комментарий от turtle_bazon

сама машина не пингуется, пингуется шлюз этой машины 192.168.70.1 и пишется в консоле сервера то что я писал выше From 192.168.14.100: icmp_seq=3 Redirect Network(New nexthop: 192.168.14.1)

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

Я вот что подумал, может нужно все это дело было делать на tun интерфейсе? Че то в инетах пишут что он только маршрутизируется, а tap получает thernet-мост

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

[root@localhost ccd]# netstat -nr
192.168.101.0 192.168.15.101 255.255.255.0 UG 0 0 0 tap0
192.168.70.0 192.168.15.100 255.255.255.0 UG 0 0 0 tap0
192.168.15.0 0.0.0.0 255.255.255.0 U 0 0 0 tap0

чет не то тут. Сколько клиентов подключено, с какими адресами?

покажите одновременно вывод команд

ip route list
ip addr show

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

Можешь картинку сети нарисовать? Т.е. пингуется только шлюз, но не пингуется VPN адрес? Тогда что-то совсем неладно с маршрутами.

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

Нет, в данном случае не влияет. Это tun будет только маршрутизоваться, без L2. Тап же это и L2, и L3. Т.е. tun немного «обрубочнее» tap. Лично у меня всё на tap сделано.

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

Итак, ребята вот картинка «придумываемой» сети: Картинка

Задача чтобы точно такой же клиент мог смотреть регистраторы других клиентов, ЛИБО чтобы из подсети 192.168.2.XX увидеть подсети за клиентами 70, 71 и т.д.

Выкладываю конфиги. Конфиг сервера

mode server
tls-server
daemon
port 1194
proto tcp-server
dev tap
ca keys/vpnserver/ca.crt
cert keys/vpnserver/serveresil.crt
key keys/vpnserver/serveresil.key
dh keys/vpnserver/dh1024.pem
server 192.168.15.0 255.255.255.0
crl-verify keys/vpnserver/crl.pem
cipher DES-CBC
status servers/openvpnserver/logs/openvpn-status.log
log-append servers/openvpnserver/logs/openvpn.log
verb 3
mute 20
max-clients 100
keepalive 10 120
client-config-dir /etc/openvpn/servers/openvpnserver/ccd
comp-lzo
client-to-client
persist-key
persist-tun

#admin
route 192.168.70.0 255.255.255.0 192.168.15.100
route 192.168.2.0 255.255.255.0 192.168.15.100

Конфиг клиента из папки CCD

ifconfig-push 192.168.15.100 255.255.255.0
push "route 192.168.70.0 255.255.255.0 192.168.15.1"
push "route 192.168.2.0 255.255.255.0 192.168.15.1"

В конфиге клиента ничего интересного :-)

При таком конфиге у меня сейчаз

1. пингуется с сервера клиент и с клиентам сервер по тунелю VPN 15.XX в любую сторону

2. пингуется с клиентам вторая сетевая карта 192.168.2.113 (однако за этой сетью есть еще устройства, они не пингуются)

3. с сервера пингуется модем 192.168.70.1 (однако сам клиент 192.168.70.159 не пингуется), при пинге на 70.1 выдает вот такое (From 192.168.15.100: icmp_seq=1 Redirect Network(New nexthop: 192.168.15.1))

Вот выдача netstat -nr

[root@localhost ccd]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.70.0    192.168.15.100  255.255.255.0   UG        0 0          0 tap0
192.168.2.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
192.168.15.0    0.0.0.0         255.255.255.0   U         0 0          0 tap0
92.46.205.0     0.0.0.0         255.255.255.0   U         0 0          0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth1
0.0.0.0         92.46.205.177   0.0.0.0         UG        0 0          0 eth1

Выручайте!

posmetuhov
() автор топика
Ответ на: комментарий от posmetuhov
#admin
route 192.168.70.0 255.255.255.0 192.168.15.100
route 192.168.71.0 255.255.255.0 192.168.15.101
push "route 192.168.2.0 255.255.255.0 192.168.15.1"
push "route 192.168.70.0 255.255.255.0 192.168.15.1"
push "route 192.168.71.0 255.255.255.0 192.168.15.1"
turtle_bazon ★★★★★
()
Ответ на: комментарий от turtle_bazon

Казалось бы верно все должно работать но не тут то было. Вот что дает tracert из клиента на сеть за сервером 192.168.2.XX

tracert 192.168.2.177

Трассировка маршрута к 192.168.2.177 с максимальным числом прыжков 30

  1     8 ms     8 ms     8 ms  192.168.15.1
  2     *        *        *     Превышен интервал ожидания для запроса.
  3     *        *        *     Превышен интервал ожидания для запроса.
  4     *        *        *     Превышен интервал ожидания для запроса.
  5     *        *        *     Превышен интервал ожидания для запроса.
  6  ^C
posmetuhov
() автор топика
Ответ на: комментарий от posmetuhov

Получается что он знает что нужно идти через шлюз 192.168.15.1, но что то идет не так и дальше пакеты не идут.

posmetuhov
() автор топика
Ответ на: комментарий от turtle_bazon
[root@localhost ccd]# netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.70.0    192.168.15.100  255.255.255.0   UG        0 0          0 tap0
192.168.2.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
192.168.15.0    0.0.0.0         255.255.255.0   U         0 0          0 tap0
92.46.205.0     0.0.0.0         255.255.255.0   U         0 0          0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth1
0.0.0.0         92.46.205.177   0.0.0.0         UG        0 0          0 eth1

netstat -nr
===========================================================================
Список интерфейсов
 14...00 ff d1 e1 97 a8 ......TAP-Windows Adapter V9
 12...b8 97 5a 31 db eb ......Qualcomm Atheros AR8152/8158 PCI-E Fast Ethernet C
ontroller (NDIS 6.20)
  1...........................Software Loopback Interface 1
 13...00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP
 11...00 00 00 00 00 00 00 e0 Туннельный адаптер Microsoft Teredo
 18...00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP #3
===========================================================================

IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес           Маска сети      Адрес шлюза       Интерфейс  Метрика
          0.0.0.0          0.0.0.0     192.168.70.1   192.168.70.159    276
        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
      192.168.2.0    255.255.255.0     192.168.15.1   192.168.15.100     20
     192.168.15.0    255.255.255.0     192.168.15.1   192.168.15.100     20
   192.168.15.100  255.255.255.255         On-link    192.168.15.100    276
     192.168.70.0    255.255.255.0         On-link    192.168.70.159    276
     192.168.70.0    255.255.255.0     192.168.15.1   192.168.15.100     20
   192.168.70.159  255.255.255.255         On-link    192.168.70.159    276
   192.168.70.255  255.255.255.255         On-link    192.168.70.159    276
        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    192.168.70.159    276
        224.0.0.0        240.0.0.0         On-link    192.168.15.100    276
  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    192.168.70.159    276
  255.255.255.255  255.255.255.255         On-link    192.168.15.100    276
===========================================================================
Постоянные маршруты:
  Сетевой адрес            Маска    Адрес шлюза      Метрика
          0.0.0.0          0.0.0.0     192.168.70.1  По умолчанию
===========================================================================
posmetuhov
() автор топика
Ответ на: комментарий от turtle_bazon

да сеть 192.168.71.XX пока не участвует в деяниях

posmetuhov
() автор топика
Ответ на: комментарий от turtle_bazon

пробую пинговать клиента 192,168,70,159 не пингуется стоит на месте модем клиента вроде пингуется 192,168,70,1 но при пингах пишет что писал выше

From 192.168.15.100: icmp_seq=1 Redirect Network(New nexthop: 192.168.15.1)

Это я так понимаю все правильно - перенаправление пакетов?

posmetuhov
() автор топика
Ответ на: комментарий от turtle_bazon

Можно и так.

1. Второй интерфейс сервера 192.168.2.113 с клиента пингуется а за ним уже нет, допустим на 192.168.2.22 уже пинга нет.

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

Покажи значение /proc/sys/net/ipv4/ip_forward непосредственно сейчас.

turtle_bazon ★★★★★
()
Ответ на: комментарий от turtle_bazon
[root@localhost ccd]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

posmetuhov
() автор топика
Ответ на: комментарий от turtle_bazon
[root@localhost ccd]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

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

пробую пинговать клиента 192,168,70,159 не пингуется стоит на месте

Какой там Windows?

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