Возникла надобность поднять свой VPN-сервер на роутере, а точнее дополнительный, так как обычный PPTP уже был настроен, но доблестный МТС режет GRE туннель и из-за этого нет возможности к нему подключаться. Выход — разбираться и ставить OpenVPN.

1. Будем считать, что прошивка на роутере уже установлена. Внутренний IP адрес роутера 192.168.111.1

В сети очень много мануалов, но ни один не подходил для моих целей, так как были вечные проблемы с пингом, роутингом и вообще хождением пакетов между узлами. Наконец-то выяснив, что да как, выкладываю свой вариант конфига и правил для брэндмауэра.

2. Как и где генерить ключи расписывать пока тоже не буду. Это есть в интернете.
Генерируем, добавляем их в поля в прошивке DD-WRT, генерируем так же ключи и сертификаты для клиентов.

3. Настройки OpenVPN сервера:

OpenVPN     Enable
Start Type    WAN Up
System Config as Daemon

Additional Config

dev tun0
proto udp
client-to-client
push "route 192.168.111.0 255.255.255.0"
push "redirect-gateway def1"
#push "route-gateway 192.168.111.1"
push "dhcp-option DNS 192.168.111.1"
server 10.8.0.0 255.255.255.0
route 10.8.0.0 255.255.255.0
keepalive 30 120
comp-lzo
dh /tmp/openvpn/dh.pem
ca /tmp/openvpn/ca.crt
cert /tmp/openvpn/cert.pem
key /tmp/openvpn/key.pem
persist-key
persist-tun

4. Вкладка Security.

SPI Firewall     Disable

5. Вкладка Adminisrtation — Commands

iptables -I INPUT 1 -p udp --dport 1194 -j ACCEPT
iptables -I FORWARD 1 --source 192.168.111.0/24 -j ACCEPT
iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -o br0 -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o ppp0 -j MASQUERADE

Все вплоть до последнего правила разрешает нам ходить пакетам между интерфейсами. Последнее правило НАТ для подключенных клиентов, чтобы они могли ходить в интернет. ppp0 это PPPoE интерфейс поднятый на роутере на провайдера. 10.8.0.0 сеть образуемая тунелем.

И сохраняем это дело как Firewall script.

Все. Можно подключаться клиентами.

Страницы: 1 2