Проект переехал на новый домен!  [[ перейти ]]

OpenVPN 2.0.6 в режиме bridge

sh# ln -s /usr/local/etc /conf
sh# cd /conf && mkdir openvpn
sh# cat server.conf 
#####################################################################
daemon				# запуск демоном

local	xxx.xxx.xxx.xxx		# внешний ip нашего сервера
port 	4446			# порт
proto 	tcp-server		# udp или tcp
dev 	tap			# интерфейс tap или tun

# сгенерированые ключи/сертификаты через easy-rsa
ca /conf/openvpn/keys/ca.crt
cert /conf/openvpn/keys/server.crt
key /conf/openvpn/keys/server.key
dh /conf/openvpn/keys/dh1024.pem

tls-server
tls-auth /conf/openvpn/keys/ta.key 0

# Указываем по схеме  "server-bridge ip mask pool1 pool2",
# где ip 	- внутренний ip сервера
# где mask	- маска
# где pool1	- начало пула адрессов выдачи клиентам
# где pool2	- конец пула адрессов выдачи клиентам
server-bridge 192.168.1.102 255.255.255.0 192.168.1.160 192.168.1.170

# Режим сервер
mode server

# Что мы будем выдавать клиентам
push "dhcp-option DOMAIN test.ru"
push "dhcp-option DNS 192.168.10.1"
push "dhcp-option DNS 192.168.1.104"
push "dhcp-option WINS 192.168.10.1"
# Заодно и маршрут подправим, что клиенты могли ходить по всей сети 192.168.x.0/24
# Так как у нас многоуровневая топология работает через главный коммутатор 192.168.1.1
push "route 192.168.0.0 255.255.0.0 192.168.1.1"

# Разрешаем ходить разным пользователям 
# с одинаковыми сертификатами
duplicate-cn

# Клиенты могут видеть друг друга
client-to-client

# Таймаут
keepalive 10 120

# Шифрование
cipher BF-CBC        # Blowfish (default)
#cipher AES-128-CBC   # AES
#cipher DES-EDE3-CBC  # Triple-DES

# Компрессия
comp-lzo

# 5 клиентов
max-clients 5

# От кого будет работать
user nobody
group nobody

# Не перезапрашивать данные
persist-key
persist-tun

# логи
status /var/log/openvpn-status.log
log/var/log/openvpn.log

# 0 is silent, except for fatal errors
# 4 is reasonable for general usage
# 5 and 6 can help to debug connection problems
# 9 is extremely verbose
verb 3

# Silence repeating messages.  At most 20
# sequential messages of the same message
# category will be output to the log.
;mute 20
#####################################################################

Конфиг клиента:
sh# cat client.ovpn 
####################################################
client				# клиент

dev 	tap			# интерфейс
proto 	tcp-client		# клиент
remote 	xxx.xxx.xxx.xxx 4446	# Куда коннектимся IP

resolv-retry infinite

# Не перезапрашивать данные
persist-key
persist-tun

# Прокси
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]

# Ключи сгенерированые сервером для клиента
ca C:\\WINDOWS\\keys\\ca.crt
cert C:\\WINDOWS\\keys\\client1.crt
key C:\\WINDOWS\\keys\\client1.key

tls-client
tls-auth C:\\WINDOWS\\keys\\ta.key 1

# Verify server certificate by checking
# that the certicate has the nsCertType
# field set to "server".
;ns-cert-type server

# Шифорвание
cipher BF-CBC
#cipher AES-128-CBC
#cipher DES-EDE3-CBC

# Компрессия
comp-lzo

# Уровень логирования
verb 3

# Silence repeating messages
;mute 20
####################################################

Интерфейс tap0 будет создан после старта OpenVPN
Мост создаём следующим образом:

sh# ifconfig bridge0 create
sh# ifconfig bridge0 addm bfe0 addm tap0 up
sh# ifconfig
##################################################################################
bfe0: flags=8943 metric 0 mtu 1500
	options=8
	ether 00:04:61:50:45:55
	inet 192.168.1.102 netmask 0xffffff00 broadcast 192.168.1.255
	media: Ethernet autoselect (100baseTX )
	status: active
vx0: flags=8843 metric 0 mtu 1500
	ether 00:a0:24:6d:3f:d4
lo0: flags=8049 metric 0 mtu 16384
	inet 127.0.0.1 netmask 0xff000000 
tun0: flags=8051 metric 0 mtu 1492
	inet xxx.xxx.xxx.xxx --> 91.144.152.71 netmask 0xffffffff 
	Opened by PID 94775
tap0: flags=8943 metric 0 mtu 1500
	ether 00:bd:67:14:44:00
	Opened by PID 49232
bridge0: flags=8843 metric 0 mtu 1500
	ether ea:b9:6c:78:d1:c7
	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: tap0 flags=143
	member: bfe0 flags=143
##################################################################################

После подключения клиентов с Windows XP снаружи вполне комфортабельно можно
разгуливать по сетке... ;)

PS: Создание сертификатов можно прочитать по шагам в README в easy-rsa
Клиента для WindowsXP скачать можно на http://openvpn.se