OpenVPN Ubuntu Server + OpenVPN Windows Vista
Поиск по форуму понятного для меня ответа на мой вопрос не дал, поэтому создаю новую тему.
Задача: Получить доступ к локалке, а значит ее шарам и сервисам с удаленной машины. Схема работы такая:
[10.0.0.199/255.0.0.0] - Локалка, юзер1 [10.0.0.200/255.0.0.0] - Локалка, сервер1 | [10.0.0.0/255.0.0.0] - Целевая локалка короче :) | [10.0.0.201/255.0.0.0] - Шлюз в инет на Ubuntu Server 9.04, eth0 [10.8.0.0/255.255.255.0] - Это, как я понял, VPN-сетка [193.222.ххх.ххх] - Шлюз в инет на Ubuntu Server 9.04, eth1 | [ip_провайдера] - Тут ADSL-маршрутизатор. С ним 100% все ОК, и ничего настраивать не надо. | [192.168.1.0/255.255.255.0] - Локалка у клиента | [192.168.1.3/255.255.255.0] - Клиент на Windows Vista + OpenVPN 2.1-RC7
Судя по зеленым :) экранам в трее на клиенте и по логам на сервере коннект проходит нормально. Более того, в роутинге тоже, вроде как, все в порядке.
Но пинг от 192.168.1.3 до, например, 10.0.0.201 или 10.0.0.199 не идет, как в принципе и обратно.
Конфиг на сервере, Ubuntu Server 9.04:
port 1194
proto udp
dev tun
ca "/etc/openvpn/keys/ca.crt"
cert "/etc/openvpn/keys/server.crt"
key "/etc/openvpn/keys/server.key" # Этот файл хранить в секрете!
dh "/etc/openvpn/keys/dh1024.pem"
# включаем TLS аутификацию
tls-server
# указываем tls-ключ, и указываем 0 для сервера, а 1 для клиента
tls-auth "/etc/openvpn/keys/ta.key" 0
# таймаут до реконекта tls-timeout 120
auth MD5
#задаем IP-адрес сервера и маску подсети
server 10.8.0.0 255.255.255.0
#задаем МАРШРУТ который передаём клиенту
# и маску подсети для того чтобы он "видел"
# сеть за OpenVPN сервером (сеть 192.168.1.0/24)
push "route 10.0.0.0 255.0.0.0"
ifconfig-pool-persist "/etc/openvpn/config/ipp.txt"
# удерживать соединение (полезно при работе через nat, proxy и т.п.)
keepalive 10 120
# включаем шифрацию пакетов
cipher BF-CBC
# включить сжатие
comp-lzo
# максимум клиентов
max-clients 5
persist-key
persist-tun
# клиенты могут "видеть" друг друга
client-to-client
status "/etc/openvpn/log/openvpn-status.log"
log "/etc/openvpn/log/openvpn.log"
log-append "/etc/openvpn/log/openvpn.log"
# уровень детализации отчетов
verb 3
Вот это добавил к своему скрипту iptables:
-A INPUT -p gre -s 0/0 -j ACCEPT
-A INPUT -p 47 -s 0/0 -j ACCEPT
-A OUTPUT -p gre -m state --state RELATED, ESTABLISHED -j ACCEPT
-A udp_packets -p UDP -s 0/0 --destination-port 1194 -j ACCEPT
Конфиг на клиенте, Windows Vista Ultimate:
client
dev tun
proto udp
# IP-адрес и порт сервера OpenVPN)
remote 193.222.xxx.xxx 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca "C:Program FilesOpenVPNconfigca.crt"
cert "C:Program FilesOpenVPNconfigclient1.crt"
key "C:Program FilesOpenVPNconfigclient1.key"
tls-client
tls-auth "C:Program FilesOpenVPNconfig a.key" 1
auth MD5
ns-cert-type server
comp-lzo
verb 3
route print на клиенте до подключения:
IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.3 25
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
192.168.1.0 255.255.255.0 On-link 192.168.1.3 281
192.168.1.0 255.255.255.0 On-link 192.168.1.99 276
192.168.1.3 255.255.255.255 On-link 192.168.1.3 281
192.168.1.99 255.255.255.255 On-link 192.168.1.99 276
192.168.1.255 255.255.255.255 On-link 192.168.1.3 281
192.168.1.255 255.255.255.255 On-link 192.168.1.99 276
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 192.168.1.3 301
224.0.0.0 240.0.0.0 On-link 192.168.1.99 277
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.1.3 281
255.255.255.255 255.255.255.255 On-link 192.168.1.99 276
route print на клиенте после подключения:
IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.3 25
10.0.0.0 255.0.0.0 10.8.0.5 10.8.0.6 30
10.8.0.0 255.255.255.0 10.8.0.5 10.8.0.6 30
10.8.0.4 255.255.255.252 On-link 10.8.0.6 286
10.8.0.6 255.255.255.255 On-link 10.8.0.6 286
10.8.0.7 255.255.255.255 On-link 10.8.0.6 286
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
192.168.1.0 255.255.255.0 On-link 192.168.1.3 281
192.168.1.0 255.255.255.0 On-link 192.168.1.99 276
192.168.1.3 255.255.255.255 On-link 192.168.1.3 281
192.168.1.99 255.255.255.255 On-link 192.168.1.99 276
192.168.1.255 255.255.255.255 On-link 192.168.1.3 281
192.168.1.255 255.255.255.255 On-link 192.168.1.99 276
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 192.168.1.3 301
224.0.0.0 240.0.0.0 On-link 192.168.1.99 277
224.0.0.0 240.0.0.0 On-link 10.8.0.6 286
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.1.3 281
255.255.255.255 255.255.255.255 On-link 192.168.1.99 276
255.255.255.255 255.255.255.255 On-link 10.8.0.6 286
Вопрос: Что я делаю не так? Вроде бы все говорит о том, что клиент приконнектился к локалке и теперь может с ней полноценно работать, а на деле даже пингов нет...