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