Настройка OpenVPN в Linux
Материал из Raduga.
Настройка OpenVPN под OC Linux (в моем случае Ubuntu 7.10)
Краткие сведения:
Система: P3-700MHz (256 SDRAM)
Наземный канал: выделенная линия (NAT)
DVB карта: SkyStar2 2.6D
Спутник: IntelSat904
1. Скачиваем с сайта последнюю версию OpenVPN (в моем случае версия 2.0.9). Для установки потребуется библиотека LZO(в моем случае версия 2.02), качаем отсюда (полный пакет). Разархивируем LZO:
tar -xvvzf lzo-2.02.tar.gz
в соответствующем каталоге собираем:
./configure make make install
Разархивируем OpenVPN
tar -xvvzf openvpn-2.0.9.tar.gz
в соответствующем каталоге собираем (у меня ругалась на библиотеку OpenSSL, установите пакет libssl-dev либо openssl-devel)
./configure make make install
2. Скачиваем ключи для OpenVPN в личном кабинете, разархивируем в папку /etc/openvpn
3. (в нужных строках впишите свои параметры)
ip адреса наших серверов для разных спутников:
IPадресНашегоСервера - для Intelsat 904(платформа A,B и C) - 80.81.208.82
IPадресНашегоСервера - для Yamal 201 Ku - 80.81.208.66
IPадресНашегоСервера - для Yamal 201 С - 217.17.162.2
IPадресНашегоСервера - для Yamal 202 C - 217.17.162.2
IPадресНашегоСервера - для ABS-1 - 81.222.123.2
IPадресНашегоСервера - для Sirius-4 - 81.222.123.4
IPадресНашегоСервера - для Express AM1- 80.81.209.162
IPадресНашегоСервера - для Express AM22 - 80.81.209.163
Открываем файл client.ovpn, запоминаем порт, ip адрес подписки, заменяем текст конфиг файла нижепреведенным
dev tap port НомерПорта proto udp remote IPадресНашегоСервера comp-lzo comp-noadapt ifconfig ВашIPадресПодписки 255.255.255.0 route-noexec tun-mtu 1400 tls-client ca /etc/openvpn/ca.crt cert /etc/openvpn/ВашЛогинПодписки.crt key /etc/openvpn/ВашЛогинПодписки.key ns-cert-type server user nobody group nobody verb 4
4. Поднимаем dvb0_0, ловим сигнал, прописываем PID и IP адрес (в данной инструкции рассматривается уже
настроенная dvb-карта)
szap -c /etc/channels.list -n 3 (ловим транспондер) /usr/bin/dvbnet -p 4155 (в моем случае PID 4155dec) ifconfig dvb0_0 192.168.238.238 (ip адрес на интерфейсе dvb в случае настройки OpenVPN значения не имеет)
5. Проверяем DVB-карту на прием пакетов
tcpdump -i dvb0_0 -n
6. Прописываем маршрут до сервера (необходим пакет iproute2)
ip route add IPадресНашегоСервера via ВашIPшлюзаНаземного src ВашIPадресИсходящийНаземный
7. Запускаем OpenVPN (должен появиться интерфейс tap0)
openvpn --config /etc/openvpn/client.ovpn
8. После запуска не нужно сразу же удалять маршрут по умолчанию, предварительно нужно проверить работу туннеля.
ip route add IPадресСервернойСтороныТуннеля dev tap0
Где IPадресСервернойСтороныТуннеля - это ВашIPадресПодписки, только в последнем разряде должна быть всегда "1". Пример для Intelsat 904 и подписки, у которой ВашIPадресПодписки 10.255.139.17:
ip route add 10.255.139.1 dev tap0
9. Проверьте работу туннеля(рассмотрено на моем ip подписки)
ping 10.255.139.1 PING 10.255.139.1 (10.255.139.1) 56(84) bytes of data. 64 bytes from 10.255.139.1: icmp_seq=1 ttl=63 time=276 ms 64 bytes from 10.255.139.1: icmp_seq=2 ttl=63 time=289 ms
10. Удаляем default маршрут и прописываем маршрутом default туннель OpenVPN
ip route del default ip route add default via IPадресСервернойСтороныТуннеля src ВашIPадресПодписки
11. Вот и все... Далее можно написать скрипт для быстрого старта, для примера мой выглядит так:
#!/bin/bash /usr/bin/dvbnet -p 4155 ifconfig dvb0_0 192.168.238.238 szap -c /etc/channels.conf -n3 > /tmp/szap.log & openvpn --config /etc/openvpn/client.ovpn > /tmp/openvpn.log & sleep 15 ip route add 80.81.208.82 via 192.168.0.101 src 192.168.0.30 ip route add 10.255.139.1 dev tap0 route del default ip route add default via 10.255.139.1 src 10.255.139.17
12. Скрипт отключения и восстановления default маршрута наземного провайдера:
#!/bin/bash killall szap route add -net default gw 192.168.0.101 dev eth0 killall openvpn route del 80.81.208.82
