Добрый день, уважаемые посетители и завсегдатаи этого славного ресурса.
Мне стыдно, как специалисту, но выбора нет. Я вынужден просить помощи в теме которую изъездили не то что вдоль и поперёк, но и вкось и вкривь.
Дана простая задача. Нужно соединить ноутбук директора с постоянно меняющимся IP адресом с локальной сетью организации.
Причём сетевые ресурсы, как таковые не нужны. По факту надо, чтобы директор подключился по VPN в локальную сеть организации, кликнул ярлык RDP с рабочего стола и провалился на файловый сервер.
Есть сервер, выполняющий роль шлюза под управлением Ubuntu Server 14.04 с 2 сетевыми картами.
Одна (eth1) смотрит в интернет (статика от провайдера), вторая смотрит в локалку (eth0).
Началось всё хорошо. Установил OpenVPN по статье с диджиталокеан (надеюсь тут не ругают за ненавязчивую рекламу). Я не специально. Заранее прошу прощения.
Конфиг сервера:
port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
tls-auth /etc/openvpn/easy-rsa/keys/ta.key 0
# Банальная подсеть VPN
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
# Вычитал, что клиент подключающийся извне должен видеть сеть в которую подключается
# Сеть компьютеров в локалке в нулевой подсети
push "route 192.168.0.0 255.255.240.0"
# Телефонные аппараты в локалке в первой подсети
push "route 192.168.1.0 255.255.240.0"
# Маршруты в сети (сеть - маска - IP который был выделен VPN сервером клиенту
route 192.168.0.0 255.255.240.0 10.8.0.6
route 192.168.1.0 255.255.240.0 10.8.0.6
push "redirect-gateway def1 bypass-dhcp"
# DNS`ы чтобы получал в той сети
push "dhcp-option DNS 192.168.0.111"
push "dhcp-option DNS 192.168.0.222"
# Чтобы домен распознавался
push "dhcp-option DOMAIN zavod.ru"
client-to-client
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
verb 3
Конфиг клиента Windows
Просто взял базовый конфиг из папки sample-config -> client.ovpn
Изменил в нём только строку с remote my-server-1 1194 (вместо my-server-1 вставил IP адрес с eth1 указанного в начале топика).
В файле rc.local добавил следующие строки:
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 eth1 -j MASQUERADE
По iptables всё настроено штатно, без изысков. Всё закрыто, что не нужно. Открыто то, что нужно. Ничего лишнего.
Перезагрузил шлюз, ввёл в консоль команду:
ip addr show tun0
и увидел вывод:
5: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
link/none
inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
valid_lft forever preferred_lft forever
На ноутбук установил ту же базовую программу, скопировал в папку "config":
client.crt
client.key
ca.crt
ta.key
client.ovpn ->
в нём изменил только IP шлюза который указан выше.
...и всё подключилось.
Вроде бы занавес, но нет.
IP получил 10.8.0.6, маску 255.255.255.254... и всё. Не могу пинговать ни сам адрес 10.8.0.1, ни какие то иные и уж подавно не вижу сеть за сервером VPN.
Теперь прошу кидать тапками. Я просто на пике отчаяния. Знаний и умений конкретно в этом вопросе у меня не хватает, спросить не у кого. На ноутбуке директора никаких маршрутов, таблиц нет. Стоит простенький 360TS.
Правила форума
1.4. Листинги и содержимое текстовых файлов следует добавлять в сообщение с помощью тегов [spoiler]...[/spoiler] или [code]...[/code], либо прикреплять к сообщению в виде отдельного файла. Длинные гиперссылки следует оформлять при помощи тега [url=]...[/url]
--Aleksandru