Идем в /etc/openvpn/easy-rsa и запускаем генерацию клиентских ключей:
./pkitool --interact --pkcs12 _имя_
на все вопросы отвечаем по умолчани и оставляем все как есть (без пароля).
К примеру у нас _имя_ = notebook, в итоге выполнения команды
./pkitool --interact --pkcs12 notebook
в keys появляются файлы:
notebook.crt, notebook.csr, notebook.key, notebook.p12
добавим к ним сгенирированные ранее ca.crt и ta.key - и в в результате получаем полный комплект необходимых ключей.
Показаны сообщения с ярлыком OpenVPN. Показать все сообщения
Показаны сообщения с ярлыком OpenVPN. Показать все сообщения
понедельник, 17 августа 2015 г.
пятница, 11 ноября 2011 г.
Доступ к интернету через VPN тунель
Докатились таки власти до попытки контроля трафика и контента.
Поднять туннель не слишком сложно. Нужен сервер за границей, пойдет и полудохлый VPS - желательно с неограниченным трафиком (ну либо достаточно большим).
Прочитать можно тут настройка OpenVPN
Итак подняли - в результате на сервере где-то в иностранном интернете появится дополнительный сетевой интерфейс tun0 с ip 10.8.0.1.
У Вас на компьютере будет что-то вроде tun0 с ip 10.8.0.5
На сервере
по минимуму (лучше конечно нормально настроить файрвол):
* включаем форвардинг
echo "1" > /proc/sys/net/ipv4/ip_forward
* настраиваем SNAT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -d 0/0 -j SNAT --to-source _ip_сервера_
Теперь сервер будет перенаправлять запросы из подсети 10.8.0.0 на внешние сети и при получении ответа заворачивать обратно в туннель.
На клиенте
* маршрут на ваш сервер через шлюз провайдера
route add -host _ip_сервера_ gw _ip_шлюза_провайдера_ eth0
(вместо eth0 может быть ppp0 и т.п.)
* маршрут на подсеть туннеля
route add -net 10.8.0.0 netmask 255.255.255.0 dev tun0
* убиваем маршрут по умолчанию от провайдера
route del default gw _ip_шлюза_провайдера_ eth0
(вместо eth0 может быть ppp0 и т.п.)
* устанавливаем шлюз по умолчанию на наш туннель
route add default gw 10.8.0.1 tun0
Естественно, все это лучше завернуть в скрипты. Да и сами конфиги туннеля настроить так, что бы они выдавали часть настроек сами.
Поднять туннель не слишком сложно. Нужен сервер за границей, пойдет и полудохлый VPS - желательно с неограниченным трафиком (ну либо достаточно большим).
Прочитать можно тут настройка OpenVPN
Итак подняли - в результате на сервере где-то в иностранном интернете появится дополнительный сетевой интерфейс tun0 с ip 10.8.0.1.
У Вас на компьютере будет что-то вроде tun0 с ip 10.8.0.5
На сервере
по минимуму (лучше конечно нормально настроить файрвол):
* включаем форвардинг
echo "1" > /proc/sys/net/ipv4/ip_forward
* настраиваем SNAT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -d 0/0 -j SNAT --to-source _ip_сервера_
Теперь сервер будет перенаправлять запросы из подсети 10.8.0.0 на внешние сети и при получении ответа заворачивать обратно в туннель.
На клиенте
* маршрут на ваш сервер через шлюз провайдера
route add -host _ip_сервера_ gw _ip_шлюза_провайдера_ eth0
(вместо eth0 может быть ppp0 и т.п.)
* маршрут на подсеть туннеля
route add -net 10.8.0.0 netmask 255.255.255.0 dev tun0
* убиваем маршрут по умолчанию от провайдера
route del default gw _ip_шлюза_провайдера_ eth0
(вместо eth0 может быть ppp0 и т.п.)
* устанавливаем шлюз по умолчанию на наш туннель
route add default gw 10.8.0.1 tun0
Естественно, все это лучше завернуть в скрипты. Да и сами конфиги туннеля настроить так, что бы они выдавали часть настроек сами.
четверг, 10 ноября 2011 г.
Настройка OpenVPN
Настройка сервера.
Установим
aptitude install openvpn
Копируем файлики для генерации ключей и немного поднастроим:
cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /etc/openvpn/easy-rsa
если нужно, то редактируем строки в конце файла /etc/openvpn/easy-rsa/vars (страна, город и т.д.)
mkdir /etc/openvpn/easy-rsa/keys
touch /etc/openvpn/easy-rsa/keys/index.txt
echo "00">/etc/openvpn/easy-rsa/keys/serial
cd /etc/openvpn/easy-rsa
source ./vars
chmod 700 ./vars
Создаём личный ключ и сертификат центра сертификации, на основе которых будут сертифицироваться прочие выдаваемые ключи:
./build-ca
Генерация ключей происходит в папке /etc/openvpn/easy-rsa. Перед каждым сеансом генерации ключей не забываем загружать переменные:
source ./vars
Генерируем ключ сервера:
./build-key-server server
Генерация сертификата и личного ключа клиента
source ./vars
./build-key computer2
Создаём параметр DH (Алгоритм Диффи — Хеллмана):
./build-dh
Генерируем TLS ключ:
openvpn --genkey --secret /etc/openvpn/easy-rsa/keys/ta.key
Настройка openvpn сервера
делаем отдельную папку keys в папке openvpn и копируем туда необходимые для работы сервера файлы:
mkdir /etc/openvpn/keys
cd /etc/openvpn/easy-rsa/keys/
cp ca.crt ca.key /etc/openvpn/keys/
mv server.crt server.key dh1024.pem ta.key /etc/openvpn/keys/
Запросы на генерацию сертификата можно удалить:
rm server.csr
Копируем примерный файл настройки сервера openvpn (а можно просто создать):
gzip -cd /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz >> /etc/openvpn/server.conf
Примерное содержание server.cong
# адрес на котором слушать входящие запросы.
# закоментированно, значит на всех
;local a.b.c.d
port 1194
proto udp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
tls-auth keys/ta.key 0
cipher BF-CBC
comp-lzo
max-clients 30
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
Собственно говоря, на этом и все. Можно настроить выдачу шлюза по умолчанию и пр. редактируя server.conf
Есть вероятность, что tun на сервере не запущен
modprobe tun
Запускаем /etc/init.d/openvpn start и смотрим в лог /var/log/openvpn-status.log все ли нормально.
Проверяем вывод ifconfig. Должен появиться дополнительный интерфейс tun0 со своим ip
================================
Настройка клиента
Установим
aptitude install openvpn
Скопируем в папку с секьюрными правами файлы ca.crt computer2.key computer2.crt
к примеру в /etc/openvpn/keys/
затем в /etc/openvpn создадим конфиг _domain_.conf (удобно хранить названия домена, конфигов может быть несколько на разные сервера)
За основу можно взять /usr/share/doc/openvpn/examples/sample-config-files/client.conf
client
remote _domain_ 1194
proto udp
ca /etc/openvpn/keys/ca.crt
key /etc/openvpn/keys/computer2.key
cert /etc/openvpn/keys/computer2.crt
daemon
dev tun
Есть вероятность, что tun на клиенте не запущен
modprobe tun
Запуск клиента производится командой вида
openvpn --config /etc/openvpn/_domain_.conf
Проверяем вывод ifconfig. Должен появиться дополнительный интерфейс tun0 со своим ip
Установим
aptitude install openvpn
Копируем файлики для генерации ключей и немного поднастроим:
cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /etc/openvpn/easy-rsa
если нужно, то редактируем строки в конце файла /etc/openvpn/easy-rsa/vars (страна, город и т.д.)
mkdir /etc/openvpn/easy-rsa/keys
touch /etc/openvpn/easy-rsa/keys/index.txt
echo "00">/etc/openvpn/easy-rsa/keys/serial
cd /etc/openvpn/easy-rsa
source ./vars
chmod 700 ./vars
Создаём личный ключ и сертификат центра сертификации, на основе которых будут сертифицироваться прочие выдаваемые ключи:
./build-ca
Генерация ключей происходит в папке /etc/openvpn/easy-rsa. Перед каждым сеансом генерации ключей не забываем загружать переменные:
source ./vars
Генерируем ключ сервера:
./build-key-server server
Генерация сертификата и личного ключа клиента
source ./vars
./build-key computer2
Создаём параметр DH (Алгоритм Диффи — Хеллмана):
./build-dh
Генерируем TLS ключ:
openvpn --genkey --secret /etc/openvpn/easy-rsa/keys/ta.key
Настройка openvpn сервера
делаем отдельную папку keys в папке openvpn и копируем туда необходимые для работы сервера файлы:
mkdir /etc/openvpn/keys
cd /etc/openvpn/easy-rsa/keys/
cp ca.crt ca.key /etc/openvpn/keys/
mv server.crt server.key dh1024.pem ta.key /etc/openvpn/keys/
Запросы на генерацию сертификата можно удалить:
rm server.csr
Копируем примерный файл настройки сервера openvpn (а можно просто создать):
gzip -cd /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz >> /etc/openvpn/server.conf
Примерное содержание server.cong
# адрес на котором слушать входящие запросы.
# закоментированно, значит на всех
;local a.b.c.d
port 1194
proto udp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
tls-auth keys/ta.key 0
cipher BF-CBC
comp-lzo
max-clients 30
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
Собственно говоря, на этом и все. Можно настроить выдачу шлюза по умолчанию и пр. редактируя server.conf
Есть вероятность, что tun на сервере не запущен
modprobe tun
Запускаем /etc/init.d/openvpn start и смотрим в лог /var/log/openvpn-status.log все ли нормально.
Проверяем вывод ifconfig. Должен появиться дополнительный интерфейс tun0 со своим ip
================================
Настройка клиента
Установим
aptitude install openvpn
Скопируем в папку с секьюрными правами файлы ca.crt computer2.key computer2.crt
к примеру в /etc/openvpn/keys/
затем в /etc/openvpn создадим конфиг _domain_.conf (удобно хранить названия домена, конфигов может быть несколько на разные сервера)
За основу можно взять /usr/share/doc/openvpn/examples/sample-config-files/client.conf
client
remote _domain_ 1194
proto udp
ca /etc/openvpn/keys/ca.crt
key /etc/openvpn/keys/computer2.key
cert /etc/openvpn/keys/computer2.crt
daemon
dev tun
Есть вероятность, что tun на клиенте не запущен
modprobe tun
Запуск клиента производится командой вида
openvpn --config /etc/openvpn/_domain_.conf
Проверяем вывод ifconfig. Должен появиться дополнительный интерфейс tun0 со своим ip
Подписаться на:
Сообщения (Atom)