Здравствуйте!
Ситуация такая:
Есть сервер с белым IP. На борту Centos7, поднял OpenVPN сервер(10.8.0.1).
Есть сервер с "серым" IP. На борту Windows 2008r2(брандмауэр на время выключил, для чистоты эксперимента). Поднял OpenVPN клиент(10.8.0.6).
Пинг идет как с 10.8.0.6 на 10.8.0.1. так и обратно.
А теперь задача, подключиться к windows-серверу с клиентского компьютера(его IP не имеет значения), без подключения к VPN-сети.
На Centos'е прописал следующее:
sudo firewall-cmd --permanent --zone=external --add-interface=eth0
sudo firewall-cmd --permanent --zone=public --add-interface=tun0
sudo firewall-cmd --permanent --zone=external --add-forward-port=port=22450:proto=tcp:toaddr=10.8.0.6:toport=3389
P.S.
В файле etc/sysctl.conf:
net.ipv4.ip_forward = 1
sudo firewall-cmd --zone=external --query-masquerade сразу без "предварительных ласк" отвечал yes
В итоге, когда с клиента пробую mstsc подключиться к "белый_ip:22450" ничего не выходит, НО! на win-сервере в это время wireshark, включенный на tun-интерфейсе, кое-что все-таки видит(т.е. коннект доходит до сервера, которому предназначался, но это еще больше вводит в ступор)
81.177.240.220 - это внешний ip клиентского компьютера( на котором запускаем mstsc).
UPD.
если на клиенте добавить маршрут, типа
route add 81.177.240.220 mask 255.255.255.255 10.8.0.6
то всё начинает работать, но это не то, что нужно..мягко говоря
Роман Соколов по идее прав, в идеале wireshark должен показать, что коннект пришел не от внешнего IP клиента, а от vpn-сервера(10.8.0.1), но как это сделать?
пробовал вот так, но это скорее всего бред (я так..доморощенный админ):
sudo firewall-cmd --permanent --zone=external --add-forward-port=port=22450:proto=tcp:toaddr=10.8.0.1:toport=3389
sudo firewall-cmd --permanent --zone=public--add-forward-port=port=3389:proto=tcp:toaddr=10.8.0.6