Навигация
Системное Администрирование Решения на открытых кодах Структура сети Компьютерные сети малых предприятий Сеть с централизованным управлением Управление с помощью групповых политик Организация почтового обслуживания Взаимодействие с глобальной сетью Безопасность Виртуализация Парядок настройки и определения неисправностей Средства управления системами Автоматизация установки программного обестичения Решение проблем с компьютером Разное
 
 
Избранное
Pathping. Traceroute на стероидах.
FreeNAS: создаём сетевое хранилище (NAS)
Iperf - утилита для тестирования пропускной способности сети.
Средство против «сетевой слепоты»
Преимущества и недостатки RAID 6
Дисковые массивы RAID
Надежнее, чем RAID 5
Унификация корпоративных коммуникаций
Exchange и SAN: не все так просто
Cisco против Meru
 
 
Решения на открытых кодах » Linux - Сервер OpenVPN на CentOS 5.2

Представим ситуацию, когда пользователям вашей организации понадобился доступ извне к корпоративной почте или каким-либо другим данным. Я уверен, что вы можете настроить RPC over HTTPS, но есть и другие способы для достижения цели. Например, OpenVPN, который я нахожу достаточно удобным и надежным.

В этом простейшем HOWTO я покажу, как настроить это все хозяйство. Опытные пользователи вряд ли найдут здесь что-то интересное для себя.

В качесте допущения примем, что мы работаем с правами пользователя root и Selinux отключен, что указано в /etc/selinux/config. На случай, если OpenVPN не найдется в основном репозитарии, необходимо добавить репозитарий rpmforge (не описано в этой статье).

    yum install openvpncd /etc/openvpn/
    cp -R /usr/share/doc/openvpn-2.0.9/easy-rsa/ /etc/openvpn/
    cd /etc/openvpn/easy-rsa/2.0/
    ../vars
    chmod +rwx *
    ./clean-all
    source ./vars

Изменим значения вверху файла, чтобы они соответствовали нашим параметрам

    vi ../vars

Изменим значения вверху файла, чтобы они соответствовали нашим параметрам

    vi vars

Создаем сертификат CA:

    ./build-ca

Создаем файл server.key:

    source ./vars./clean-all
    ./build-ca
    ./build-key-server server

Редактируем файл openvpn.conf:

    vi /etc/openvpn/openvpn.conf

Хотя в файле конфигурации указано использовать tcp, считается, что на медленных линиях udp работает быстрее.

    port 1723 # (1194 is the default but on some APN networks this is blocked)proto tcp
    dev tun
    ca ca.crt
    cert server.crt
    key server.key
    dh dh1024.pem
    server 172.16.0.0 255.255.255.0
    push "dhcp-option DNS 192.168.168.1"
    push "dhcp-option DNS 168.210.2.2"
    #push "dhcp-option WINS 192.168.1.2"
    push "route 192.168.168.0 255.255.255.0"
    ifconfig-pool-persist ipp.txt
    keepalive 10 120
    comp-lzo
    user nobody
    group users
    persist-key
    persist-tun
    status openvpn-status.log

Копируем ключи и запускаем OpenVPN:

    cp keys/{ca.crt,ca.key,server.crt,server.key} /etc/openvpn/./build-dh
    cp keys/dh1024.pem /etc/openvpn/
    /etc/init.d/openvpn start
    chkconfig --list | grep vpn

Генерируем ключи по одному на каждого клиента:

    ./build-key <name>

Рассылаем ключи клиентам:

    cd keys/zip keys.zip ca.crt ca.key <name>.crt <name>.csr <name>.key
    yum install -y nail
    nail -s “Keys" -a keys.zip me@mydomain.co.za

Проверяем, запустился ли OpenVPN:

    netstat -ntpl | grep 1723

Настраиваем правила iptables:

            # External Interface for VPN        # VPN Interface
    VPNIF="tun0"
    VPNNET="172.16.0.0/24"
    VPNIP="172.16.0.1"
    ### OpenVPN
    $IPTABLES -A INPUT -i $EXTIF -p tcp -s $UNIVERSE -d $EXTIP --destination-port 1723 -j
    ACCEPT # OpenVPN
    $IPTABLES -A INPUT -i $EXTIF -p tcp -s $UNIVERSE -d $EXTIP --destination-port 1723 -j
    ACCEPT # OpenVPN
    # Allow TUN interface connections to OpenVPN server
    $IPTABLES -A OUTPUT -o $INTIF -s $EXTIP -d $VPNNET -j ACCEPT
    $IPTABLES -A OUTPUT -o $VPNIF -s $EXTIP -d $VPNNET -j ACCEPT
    # OpenVPN
    $IPTABLES -A FORWARD -i $EXTIF -o $VPNIF -m state --state ESTABLISHED,RELATED -j
    ACCEPT
    $IPTABLES -A FORWARD -o $INTIF -s $EXTIP -d $VPNNET -j ACCEPT
    $IPTABLES -A FORWARD -o $VPNIF -s $EXTIP -d $VPNIP -j ACCEPT
    $IPTABLES -A FORWARD -o $EXTIF -s $EXTIP -d $VPNNET -j ACCEPT
    $IPTABLES -A FORWARD -o $VPNIF -s $INTNET -d $VPNNET -j ACCEPT

Устанавливаем OpenVPN GUI на Windows XP

Поскольку OpenVPN сервер у нас установлен и ключи для клиентов сгенерированы, применим полученные знания на практике и осчастливим кого-нибудь установкой клиентской части.

  • Скачиваем клиентскую часть вот отсюда
  • Устанавливаем ее
  • В каталог C:\Program Files\OpenVPN\config выкладываем наши ключи и смотрим вообще, что там есть:
      ca.crtca.key
      <name>.crt (eg. johnl.crt)
      <name>.csr
      <name>.key
  • Редактируем файл client.ovpn таким образом, чтобы параметры соответствовали нашему серверу:
      # The hostname/IP and port of the server.# You can have multiple remote entries
      # to load balance between the servers.
      remote <myserver> 1723
      ;remote my-server-2 1194
      # SSL/TLS parms.
      # See the server config file for more
      # description. It's best to use
      # a separate .crt/.key file pair
      # for each client. A single ca
      # file can be used for all clients.
      ca ca.crt
      cert .crt
      key .key

Вот это собственно и все. Не забудьте настроить маршрутизацию!

Оригинал:  http://howtoforge.com/openvpn-server-on-centos-5.2




 
 
 
 
Поиск по сайту
Google Поиск


Яндекс поиск
 
 
Полезное
 
 
 
 
 
systemzone.ru 2014