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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: OpenVpn & сетевой мост  (Прочитано 6139 раз)

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

Оффлайн djrust

  • Автор темы
  • Активист
  • *
  • Сообщений: 851
    • Просмотр профиля
OpenVpn & сетевой мост
« : 24 Апрель 2010, 17:40:08 »
Хочу поднять openVpn server на ubuntu desktop 9.10
Делал по статье http://6uestsblog.blogspot.com/2008/07/openvpn-ubuntu.html
server.conf
port 1194
proto udp
dev tun
;dev-node tap0
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key # This file should be kept secret
dh /etc/openvpn/dh1024.pem
server 10.10.10.0 255.255.255.0 # vpn subnet
ifconfig-pool-persist ipp.txt
push "route 192.168.7.0 255.255.255.0" # home subnet
;duplicate-cn
keepalive 10 120
;cipher BF-CBC        # Blowfish (default)
;cipher AES-128-CBC   # AES
;cipher DES-EDE3-CBC  # Triple-DES
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
;status openvpn-status.log
;log-append  openvpn.log
verb 10
mute 20

interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.50.2
netmask 255.255.255.0
gateway 192.168.50.1

auto eth1
iface eth1 inet static
address 192.168.20.252
netmask 255.255.255.0

iptables,самый простой
iptables-save
# Generated by iptables-save v1.4.4 on Sat Apr 24 17:39:50 2010
*nat
:PREROUTING ACCEPT [33668:2427822]
:POSTROUTING ACCEPT [67:8078]
:OUTPUT ACCEPT [2054:134771]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Sat Apr 24 17:39:50 2010
# Generated by iptables-save v1.4.4 on Sat Apr 24 17:39:50 2010
*filter
:INPUT ACCEPT [25138:21216359]
:FORWARD ACCEPT [5815673:3128488711]
:OUTPUT ACCEPT [22391:2941175]
COMMIT
# Completed on Sat Apr 24 17:39:50 2010


Все работает и я могу цепляться к самому серверу

Но мне надо,чтоб я мог видеть всю подсеть.Т.е цепляться к 192.168.20.0
В винде делал сетевой мост 

server-bridge 192.168.20.0  255.255.255.0 192.168.20.30 192.168.20.33
Как сдесь это сделать?

Пользователь решил продолжить мысль 24 Апрель 2010, 09:56:49:
Сделал server-bridge
port 1194
proto udp
dev tap
;dev-node tap0
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key # This file should be kept secret
dh /etc/openvpn/dh1024.pem
server-bridge 192.168.20.0 255.255.255.0 192.168.20.30 192.168.20.33# vpn subnet
ifconfig-pool-persist ipp.txt
push "route 192.168.20.0 255.255.255.0" # home subnet
;duplicate-cn
keepalive 10 120
;cipher BF-CBC        # Blowfish (default)
;cipher AES-128-CBC   # AES
;cipher DES-EDE3-CBC  # Triple-DES
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
;status openvpn-status.log
;log-append  openvpn.log
verb 10
mute 20

Соединение прошло,ip получил 192.168.20.X Но по РДП подключиться не могу и не вижу раб группы

Пользователь решил продолжить мысль 24 Апрель 2010, 12:24:42:
При этом у меня ifconfig только с eth0 & eth1

Пользователь решил продолжить мысль 24 Апрель 2010, 16:11:15:
Я понял моя проблема в том ,что не создан сетевой мост?
Вот начитал

Цитировать
Осталось разобраться непосредственно с бриджом. Для организации его нам понадобятся утилиты из пакета bridge-utils


Пользователь решил продолжить мысль 25 Апрель 2010, 14:48:43:
Всё, решил данную проблему.
1.Установил bridge-utils sudo apt-get install bridge-utils2.В /etc/network/interfaces вместо eth1 прописал:
-----------------------------------------------
auto br0
iface br0 inet static
    address 192.168.20.252
    network 192.168.20.0
    netmask 255.255.255.0
    broadcast 192.168.20.255
    bridge_ports eth1 tap0

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

Осталось тока пробовать iptables по правильному настроить
« Последнее редактирование: 25 Апрель 2010, 14:48:44 от djrust »

Оффлайн djrust

  • Автор темы
  • Активист
  • *
  • Сообщений: 851
    • Просмотр профиля
Re: OpenVpn & сетевой мост
« Ответ #1 : 26 Апрель 2010, 20:32:23 »
Есть вопрос?При загрузки системы не поднимается tap0
даже если делаю /etc/init.d/openvpn start | restart
Помогает только /etc/init.d/networking restart
При этом пишет device tap0 is not a slave of br0

Интерфасес
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.50.2
netmask 255.255.255.0
gateway 192.168.50.1

auto eth1
iface eth1 inet static
address 192.168.20.252
netmask 255.255.255.0

auto br0
iface br0 inet static
    address 192.168.20.252
    network 192.168.20.0
    netmask 255.255.255.0
    broadcast 192.168.20.255
    bridge_ports eth1 tap0

ОпенВпн сервер

port 1194
proto udp
dev tap0
;dev-node tap0
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key # This file should be kept secret
dh /etc/openvpn/dh1024.pem
server-bridge 192.168.20.0 255.255.255.0 192.168.20.30 192.168.20.33# vpn subnet
;duplicate-cn
keepalive 10 120
;cipher BF-CBC        # Blowfish (default)
;cipher AES-128-CBC   # AES
;cipher DES-EDE3-CBC  # Triple-DES
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
;status openvpn-status.log
log-append  /etc/openvpn/openvpn.log
verb 10
mute 20

Оффлайн Tokh

  • Активист
  • *
  • Сообщений: 705
    • Просмотр профиля
Re: OpenVpn & сетевой мост
« Ответ #2 : 26 Апрель 2010, 23:19:46 »
Может я не в тему, но что-то мне кажется проще через маршрутизацию.
route add -net ... dev eth0 ; route add -net ... dev tap0
Как-то так. Адреса-то все свои полностью, частные, "серые", достаточно только правильных маршрутов.

Причём совсем красиво когда маршруты поднимаются самой OpenVPN по директивам из конфига сервера и из CCD файлов клиентов. Также выдаются IP адреса. Раз уж там сертификаты, то есть common names, и можно использовать ccd.

P.S. С мостами - может там надо копать в сторону виртуальности интерфейса OpenVPN? Различий между tun и tap?
StarDict и Mueller помогут против английского мануала.

Оффлайн djrust

  • Автор темы
  • Активист
  • *
  • Сообщений: 851
    • Просмотр профиля
Re: OpenVpn & сетевой мост
« Ответ #3 : 26 Апрель 2010, 23:53:22 »
Да нет все проще,есть скрипты bridge-start bridge-stop
который убивают и создают мост и tap

bridge-start
#!/bin/bash#################################

# Set up Ethernet bridge on Linux

# Requires: bridge-utils

#################################

# Define Bridge Interface

br="br0"

# Define list of TAP interfaces to be bridged,

# for example tap="tap0 tap1 tap2".

tap="tap0"

# Define physical ethernet interface to be bridged

# with TAP interface(s) above.

eth="eth0"                    #

eth_ip="192.168.0.1"          #

eth_netmask="255.255.255.0"   #Не забываем поменять эти параметры,

eth_broadcast="192.168.0.255" #если они у вас не соответсвуют!

for t in $tap; do

    openvpn --mktun --dev $t

done

brctl addbr $br

brctl addif $br $eth

for t in $tap; do

    brctl addif $br $t

done

for t in $tap; do

    ifconfig $t 0.0.0.0 promisc up

done

ifconfig $eth 0.0.0.0 promisc up

ifconfig $br $eth_ip netmask $eth_netmask broadcast $eth_broadcast

bridge-stop
#!/bin/bash####################################

# Tear Down Ethernet bridge on Linux

####################################

# Define Bridge Interface

br="br0"

# Define list of TAP interfaces to be bridged together

tap="tap0"

ifconfig $br down

brctl delbr $br

for t in $tap; do

    openvpn --rmtun --dev $t

done

Тока блин они не работают у меня
Когда все делаю из терминала,то убивается и поднимается

А когда запускаю двойным кликом мышки то,не работают

И прочитал что если их поместить в /etc/openvpn/ То автоматически должны запускаться.Но не запускаются

+ насколько я понял из доки,то TAP применяется
tap = L2-туннель(Ethernet-туннель, aka "bridged")
Пользователь решил продолжить мысль 26 Апрель 2010, 15:59:38:
Надо в этом и вопрос,что он при запуске системы не запускается
Т.е ifconfig его не показывает

Пользователь решил продолжить мысль 26 Апрель 2010, 20:14:46:
ВОООООООООООООО блин

Оказывается это не так
И прочитал что если их поместить в /etc/openvpn/ То автоматически должны запускаться.Но не запускаются

Т.е в 9.10 desktop не катит

Занес в /etc/init.d/rc.local

/etc/openvpn/stop
/etc/openvpn/start

И при загрузке все заработало



Вопрос теперь другой

Если я этот скрипт скопирую в init.d он при запуске системы должен стартовать?соответственно если он исполняемый?
А если туда кинуть и stop $ start они в какой последовательности выполнять будут?

Пользователь решил продолжить мысль 26 Апрель 2010, 23:37:29:
хотя stop  и не нужен по сути.Кинуть в  init.d и радоваться
« Последнее редактирование: 27 Апрель 2010, 01:38:06 от djrust »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25967
    • Просмотр профиля
Re: OpenVpn & сетевой мост
« Ответ #4 : 27 Апрель 2010, 02:57:05 »
init.d - это свалка. РЕАЛЬНО оттуда ничего САМО не выполняется.
man update-rc.d
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

 

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