FreeBSD 7.2 мост на OpenVPN

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Medison
ефрейтор
Сообщения: 58
Зарегистрирован: 2009-11-24 17:43:58
Откуда: MSK
Контактная информация:

FreeBSD 7.2 мост на OpenVPN

Непрочитанное сообщение Medison » 2009-12-08 15:30:10

Началось отсюда: http://forum.lissyara.su/viewtopic.php?f=8&t=22092

Поставил OpenVPN с tap - пошли броадкасты, появились названия компов, решил, что хочу больше = мост (между fxp1=192.168.1.1/24 и tap0), чтобы ip были в одной подсети.

Конфиг OpenVpn отличается только тем, что

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

server 192.168.200.0 255.255.255.0
меняю на:
server-bridge 192.168.1.1 255.255.255.0 192.168.1.212 192.168.1.220
считаем, что все ifconfig сделаны до старта openvpn.

С поднятием моста случилась засада (пинги при поднятии openvpn не ходят), примеры в сети есть, но рекомендации зависят от версии Free.

Например:
rc.conf

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

cloned_interfaces="bridge0 tap0"
ifconfig_brodge0="addm rl0 addm tap0"
Есть еще что-то с autobridge_bridge0 в rc.conf, net.link.ether.bridge_cfg (через sysctl) и ручками:

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

ifconfig bridge0 create
ifconfig tap0 create
ifconfig bridge0 addm fxp1 up
ifconfig bridge0 addm tap0 up
Последний вариант мне понятнее, но смутила фраза в одном из описаний: "Есть одна тонкость - в мост можно включать только интерфейсы, не имеющие назначенных ip адресов"...

Исходя из этого надо все ip на fxp1 (а алиасов и сервисов там много) надо перекинуть на brige0 ?

Может что не так понял, посоветуйте плз, как правильно включить мост fxp1+tap0?
Firefox, вкладка справа - about:config [tabs.insertRelatedAfterCurrent=false]

Хостинговая компания 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/

Аватара пользователя
skeletor
майор
Сообщения: 2472
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

Re: FreeBSD 7.2 мост на OpenVPN

Непрочитанное сообщение skeletor » 2009-12-08 16:00:16

"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

Medison
ефрейтор
Сообщения: 58
Зарегистрирован: 2009-11-24 17:43:58
Откуда: MSK
Контактная информация:

Re: FreeBSD 7.2 мост на OpenVPN

Непрочитанное сообщение Medison » 2009-12-08 17:01:26

skeletor писал(а):Вот как я делал
Если tap0: 10.15.0.0/31 и fxp0: 10.15.0.0/24, то это разные перекрывающиеся сети, при этом броадкасты у них разные (10.15.0.3 и 10.15.0.255).
Так и должно быть или тут мост вообще не работает, а задача решается за счет маршрутизации?
Я думал, что когда OpenVpn работает как мост, то ip для tap0 задавать не надо, все кидается на bridge0 (или в сеть fxp1).
Хочу понять?
Firefox, вкладка справа - about:config [tabs.insertRelatedAfterCurrent=false]

Medison
ефрейтор
Сообщения: 58
Зарегистрирован: 2009-11-24 17:43:58
Откуда: MSK
Контактная информация:

Re: FreeBSD 7.2 мост на OpenVPN

Непрочитанное сообщение Medison » 2009-12-08 18:35:18

Пример помог, сделал немного по-своему на 1 клиента, вдруг кому пригодится:

Стартуем сначала tap+bridge:

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

#!/bin/sh

ifconfig tap0 create
ifconfig tap0 inet 192.168.1.241 netmask 255.255.255.252
ifconfig tap0 up

ifconfig bridge0 create
ifconfig bridge0 addm fxp1 up
ifconfig bridge0 addm tap0 up
затем openvpn:
/usr/local/sbin/openvpn --config /etc/openvpn/server.conf

ниже конфиги

server.conf

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

daemon
mode server

# ip на котором будет слушать порт openvpn сервер
local x.x.x.x
port 2000
proto udp
dev tap0

cd /etc/openvpn

# ip клиентам
ifconfig-pool 192.168.1.242 192.168.1.242 255.255.255.252
push "route-gateway 192.168.1.241"
# меняем клиентам дефолтный шлюз
push "redirect-gateway"

push "dhcp-option DNS 192.168.1.1"
push "dhcp-option WINS 192.168.1.1"

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

auth MD5
tls-server
tls-auth /etc/openvpn/keys/ta.key 0
tls-timeout 120

cipher BF-CBC
comp-lzo
keepalive 10 120
max-clients 4

persist-key
persist-tun

writepid /var/run/openvpn.pid
status /var/log/openvpn-status.log
log /var/log/openvpn.log
verb 4
openvpn.opn (клиент)

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

dev tap
proto udp
remote x.x.x.x
port 2000
client
resolv-retry infinite
ca ca.crt
cert client.crt
key client.key
tls-client
tls-auth ta.key 1
auth MD5
cipher BF-CBC
ns-cert-type server
comp-lzo
persist-key
persist-tun
verb 4
PS: в rc.conf и sysctl ничего не менял, в ядре if_bridge
Последний раз редактировалось Medison 2009-12-10 14:47:36, всего редактировалось 1 раз.
Firefox, вкладка справа - about:config [tabs.insertRelatedAfterCurrent=false]

Аватара пользователя
skeletor
майор
Сообщения: 2472
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

Re: FreeBSD 7.2 мост на OpenVPN

Непрочитанное сообщение skeletor » 2009-12-08 22:13:56

Medison писал(а):
skeletor писал(а):Вот как я делал
Если tap0: 10.15.0.0/31 и fxp0: 10.15.0.0/24, то это разные перекрывающиеся сети, при этом броадкасты у них разные (10.15.0.3 и 10.15.0.255).
Наверное ты мало читал про openvpn. При подключении используются адреса с маской /30, то есть, адрес сети, 2 адреса для 2-х концов и бродкаст. Причём нельзя взять любые. Список полной разбивки можешь найти на openvpn.net. Если не найдёшь, я скину.
Например, ты не можешь использовать адреса 10.0.0.2 и 10.0.0.3 для связи, так как второй является вообще бродкастом.
Medison писал(а): Так и должно быть или тут мост вообще не работает, а задача решается за счет маршрутизации?
Я думал, что когда OpenVpn работает как мост, то ip для tap0 задавать не надо, все кидается на bridge0 (или в сеть fxp1).
Хочу понять?
Так и должно быть и тут как раз именно мост и делает свою задачу. Кстати, сам openvpn не работает как мост, мостом служит bridge0. Если не будет моста, то openvpn не сможет "кидать что-то в мост".

А если честно, то ничего не понял из этого сообщения. Похоже на обрывки фраз или мыслей... В любой случае рад, что моя статья тебе помогла.
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

Medison
ефрейтор
Сообщения: 58
Зарегистрирован: 2009-11-24 17:43:58
Откуда: MSK
Контактная информация:

Re: FreeBSD 7.2 мост на OpenVPN

Непрочитанное сообщение Medison » 2009-12-09 17:03:36

skeletor писал(а): При подключении используются адреса с маской /30, то есть, адрес сети, 2 адреса для 2-х концов и бродкаст. Причём нельзя взять любые. Список полной разбивки можешь найти на openvpn.net. Если не найдёшь, я скину.
Нашел: http://openvpn.net/index.php/open-sourc ... tml#policy

Вобщем пока еще есть вопросы, но просветление наступает, спасибо!
Firefox, вкладка справа - about:config [tabs.insertRelatedAfterCurrent=false]