Желаемый конечный результат:
Проблема:
Ноутбук успешно (?) Подключился к серверу. Однако ноутбук не может получить доступ к каким-либо ресурсам в подсети (192.168.111.0).
Ноутбук извлекает шлюз DHCP (192.168.111.1), но не может получить IP-адрес.
Вот что я сделал до сих пор. Я борюсь с этим уже несколько дней (на самом деле недель, если считать предыдущие попытки, которые в конечном итоге закончились тем, что я отказался), и я не могу понять, в чем проблема.
Как вы видите на этом изображении, у меня есть маршрутизатор Linksys, подключенный к Интернету. К нему подключена учетная запись DynDNS, и под ней есть два компьютера, к которым я хочу получить доступ: NAS под управлением Windows 10 с общими ресурсами SMB и хост виртуальной машины под управлением Virtualbox на Windows 8.1 Embedded. VM Host запускает несколько виртуальных машин под управлением Windows 10, 7 и XP, которые я использую для работы и тестирования своих проектов веб-дизайна, а также два Linux-сервера под управлением Ubuntu Server 18.04, один из которых является рассматриваемым сервером OpenVPN. Я установил на нем два сетевых интерфейса. Один порт (~ .191) в настоящее время перенаправлен в Интернет, поэтому я могу подключиться к нему по SSH, а другой (~ .200) настроен для моста.
Я хочу, чтобы моему ноутбуку был назначен IP-адрес подсети 192.168.111.- и он имел доступ к общим ресурсам SMB и RDP на виртуальных машинах. Мне удалось настроить сервер и сгенерировать сертификаты RSA и установить соединение между моим ноутбуком и сервером VPN, но я не могу получить доступ к любому другому компьютеру в сети или пропинговать его. Я веб-дизайнер / веб-дизайнер и не могу сказать, что знаком с внутренними сетями или Linux, поэтому, честно говоря, я даже не уверен, правильно ли я делаю это. Приветствуются любые идеи или подсказки. Спасибо.
Следующие ссылки - это журналы и файлы конфигурации сервера и клиента, а также ifconfig сервера. Первоначальная настройка основана на этот учебник, и внес некоторые изменения на основе этот учебник по мосту Ethernet.
У меня дома точная настройка, к которой вы стремитесь.
У меня есть учетная запись DynDNS, настроенная в моем маршрутизаторе, и сервер OpenVPN, работающий на физическом хосте Linux, который настроен с мостовой сетевой картой, а также запускает несколько машин KVM, которые также доступны с клиентских машин OpenVPN и другой машины Windows с общими ресурсами SMB.
Это моя установка:
Подсеть моей домашней сети:
10.13.0.0/24
Мой сервер OpenVPN назначает IP-адреса клиентских машин OpenVPN в следующей сетевой подсети:
10.14.0.0/24
Каждая машина в моей домашней подсети (10.13.0.0/24) настроена со статическим маршрутом к подсети OpenVPN (10.14.0.0/24), и каждая клиентская машина OpenVPN получает отправленный маршрут в домашнюю подсеть от сервера OpenVPN, поэтому Клиенты OpenVPN могут устанавливать двустороннее соединение с машинами в моей домашней сети.
Вот ваши действия:
Настройте свой сервер OpenVPN следующим образом:
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
comp-lzo
dev tun
group nobody
ifconfig-pool-persist ipp.txt
keepalive 10 120
key /etc/openvpn/easy-rsa/2.0/keys/server.key # This file should be kept secret
persist-key
persist-tun
port 1195
proto tcp
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
push "route 10.13.0.0 255.255.255.0"
push "route 10.14.0.0 255.255.255.0"
server 10.14.0.0 255.255.255.0
status port_1195.log
verb 3
Измените TCP на UDP, только если вы предпочитаете, и номер порта, если хотите другой.
На вашем компьютере с Windows добавьте следующий маршрут (-p = Статический маршрут):
route ADD <OpenVPN subnet> MASK 255.255.255.0 <Router IP> -p
На ваших машинах с Linux добавьте следующий маршрут:
route add -net <OpenVPN subnet/size> gw <Router IP>
В дополнение к вышесказанному вам также необходимо настроить правило переадресации портов в вашем маршрутизаторе, которое выглядит так:
Некоторое время назад я написал очень обширное руководство для этого процесса, и хотя оно написано для CentOS Linux, шаги маршрутизации, которые я описал в статье, применимы ко всем разновидностям Linux, поэтому я рекомендую вам проверить моя статья Чтобы получить больше информации.
Надеюсь, я помог.