Дополнительная информация для тех, кто хочет это сделать:
PPTP
Это простой, небезопасный способ, если вы просто пытаетесь сделать что-то простое, как то, что я пытаюсь сделать здесь. Эти инструкции охватывают это:
http://www.howtogeek.com/51772/how-to-setup-a-vpn-server-using-a-dd-wrt-router/
Дополнительная информация:http://www.dd-wrt.com/wiki/index.php/VPN
Но я обнаружил, что мне нужно перезагрузить маршрутизатор, чтобы настройки вступили в силу. Как только я это сделал, подключение из Windows 7 было простым. Я смог проверить соединение, пока сидел за роутером.
OpenVPN
Это не легко. Я начал с этих инструкций:http://www.dd-wrt.com/wiki/index.php/VPN_(the_easy_way)_v24%2B
К сожалению, они для более старой версии DD-WRT. Некоторое дополнение к инструкции там:
Каждый раз, когда он говорит «Общее имя», вы должны называть сертификат / пару ключей тем же, что и Общее имя. Так, например, при генерации ключей сервера, если вы планируете использовать ddwrt.crt и ddwrt.key, вам нужно использовать команду:
build-key-server ddwrt
Затем, когда он запрашивает общее имя, снова введите ddwrt
.
Более новая версия DD-WRT имеет опции "GUI" и "config file". Используйте опцию GUI.
Этот интерфейс изменился и теперь имеет 2 поля: Сертификат публичного сервера и Сертификат CA. Это устраняет путаницу в отношении того, что поместить в каждый. Очевидно, вы копируете / вставляете ваш ca.crt в CA Cert, а ваш server.crt (или ddwrt.crt или как вы его называете) в Public Server Cert, и только части между BEGIN и END.
Там, где они описывают файл конфигурации сервера, они ссылаются на поле Additional Config. Вот что я использовал:
push "route 192.168.9.1 255.255.255.0"
server 192.168.8.0 255.255.255.0
dev tun0
proto tcp
keepalive 10 120
dh /tmp/openvpn/dh.pem
ca /tmp/openvpn/ca.crt
cert /tmp/openvpn/cert.pem
key /tmp/openvpn/key.pem
# Only use crl-verify if you are using the revoke list &#-106; otherwise leave it commented out
# crl-verify /tmp/openvpn/ca.crl
# management parameter allows DD-WRTs OpenVPN Status web page to access the servers management port
# port must be 5001 for scripts embedded in firmware to work
management localhost 5001
В моем случае 192.168.9.1 - это локальный IP-адрес моего маршрутизатора, который я настроил в другом месте интерфейса DD-WRT. 192.168.8.0 относится к новой сети специально для OpenVPN, не используемой где-либо еще. Это начальный IP для сети; вам нужно будет ввести тот же IP-адрес в новом поле «Сеть», а затем ввести стандартную маску сети в маске сети (255.255.255.0).
Я использовал TCP, AES-128-CBC и SHA1.
На шаге брандмауэра был текст, который, если копировать / вставлять напрямую, вызывал появление сумасшедших сущностей HTML в командах брандмауэра, которые все испортили, поэтому здесь они не имеют проблемного форматирования (например, emdashes):
iptables -I INPUT 1 -p udp --dport 1194 -j ACCEPT
iptables -I FORWARD 1 --source 192.168.8.0/24 -j ACCEPT
iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -o br0 -j ACCEPT
Обратите внимание, что я использую IP-адрес сети OpenVPN - 192.168.8.0 - во второй строке. Не забудьте нажать кнопку Сохранить брандмауэр после заполнения, а не команды запуска.
И снова, после сохранения всего, мне пришлось перезагрузиться, чтобы настройки приняли.