Расширенная конфигурация туннеля L2 (Ethernet-туннель, aka "bridged")
Настраивал по статьям openvpn-with-fedora-8 и openvpn-for-fedora-12
Опять же FAQ тож не мешает почитать http://forum.ixbt.com/topic.cgi?id=14:40906:1#1 и http://forum.ixbt.com/topic.cgi?id=14:49976
Нужно установить пакеты openvpn bridge-utils
Авторизация будет происходить по паролю
Потом создаются конфиги такого плана
/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
BOOTPROTO=dhcp
IPV6INIT=yes
IPV6_AUTOCONF=yes
ONBOOT=yes
NM_CONTROLLED=no
TYPE=Bridge
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
TYPE=Ethernet
BRIDGE=br0
BOOTPROTO=dhcp
/etc/sysconfig/network-scripts/ifcfg-tap0
EVICE=tap0
DEVICETYPE=ovpn
ONBOOT=yes
BRIDGE=br0
BOOTPROTO=dhcp
USERCTL=yes
/etc/sysconfig/network-scripts/ifdown-ovpn
#!/bin/bash
. /etc/init.d/functions
cd /etc/sysconfig/network-scripts
. ./network-functions
[ -f ../network ] && . ../network
CONFIG=${1}
source_config
/usr/sbin/openvpn --rmtun --dev ${DEVICE}
retcode=$?
exit $retcode
/etc/sysconfig/network-scripts/ifup-ovpn
#!/bin/bash
. /etc/init.d/functions
cd /etc/sysconfig/network-scripts
. ./network-functions
[ -f ../network ] && . ../network
CONFIG=${1}
need_config ${CONFIG}
source_config
/usr/sbin/openvpn --mktun --dev ${DEVICE}
if [ -n "${BRIDGE}" -a -x /usr/sbin/brctl ]; then
if ! LC_ALL=C /usr/sbin/brctl show | LC_ALL=C grep -q "^${BRIDGE} "; then
/usr/sbin/brctl addbr ${BRIDGE} 2>/dev/null
fi
/sbin/ip addr flush dev ${DEVICE} 2>/dev/null
/sbin/ip link set dev ${DEVICE} up
if [ -n "$ETHTOOL_OPTS" ] ; then
/sbin/ethtool -s ${REALDEVICE} $ETHTOOL_OPTS
fi
[ -n "${LINKDELAY}" ] && /bin/sleep ${LINKDELAY}
/usr/sbin/brctl addif ${BRIDGE} ${DEVICE}
# Upon adding a device to a bridge,
# it's necessary to make radvd reload its config
[ -r /var/run/radvd/radvd.pid ] && kill -HUP `cat /var/run/radvd/radvd.pid`
exit 0
fi
Добавляем openvpn в автозапуск и устанавливаем атрибуты для скриптов
# chkconfig --level 2345 openvpn on
# chmod +x /etc/sysconfig/network-scripts/ifdown-ovpn
# chmod +x /etc/sysconfig/network-scripts/ifup-ovpn
В седующем конфиге нужно обратить внимание на строку 5, если система не 64-битная, то нужно подправить адрес (стереть 64). Так же обратить внимние на строки 9 и 10 - исправить имена файлов ключей.
/etc/openvpn/tap0.conf
proto tcp-server
mode server
tls-server
dev tap0
plugin /usr/lib64/openvpn/plugin/lib/openvpn-auth-pam.so login
client-cert-not-required
username-as-common-name
ca keys/ca.crt
cert keys/home.crt
key keys/home.key # This file should be kept secret
dh keys/dh1024.pem
client-to-client
duplicate-cn
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
Перезапуск сервисов
/etc/init.d/network restart
/etc/init.d/openvpn restart
Поверка, что мост создан успешно (обязательно наличие br0 [eth0, tap0]:
# brctl show
У меня вылазиет такое:
bridge name bridge id STP enabled interfaces
br0 8000.90e6bad771c7 no eth0
tap0
Ещё у меня при перезапуске сервисов вылазит какая-то ботва про тун-тап.
Создание файлов сертификатов.
# cd /usr/share/openvpn/easy-rsa/2.0/
# . ./vars
# ./clean-all
# ./build-ca
# ./build-inter $( hostname | cut -d. -f1 )
# ./build-dh
# mkdir /etc/openvpn/keys
# cp -ai keys/$( hostname | cut -d. -f1 ).{crt,key} keys/ca.crt keys/dh1024.pem /etc/openvpn/keys/
Комментариев нет:
Отправить комментарий