Я недавно установил OpenVPN на свой сервер Windows 2003. Как только кто-то подключается к серверу, у него нет доступа в Интернет.
Я создал расширенный шлюз маршрутизации в dd-wrt
Destination LAN NET: 192.168.10.0
Subnet Mask: 255.255.255.252
Gateway: 192.168.1.110
Interface: Lan & WLAN
Я точно следил за этим сайтом: http://www.itsatechworld.com/2006/01/29/how-to-configure-openvpn/
РЕДАКТИРОВАТЬ: Я просто попытался подключиться через командную строку и получил следующую ошибку подсети - потенциальный конфликт подсети маршрута между локальной LAN [192.168.1.0/255.255.255.0] и удаленной VPN [192.168.1.0/255.255.255.0]
Файл моего сервера выглядит следующим образом:
local 192.168.1.110 # This is the IP address of the real network interface on the server connected to the router
port 1194 # This is the port OpenVPN is running on - make sure the router is port forwarding this port to the above IP
proto udp # UDP tends to perform better than TCP for VPN
mssfix 1400 # This setting fixed problems I was having with apps like Remote Desktop
push "dhcp-option DNS 192.168.1.1" # Replace the Xs with the IP address of the DNS for your home network (usually your ISP's DNS)
#push "dhcp-option DNS X.X.X.X" # A second DNS server if you have one
dev tap
#dev-node MyTAP #If you renamed your TAP interface or have more than one TAP interface then remove the # at the beginning and change "MyTAP" to its name
ca "ca.crt"
cert "server.crt"
key "server.key" # This file should be kept secret
dh "dh1024.pem"
server 192.168.10.0 255.255.255.128 # This assigns the virtual IP address and subent to the server's OpenVPN connection. Make sure the Routing Table entry matches this.
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1" # This will force the clients to use the home network's internet connection
keepalive 10 120
cipher BF-CBC # Blowfish (default) encryption
comp-lzo
max-clients 100 # Assign the maximum number of clients here
persist-key
persist-tun
status openvpn-status.log
verb 1 # This sets how detailed the log file will be. 0 causes problems and higher numbers can give you more detail for troubleshooting
Мой файл client1 выглядит следующим образом:
client
dev tap
#dev-node MyTAP #If you renamed your TAP interface or have more than one TAP interface then remove the # at the beginning and change "MyTAP" to its name
proto udp
remote my-dyna-dns.com 1194 #You will need to enter you dyndns account or static IP address here. The number following it is the port you set in the server's config
route 192.168.1.0 255.255.255.0 vpn_gateway 3 #This it the IP address scheme and subnet of your normal network your server is on. Your router would usually be 192.168.1.1
resolv-retry infinite
nobind
persist-key
persist-tun
ca "ca.crt"
cert "client1.crt" # Change the next two lines to match the files in the keys directory. This should be be different for each client.
key "client1.key" # This file should be kept secret
ns-cert-type server
cipher BF-CBC # Blowfish (default) encrytion
comp-lzo
verb 1
Заранее спасибо!
Мне кажется, что сервер передает клиенту опцию «redirect-gateway». Это заставляет клиента использовать VPN в качестве шлюза по умолчанию. Закомментируйте строку в конфигурации сервера 'push "redirect-gateway def1".
Ого, только что видел твою правку. Ваш клиент не может использовать те же IP-адреса, что и в локальной сети, к которой он подключается. Это не сработает. Один или другой конец должны использовать разные IP-адреса.
Редактировать:
Предполагая, что маршрутизация настроена правильно на вашем компьютере с Windows Server 2003 (см. Страницу www.itsatechworld.com, на которую вы ссылались), вы должны иметь возможность отправлять эхо-запрос на компьютер с Windows Server 2003 и Windows Vista по их IP-адресам в локальной сети через VPN. Если можете, то у вас есть маршрутизация прямо на машинах Windows Server 2003 и DD-WRT, и вы можете продолжить. Если нет, то вам нужно начать отслеживать, почему либо (1) трафик PING, исходящий из туннеля OpenVPN, не доходит до пункта назначения, либо (б) почему ответы PING от хоста назначения не возвращаются. Вы можете в конечном итоге поставить что-то вроде Wireshark на свой компьютер с Windows Vista, чтобы проверить, попадают ли запросы PING туда (поскольку PING не может сказать вам, получен ли ваш запрос, и ответ просто теряется).
Как только у вас есть IP-соединение через VPN, все работает нормально. Я бы рекомендовал установить службы DNS и WINS на ваш компьютер с сервером VPN с Windows Server 2003 и настроить серверный компьютер и домашний компьютер с Windows Vista на использование этого компьютера для WINS и DNS. Вы можете либо добавить DNS вашего провайдера в качестве «перенаправляемого» на компьютере с Windows Server 2003, либо оставить стандартные «корневые ссылки», настроенные для разрешения им разрешать имена в Интернете. В конфигурации сервера OpenVPN добавьте следующую строку сразу после строки 'push "dhcp-option DNS 192.168.1.1":
push "dhcp-option WINS 192.168.1.1"
Это позволит удаленным клиентам подключаться к серверам WINS и DNS на вашем компьютере с Windows Server 2003, а также даст вам разрешение имен DNS и NetBIOS.
Если вы не используете домен Active Directory дома, вы, вероятно, захотите настроить стандартную зону прямого просмотра на DNS-сервере Windows Server 2003 для регистрации компьютеров с Windows Server 2003 и Windows Vista. Вы захотите предоставить клиентам разрешение на динамическое обновление записей (хотя и небезопасно) при создании этой зоны. Вы должны добавить опцию «DNS-имя домена» (опция 15) в свою область DHCP дома, чтобы ваши клиентские компьютеры подбирали правильный суффикс DNS-имени домена. (Если вы используете DD-WRT для DNS, то я не могу сказать вам, как это сделать. Я парень OpenWRT, и я управляю своим WRT54G из командной строки. Я бы рекомендовал запускать DHCP с Windows Server. Во всяком случае, машина 2003 года, но мне больше нравится этот DHCP-сервер.)
Если вы используете домен Active Directory, у вас уже есть зона прямого просмотра, созданная в DNS. Поскольку ваши удаленные VPN-клиенты не являются членами вашего домена, они не смогут зарегистрироваться в DNS при стандартных настройках безопасности, которые Windows Server устанавливает в зоне DNS (по крайней мере, если вы позволите ему создать зону во время DCPROMO). Это небезопасно, но если вы хотите разрешить им регистрацию, вы можете либо (a - менее безопасно) изменить разрешение в зоне, чтобы разрешить небезопасные регистрации, либо (b - более безопасно, но все же небезопасно) создать для них записи A и PTR и изменить разрешение для каждой из этих записей, чтобы разрешить кому-либо их обновлять.
Похоже, это домашняя сеть, и это действительно хорошая возможность научиться многим вещам - IP-маршрутизации, VPN, разрешению имен. Возможно, вы ищете, чтобы это «просто работало», а не как возможность обучения, и в этом случае я могу только принести свои извинения и сказать, что эти вещи просто еще не «под ключ».
Вам нужно убедиться, что на вашем сервере Windows OpenVPN установлены службы маршрутизации.
Об этом упоминалось ранее, но настоятельно рекомендуется изменить сетевой адрес LAN на другой, кроме 192.168.1.X. Большинство Linksys и т. Д. Поставляются с этой сетью прямо из коробки, поэтому удаленные узлы не смогут получить доступ к узлам внутри вашей сети. Я вижу, что ваша сеть VPN настроена на 192.168.10.X, и это хорошо. Теперь установите для вашей локальной сети значение 192.168.5.X. Так будет лучше, поверьте мне.
Тогда вы можете включить шлюз перенаправления, но я бы не предлагал этого, так как он съест вашу пропускную способность. Если в вашей сети есть устройства IDS / IPS или что-то подобное, это может быть полезно.
Я бы поставил глагол выше 1 ... Я держу его на 4, чтобы посмотреть, что происходит.
Надеюсь, это поможет!
Комментарий Эвана правильный, за исключением того, что я настоятельно рекомендую вам рассмотреть возможность включения «шлюза перенаправления» и настройки сервера для приема всего интернет-трафика, по крайней мере, если вы выполняете фильтрацию контента. Если вы этого не сделаете, ваши ноутбуки станут (даже в большей степени) уязвимостью для вашей сети.
Обычно считается, что VPN с разделенным туннелем небезопасный поскольку он, по сути, предлагает злоумышленникам, скомпрометировавшим ноутбук, короткое замыкание на сочный центр вашей сети.
Это также задокументировано для Linux. Я нашел это здесь