openvpn в режиме моста, коннект есть, пингов нет; freebsd7.0

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
hryamzik
рядовой
Сообщения: 40
Зарегистрирован: 2007-12-05 20:38:48

openvpn в режиме моста, коннект есть, пингов нет; freebsd7.0

Непрочитанное сообщение hryamzik » 2008-03-23 12:37:32

Первым делом настроил все в режиме туннеля, но отсутствие бродкастов не порадовало, решил переконфигурять на мост.

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

Локалка в 76 подсети ---сервер, 76.1;0.2---локалка в 0 подсети, отсюда идем клиентом в 76 локалку

И так, конфиги:

Код: Выделить всё

/etc/rc.conf.d/openvpn
#ifconfig tap5 create
openvpn_enable="YES"
openvpn_if="tap bridge"

Код: Выделить всё

/etc/rc.conf.d/network
#ifconfig tap create
#ifconfig_rl0="inet 192.168.76.1 netmask 255.255.255.0"
ifconfig_rl1="inet 192.168.0.2 netmask 255.255.255.0"
ifconfig_vr0="inet 172.31.76.1 netmask 255.255.255.0"
cloned_interfaces="bridge0"
ifconfig_bridge0="addm rl0 up"
#ifconfig_tap="up"
#ifconfig_rl0="up"
ifconfig_bridge0="inet 192.168.76.1 netmask 255.255.255.0"

Код: Выделить всё

/usr/local/etc/openvpn/openvpn.conf
#local 192.168.0.1
port 1194
proto udp
dev tap
# dev-node tap-bridge
ca   /usr/local/etc/openvpn/ca.crt
cert /usr/local/etc/openvpn/server.crt
key  /usr/local/etc/openvpn/server.key
dh   /usr/local/etc/openvpn/dh1024.pem
#server 10.10.10.0 255.255.255.0
server-bridge 192.168.76.1 255.255.255.0 192.168.76.151 192.168.76.200
ifconfig-pool-persist ipp.txt
push "route 192.168.76.0 255.255.255.0"
#route 10.10.10.0 255.255.255.252
keepalive 10 120
comp-lzo
#user nobody
#group nobody
persist-key
persist-tun
status /tmp/openvpn-status.log
verb 3
#push "dhcp-option DNS 192.168.0.1"
client-config-dir clientcfg
client-to-client
и клиентский .ovpn

Код: Выделить всё

client
dev tap
proto udp
remote 192.168.0.2 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca-ibsd.crt
cert ibsd.crt
key ibsd.key
comp-lzo
verb 5
mssfix 1200
route 192.168.76.0 255.255.255.0
Ставлю тап0 в мост, перезапускаю опенвпн сервер, коннекчусь клиентом, пынгов нет в обе стороны. Удаляю, добавляю тап0 в мост, та же история.

В айпифильтре уже задисейблил все правила и добавил а-ля 10 эллоу алл вром эни ту эни. Трейсроут весь в звездочках.

Код: Выделить всё

клиент:
traceroute to 192.168.76.1 (192.168.76.1), 64 hops max, 40 byte packets
 1  * * *
 2  * *traceroute: sendto: No route to host
traceroute: wrote 192.168.76.1 40 chars, ret=-1
 *
traceroute: sendto: Host is down
 3 traceroute: wrote 192.168.76.1 40 chars, ret=-1
^C

Сервер:
traceroute to 192.168.76.152 (192.168.76.152), 64 hops max, 40 byte packets
 1  * * *
 2  * * *
 3  * *^C
Рутинг:

Код: Выделить всё

сервер:
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.0.1        UGS         0   131767    rl1
127.0.0.1          127.0.0.1          UH          0     2605    lo0
192.168.0.0/24     link#3             UC          0        0    rl1
192.168.0.1        00:1b:11:e1:3e:3d  UHLW        2     3275    rl1    994
192.168.0.3        00:0d:93:86:71:92  UHLW        1     2766    rl1    208
192.168.76.0/24    link#6             UC          0        0 bridge

Клиент:
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.0.1        UGSc       19        2    en1
127                127.0.0.1          UCS         0        0    lo0
127.0.0.1          127.0.0.1          UH          2     1035    lo0
169.254            link#6             UCS         0        0    en1
192.168.0          link#6             UCS         3        0    en1
192.168.0.1        0:1b:11:e1:3e:3d   UHLW       20      189    en1   1200
192.168.0.2        0:40:f4:8d:a9:3a   UHLW        5     5315    en1    155
192.168.0.3        127.0.0.1          UHS         0        0    lo0
192.168.0.255      link#6             UHLWb       1        6    en1
192.168.1          link#4             UC          3        0    en0
192.168.1.34       0:d:93:c0:ba:2c    UHLW        1      903    lo0
192.168.1.255      link#4             UHLWb       1       12    en0
192.168.76         link#8             UC          2        0   tap1
192.168.76.1       3a:4a:a9:51:e0:cb  UHLW        0        7   tap1   1115
192.168.76.255     link#8             UHLWb       2       12   tap1
У меня идеи иссякли...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: openvpn в режиме моста, коннект есть, пингов нет; freebsd7.0

Непрочитанное сообщение Alex Keda » 2008-03-23 14:19:05

выкинуть вмварь нахрен?
Убей их всех! Бог потом рассортирует...

hryamzik
рядовой
Сообщения: 40
Зарегистрирован: 2007-12-05 20:38:48

Re: openvpn в режиме моста, коннект есть, пингов нет; freebsd7.0

Непрочитанное сообщение hryamzik » 2008-03-23 14:35:40

А при чем здесь вмварь? Ничего не виртуализиовано, сервак на п4 1,6, клиент на маке.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: openvpn в режиме моста, коннект есть, пингов нет; freebsd7.0

Непрочитанное сообщение Alex Keda » 2008-03-23 14:42:06

хм...
а я чё-то подумал что это в вмвари...
======
про мосты не подскажу - не делал никогда.
могу тока задать набор стандартных впросов про файрволл, маршруты и прочее...
Убей их всех! Бог потом рассортирует...

hryamzik
рядовой
Сообщения: 40
Зарегистрирован: 2007-12-05 20:38:48

Re: openvpn в режиме моста, коннект есть, пингов нет; freebsd7.0

Непрочитанное сообщение hryamzik » 2008-03-23 15:01:02

Так я же привел таблицы рутинга и про фаервол написал. Разве что в нате проблема...

Я на 6ке мост поднимал без проблем, правда между 2мя реальными интерфейсами (вай-фай и лан). Видимо нагуглить ответ со временем будет проще, пару таких же вопросов я уже нашел в меиллистингах. Свежие.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: openvpn в режиме моста, коннект есть, пингов нет; freebsd7.0

Непрочитанное сообщение Alex Keda » 2008-03-24 9:09:51

значит чё-то поломали =)
к 7.1 пофиксят =)
Убей их всех! Бог потом рассортирует...

s.romanov
мл. сержант
Сообщения: 72
Зарегистрирован: 2006-12-12 14:13:23
Откуда: Тольятти

Re: openvpn в режиме моста, коннект есть, пингов нет; freebsd7.0

Непрочитанное сообщение s.romanov » 2008-03-25 14:45:41

посмотри внимательно маршруты

пользую мост все в норме
сервер FreeBSD 6.3-RELEASE-p1
клиент FreeBSD 7.0-STABLE

сервер:

Код: Выделить всё

ifconfig_fxp0="inet zxzxzxzxz netmask 255.255.255.252"
ifconfig_rl0="inet 192.168.145.60 netmask 255.255.255.0"
autobridge_interfaces="bridge0"
autobridge_bridge0="addm fxp1 up"
openvpn_enable="YES"
openvpn_configfile="/usr/local/etc/openvpn/server.conf"
openvpn_if="tap bridge"
static_routes="net1 net2"
route_net1="-net 192.168.1.0/24 192.168.10.50"
route_net2="-net 192.168.5.0/24 192.168.10.53"
openvpn-server:

Код: Выделить всё

local zxzxzxzxzx
port 1194
proto tcp
dev tap
ifconfig 192.168.10.1 255.255.255.0
server-bridge 192.168.10.1 255.255.255.0 192.168.10.50 192.168.10.100
#Даём клиенту необходимые маршруты к подсетям, которые лежат
#за сервером. 
push "route 192.168.145.0 255.255.255.0"
push "route-gateway 192.168.10.1"
push "dhcp-option DNS 192.168.145.60"
push "dhcp-option WINS 192.168.145.50"
client-to-client
keepalive 10 120
........................
client:

Код: Выделить всё

ifconfig_rl0="inet zxzxzxzxzxzx netmask 255.255.255.252"
ifconfig_rl1="inet 192.168.1.254 netmask 255.255.255.0"
cloned_interfaces="bridge0"
ifconfig_bridge0="addm rl1 up"
openvpn_enable="YES"
openvpn_configfile="/usr/local/etc/openvpn/client.conf"
openvpn_if="tap bridge"
static_routes="net1"
route_net1="-net 192.168.145.0/24 192.168.10.1"

Код: Выделить всё

Destination        Gateway            Flags    Refs      Use  Netif Expire
default            81.28.182.29       UGS         0 129396444   fxp0
zxzxzxzxzx       link#2             UC          0        0   fxp0
zxzxzxzxzx       00:1a:6d:2e:03:3f  UHLW        2        0   fxp0    348
zxzxzxzxzx       192.168.1          192.168.10.50      UGS         0  5956106   tap0
192.168.5          192.168.10.53      UGS         0   595851   tap0
192.168.10         link#7             UC          0        0   tap0
192.168.10.1       00:bd:23:d0:01:00  UHLW        1        1    lo0
192.168.10.50      00:bd:73:21:01:00  UHLW        2      132   tap0     43
192.168.10.53      00:bd:90:5d:01:00  UHLW        2      102   tap0     68
192.168.145        link#1             UC          0        0    rl0
конфиг клиента не привожу не стоит он того :)
---

hryamzik
рядовой
Сообщения: 40
Зарегистрирован: 2007-12-05 20:38:48

Re: openvpn в режиме моста, коннект есть, пингов нет; freebsd7.0

Непрочитанное сообщение hryamzik » 2008-03-26 1:19:21

Мой моск... Зачем тут 3 подсети на одном мосту? Неужто нельзя одной обойтись? И что, бродкасты ходят? о_О 3 ведь в случае обычного впн туннеля, и как раз со всеми этими маршрутами, разве нет?

s.romanov
мл. сержант
Сообщения: 72
Зарегистрирован: 2006-12-12 14:13:23
Откуда: Тольятти

Re: openvpn в режиме моста, коннект есть, пингов нет; freebsd7.0

Непрочитанное сообщение s.romanov » 2008-03-26 8:19:25

у меня 3 сети, привел пример с первой
192.168.145.0/24
192.168.1.0/24
192.168.5.0/24

ходят


ещё кучу инфы
http://forum.ixbt.com/topic.cgi?id=14:40906
---

hryamzik
рядовой
Сообщения: 40
Зарегистрирован: 2007-12-05 20:38:48

Re: openvpn в режиме моста, коннект есть, пингов нет; freebsd7.0

Непрочитанное сообщение hryamzik » 2008-03-26 13:53:46

Так ведь не просто 3 подсети на мосту, а одна на сервере, другая между сервером и клиентом, третяя на клиенте. В чем тогда смысл моста? Мне как-то хочется одной обойтись. Кстати, что не так в моей таблице рутинга? Интерфесы правильные на против соответствующих подсетей...

Пошел шерстить топик на иксбите.

ЗЫ: можно еще на ifconfig bridge0 посмотреть?

s.romanov
мл. сержант
Сообщения: 72
Зарегистрирован: 2006-12-12 14:13:23
Откуда: Тольятти

Re: openvpn в режиме моста, коннект есть, пингов нет; freebsd7.0

Непрочитанное сообщение s.romanov » 2008-03-26 16:30:49

нету у меня такого интерфейса :)
до 6.3 был а потом они сильно наменяли с бриджем, теперь нема

Код: Выделить всё

ifconfig                                                     
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=48<VLAN_MTU,POLLING>
        inet 192.168.145.60 netmask 0xffffff00 broadcast 192.168.145.255
        ether 00:50:bf:e7:20:5a
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=48<VLAN_MTU,POLLING>
        inet внешний.адрес netmask 0xfffffffc broadcast zxczxczxczxczxc
        ether 00:07:e9:da:44:c0
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> mtu 1500
pfsync0: flags=0<> mtu 2020
        syncpeer: 224.0.0.240 maxupd: 128
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33208
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000
tap0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.10.1 netmask 0xffffff00 broadcast 192.168.10.255
        ether 00:bd:23:d0:01:00
        Opened by PID 1069
---

hryamzik
рядовой
Сообщения: 40
Зарегистрирован: 2007-12-05 20:38:48

Re: openvpn в режиме моста, коннект есть, пингов нет; freebsd7.0

Непрочитанное сообщение hryamzik » 2008-03-26 17:48:47

А у меня в семерочном релизе есть bridge0...

hryamzik
рядовой
Сообщения: 40
Зарегистрирован: 2007-12-05 20:38:48

Re: openvpn в режиме моста, коннект есть, пингов нет; freebsd7.0

Непрочитанное сообщение hryamzik » 2008-03-27 2:56:05

А Вы уверены, что мост поднимается? После недолгого изучения дефолтов рц.конфа и гугла пришел вот к какому механизму подъема моста:

Код: Выделить всё

cloned_interfaces="bridge0"
ifconfig_bridge0="up addm rl0"
autobridge_interfaces="bridge0"
autobridge_bridge0="tap*" # добавлять в мост все тапы
ifconfig_bridge0="inet 192.168.76.1 netmask 255.255.255.0"
Поднимается. Правда пакеты от этого рутиться не начали... :evil:

s.romanov
мл. сержант
Сообщения: 72
Зарегистрирован: 2006-12-12 14:13:23
Откуда: Тольятти

Re: openvpn в режиме моста, коннект есть, пингов нет; freebsd7.0

Непрочитанное сообщение s.romanov » 2008-03-27 8:26:53

на 6.3 -сервер бриджа нет
на 7.0 -клиент бридж есть

Код: Выделить всё

bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 6e:cc:8e:9c:d9:08
        id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
        maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
        root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
        member: rl1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
tap0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:bd:73:21:01:00
        inet 192.168.10.50 netmask 0xffffff00 broadcast 192.168.10.255
        Opened by PID 1053
да все нормально работат, пинги ходят, в сетевом окружении видны компы всех сетей


попробуй без бриджа разобраться, через tun он попроше, поднимаеться в лёт
и пинги пускай сначала до граничных шлюзов, а потом до сетей за ними
---

hryamzik
рядовой
Сообщения: 40
Зарегистрирован: 2007-12-05 20:38:48

Re: openvpn в режиме моста, коннект есть, пингов нет; freebsd7.0

Непрочитанное сообщение hryamzik » 2008-03-27 10:52:25

Я не понимаю, какой смысл в мосте если в него не включена локалка с туннелем.
У меня через tun все работает. Более того, если тап0 вытащить из моста, подвинуть в другую подсеть (ифконфигом и конфигом опенвпна, опенвпн рестартонуть) – пинги между сервером и клиентом в этой новой подсети ходят. Даже если потом тап0 обратно в мост включить и на клиенте повесить алиас из правильной подсети – все работает. А вот сразу да мостом – фиг.

hryamzik
рядовой
Сообщения: 40
Зарегистрирован: 2007-12-05 20:38:48

Re: openvpn в режиме моста, коннект есть, пингов нет; freebsd7.0

Непрочитанное сообщение hryamzik » 2008-03-28 0:18:51

Будете смеяццо. Разглядывая вывод ифконфига в поисках вдохновения обнаружил что у тап0 не совсем такой набор флагов, как у локального интерфейса.

Результат:

Код: Выделить всё

cat <<EOF> /usr/local/etc/openvpn/client-connect.sh
#!/bin/sh
ifconfig tap0 up
EOF
chmod 755 /usr/local/etc/openvpn/client-connect.sh 
Пинги ходят, бродкасты – фиг. Бум думать...

ЗЫ: думается у Вас таки не поднимается мост, с ним не должно быть никаких морок с маршрутами...

hryamzik
рядовой
Сообщения: 40
Зарегистрирован: 2007-12-05 20:38:48

Re: openvpn в режиме моста, коннект есть, пингов нет; freebsd7.0

Непрочитанное сообщение hryamzik » 2008-04-01 0:58:35

Ну вот, последние штрихи.

rc.conf выглядит так (по /etc/rc.conf.d/network и /etc/rc.conf.d/openvpn еще не разносил)

Код: Выделить всё

ifconfig_vr0="inet 172.31.76.1 netmask 255.255.255.0"
cloned_interfaces="bridge0"
autobridge_interfaces="bridge0"
autobridge_bridge0="tap*"
ifconfig_rl0="up"
ifconfig_bridge0="inet 192.168.76.1 netmask 255.255.255.0 addm rl0 up"
openvpn_enable="YES"
openvpn_if="tap bridge"
dhcpd_enable="YES"
dhcpd_ifaces="bridge0 vr0"
Но этого, по крайней мере в 7ой бсляхе, не достаточно. Интерфейс тап0 волшебным образом оказывается не поднятым!
Команда up его поднимает, но брадкасты от этого ходить не начинают, помогает удаление тап0 из моста и возвращение его на место. Поэтому я придумал следующий скриптец коннекта клиента.

[upd от 2 апреля]: обновляю текст срипта, предыдущий не работал, в нем лиш была изложена основаня идея, потестить тогда не успел. Думаю нынешнюю версию можно упростить, но пока руки не доходят. Возможно я где-то ошибся в причинно-следственных связях, мне не очень ясна ситуация с бродкастами; кроме того я нагуглил возможность возникновения проблем с айтюнзовскими бродкастами, а я тестируюсь именно на них. (В какой-то момент тестирования виндозные бродкасты пошли, а эппловские – айтюнз и афп – нет) [/upd от 2 апреля]

Код: Выделить всё

 /usr/local/etc/openvpn/client-connect.sh

#!/bin/sh
if test `ifconfig tap0 | grep flags |  awk '{sub(".*UP.*", "UP");print}' | awk '{sub(".*flags.*", "down");print}'` != "UP"
        then
        ifconfig bridge0 deletem tap0 && ifconfig tap0 up && ifconfig bridge0 addm tap0
        echo "was_down "
# >> /home/hryamzik/vpncount.txt
else
   echo " up, ignored " 
#>> /home/hryamzik/vpncount.txt
fi

ifconfig tap0 up


########### старая версия: #################
#!/bin/sh
#if test `ifconfig tap0 | grep flags |  awk '{sub(".*UP.*", "UP");print}'` = "UP"
#	then
#	ifconfig bridge0 deletem tap0 && ifconfig tap0 up && ifconfig bridge0 addm tap0
#fi
#########


Единственное, что меня смущает, так это то, что если awk не находит паттерна UP, test вываливается с ошибкой, возвращая, видимо, вполне годный результат, т.е. ни разу не истину, а некую двойку:

Код: Выделить всё

[root@~]# test `ifconfig vr0 | grep flags |  awk '{sub(".*UP.*", "UP");print}'` = "UP"
[root@~]# echo $?
0
[root@~]# ifconfig vr0 down
[root@~]# test `ifconfig vr0 | grep flags |  awk '{sub(".*UP.*", "UP");print}'` = "UP"
bash: test: too many arguments
[root@~]# echo $?
2
Немного сомневаюсь в корректности такой работы скрипта, потестить пока не было возможности.