Цель: я хочу иметь возможность безопасно пользоваться Интернетом через мой домашний ПК, когда мой ноутбук подключен к открытой точке доступа / точке доступа.
Я действительно знаю , что я могу использовать SSH туннель / SOCKS прокси, но я не хочу возиться с приложениями ( что делает их использовать, если вообще возможно). Я предполагаю, что мне нужна установка OpenVPN, поэтому я ищу подробное руководство о том, как:
- Установите и настройте сервер OpenVPN
- Настройте клиент OpenVPN (NetworkManager)
Версии Ubuntu, с которыми это должно работать, - 10.10 и 11.04.
networking
security
network-manager
vpn
openvpn
htorque
источник
источник
Ответы:
У меня есть точный вопрос несколько месяцев назад, но, кроме того, я хотел иметь подключение IPv6, если это возможно. Вас могут заинтересовать мои вопросы по Serverfault:
У меня был только один сетевой адаптер («сетевой интерфейс») на моем сервере для использования. В моей настройке NetworkManager было недостаточно, потому что мне нужно запустить собственный скрипт для поддержки IPv6. Однако для простоты я буду использовать NetworkManager здесь и опускать поддержку IPv6.
Сначала просто примите решение о методе аутентификации. Я буду использовать более безопасный метод сертификата, который работает как SSL: во время рукопожатия выбирается общий секрет, который будет использоваться для сеанса. Другие методы являются общим ключом; имя пользователя и пароль.
сервер
1. Подготовить
Сначала установите сервер openvpn. Это так же просто, как
sudo apt-get install openvpn
. Сложная часть - это настройка. Конфигурация присутствует в/etc/openvpn
.2. Настройте аутентификацию
Серверу нужны сертификаты для идентификации себя и своих клиентов. Эти сертификаты извлекаются из CA (Common Authority). Создание сертификатов и соответствующих закрытых ключей может быть выполнено на любой машине, это не обязательно должно выполняться на сервере. Если вы действительно параноик, вы должны сделать это на машине, которая не подключена к сети, и использовать карту памяти для передачи сертификатов.
Создайте CA и сертификаты для сервера
Этот шаг должен быть выполнен один раз, если закрытый ключ вашего ЦС не был скомпрометирован. В этом случае могут быть созданы действительные сертификаты, которые будут приняты сервером, что приведет к нарушению безопасности.
Официальная документация предполагает сделать администрацию
/etc/openvpn
. Я не большой поклонник запуска всего как root, поэтому я помещу его в другой каталог.Создайте каталог администрирования и скопируйте в него файлы, выполнив:
vars
, например, настройки,KEY_SIZE=2048
потому что вы параноик.Загрузите переменные и создайте каталог ключей, выполнив:
Если вы получили сообщение об ошибке
No ... openssl.cnf file could be found Further invocations will fail
, запуститеln -s openssl-1.0.0.cnf openssl.cnf
, а затем. vars
снова.Если вы впервые используете этот центр сертификации, подготовьте среду ключей. Вы не запускать эту команду , если вы хотите сохранить свой ранее созданный CA. Для этого вам потребуется развернуть новый
ca.crt
../build-ca
. Вы можете заполнить любую информацию по своему усмотрению, но обратите внимание, что эта информация будет видна в файлах журналов, когда клиенты подключаются к серверу. Это создаст файлыca.key
иca.crt
в подпапкеkeys
. Хранитеca.key
файл в секрете при любых обстоятельствах . В противном случае любой пользователь, имеющий ключ, сможет подключиться к вашему серверу../revoke-full server
. В противном случае вы получите ошибку базы данных.Создайте сертификат для сервера, выполнив:
При запросе пароля оставляйте его пустым, если вы не хотите вводить пароль при каждом запуске сервера (не рекомендуется). Подтвердите подпись сертификата и его совершение. В каталоге появятся два новых файла
keys
:server.key
иserver.crt
.DH и использовать подготовить для TLS-Auth
Генерация параметров Диффи-Хеллмана с использованием:
Для отвердения использовать
tls-auth
. Для этого сгенерируйте общий секретный ключ, используя:Полученный файл (
ta.key
) также должен быть распространен среди клиентов, но вы не должны делать его публичным.Создавайте сертификаты для клиентов
Для каждого клиента эти шаги должны быть повторены:
Введите каталог, в котором вы создали свой CA и сертификат сервера:
Если вы пропустили этап создания CA, потому что он у вас уже есть, вам сначала нужно загрузить переменные:
./revoke-full you
. В противном случае вы получите ошибку базы данных.Создайте сертификат клиента
you.key
и соответствующий сертификатyou.crt
:CommonName
Должен быть уникальным. Оставьте пароль пустым, если вы используете KDE, так как он не поддерживается на 10.10. Как и при создании сертификата сервера, подтвердите подпись сертификата и принятие изменений.3. Настройте сервис OpenVPN
По умолчанию OpenVPN запускается от имени root при приеме соединений. Не очень хорошая идея, если услуга доступна из злого Интернета.
Создайте выделенного пользователя для OpenVPN, скажем
openvpn
:Скопируйте файлы
server.key
,server.crt
,ca.crt
иdh1024.pem
(илиdh2048.pem
если вы изменили размер ключа) из каталога ключей в/etc/openvpn
. Разрешение 400 (только для чтения для владельца) в порядке.Скопируйте файл
ta.key
также:Создайте файл
/etc/openvpn/server.conf
и вставьте в него следующие строки:Установите соответствующие разрешения для этого, это не должно быть секретным, но я предпочитаю не пропускать детали конфигурации так:
4. Завершение сервера
Если вы создали сертификаты на сервере, рекомендуется зашифровать их или перенести с сервера. В любом случае не теряйте
ca.key
иserver.key
. В первом случае другие смогут подключиться к вашему серверу. В последнем MITM возможен.клиент
Помимо IP-адреса сервера администратор сервера должен передать следующие файлы:
ca.crt
: для проверки сертификатовserver.crt
: для проверки сервера и связи с нимta.key
: для усиления безопасностиyou.crt
: идентифицировать себя с серверомyou.key
: это как ваш пароль, права доступа к файлу должны быть 400 (только для чтения для владельца)1. Установка
Установите OpenVPN и плагин NetworkManager (подходит для KDE и Gnome):
network-manager-openvpn
находится в хранилище вселенной.2. Конфигурация
На панели управления используйте следующие данные:
ca.crt
you.crt
you.key
На продвинутом уровне :
Укажите путь к файлу ключа
ta.key
и установите для параметра «Направление ключа» значение1
.Если вы не можете заставить работать NetworkManager или не хотите его использовать, поместите файлы (
ca.crt
, ...)/etc/openvpn
и создайте/etc/openvpn/client.conf
файл:Если вы не хотите включать этот VPN во время загрузки, отредактируйте
/etc/default/openvpn
и раскомментируйте следующую строку, удалив#
:Чтобы запустить это соединение, запустите:
client
должен быть переименован, если ваш файл конфигурации не названclient.conf
. Пример: если вы назвали свой файл конфигурацииsafe.conf
, вам нужно запуститьsudo /etc/init.d/openvpn start safe
.Чтобы остановить OpenVPN, вы должны запустить:
источник
man openvpn
). Последние версии openvpn имеют возможность встраивать сертификаты и файлы ключей, поэтому, возможно, еще проще предоставить этот единственный файл конфигурации с инструкциями для пользователя.. vars
вышеуказанной команды может привести к ошибке, что «файл openssl.cnf может быть найден. Дальнейшие вызовы завершатся неудачно». Вам нужноsudo -s; cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/; ln -s openssl-1.0.0.cnf openssl.cnf
, а затем запустить. vars
и другие команды.whichopenssl
находитopenssl-1.0.0.cnf
файл (easy-rsa 2.3.2, OpenSSL 1.0.1e)Вам на самом деле не нужно возиться с какими-либо приложениями. Это работает "так же, как VPN".
Сначала установите
tsocks
пакет (временные носки):Затем отредактируйте
/etc/tsocks.conf
и введитеТеперь откройте терминал и введите (это соединяет вас):
Запустить (через другой терминал или ALT-F2):
Теперь Firefox передает всю связь через сервер SOCKS на вашем компьютере, который создал SSH. Кроме того, он направляется на ваш домашний компьютер, где он попадает в Интернет. Все, что вам нужно на домашней машине - это SSH-сервер. После первого раза просто повторите шаги 3 и 4.
Работает как часы! Увы, хром не любит цоксов, но эй, Firefox работает.
источник
Туннельное решение SSH проще, чем вы думаете. Программа типа gSTM запустит / остановит туннели для вас с графическим интерфейсом. Затем просто откройте «Сетевой прокси-сервер» и измените его с «Прямое подключение к Интернету» на «Конфигурирование прокси-сервера вручную», нажмите «Применить для всей системы», и все ваши приложения должны отправлять свои данные по туннелю - не нужно возиться с каждым из них по отдельности.
источник