У меня есть сервер под управлением Ubuntu Server 9.10, и мне иногда нужен доступ к нему и другим частям моей сети, когда я не дома. Есть два места, откуда мне нужно получить доступ к VPN. Одно из мест со статическим IP-адресом, а другое - с динамическим, но с настройкой DynDNS, поэтому я всегда могу получить текущий IP-адрес, если захочу.
Когда дело доходит до серверов, люди называют меня своего рода параноиком, но безопасность всегда является моим приоритетом номер один, и мне никогда не нравится разрешать доступ к серверу за пределами сети, поэтому у меня есть две вещи, которые у меня есть в этой VPN. Один из них не должен быть доступен с любого другого IP-адреса, кроме этих 2, и два он должен использовать очень безопасный ключ, так что будет практически невозможно подобрать даже с указанных IP-адресов.
У меня нет опыта настройки VPN, я использовал SSH-туннелирование, но никогда не использовал настоящий VPN. Итак, что было бы лучшим, наиболее стабильным, безопасным и эффективным способом установки этого на сервере Ubuntu? Возможно ли это, или я должен просто установить какой-то SSH-туннель вместо этого?
Заранее благодарим за ответы.
По моему опыту, самый надежный VPN-сервис, который вы можете запустить, - это OpenVPN. Настройка сертификатов в первый раз немного сложна. Используя что-то вроде TinyCA должны сделать создание сертификатов намного проще, чем их создание вручную. Увидеть документы и вопросы здесь помечены openvpn для подсказок по настройке.
Если туннель SSH может удовлетворить ваши потребности, я бы посоветовал вам придерживаться его. С ним очень легко работать и он довольно гибкий. Если вы хотите использовать ssh регулярно, вы можете использовать менеджер туннеля чтобы упростить повседневное использование.
Согласитесь, OpenVPN - самое простое решение для настройки. Вы также можете посмотреть Сервер OpenVPN-AS, который чрезвычайно легко настроить в Ubuntu и предоставляет отличный интерфейс веб-управления. Это бесплатно для 1-2 одновременных подключений, а до 10 подключений можно лицензировать за 50 долларов.
Для ограничения VPN для определенных IP-адресов в Ubuntu вы можете просто использовать ufw:
#CAUTION - Be careful if you're doing this remotely
# over ssh or other as you could easily lock yourself out.
sudo ufw disable
sudo ufw default deny
sudo ufw allow proto udp from 10.0.0.1 to 192.168.0.1 port 1194
sudo ufw allow proto udp from 10.0.0.2 to 192.168.0.1 port 1194
sudo ufw allow proto tcp from 192.168.0.0/24 to 192.168.0.1 port 22
sudo ufw allow proto tcp from 192.168.0.0/24 to 192.168.0.1 port 443
sudo ufw enable
В этом примере открывается UDP-порт 1194 (порт прослушивания по умолчанию для OpenVPN) для 2 разных IP-адресов и разрешается ssh и безопасный веб-доступ к IP-адресам в той же подсети, что и сервер, для управления.