Почему при подключении к серверу-донору VPN показывает настоящий IP?

Настроил OpenVPN-сервер на VDS. Всё работает, всё отлично. Кроме VPN на VDS ещё есть сайты и открыт доступ по SSH. И почему-то, если подключаться к VDS по HTTP(S) или по SSH из-под VPN, которое запущено на том же самом VDS, то отображается реальный IP (IP от интернет-провайдера). Почему так происходит?

server.conf
port 161
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem

cipher AES-256-CBC

server 10.10.15.0 255.255.255.0
ifconfig-pool-persist ipp.txt

push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
push "redirect-gateway def1"

keepalive 10 120
comp-lzo
user openvpn
group openvpn
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 5

client.ovpn
# --------------------------------------------------------
# Настройки для подключения к VPN на vpn.example.com
# -- Версия настроек от 14.08.2019
# --------------------------------------------------------

client
dev tun
proto udp
remote vpn.example.com 161
resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
key-direction 1
block-outside-dns
cipher AES-256-CBC
comp-lzo
verb 3

<ca>
# Тут сертификат ЦС
</ca>
<cert>
# Тут сертификат клиента
</cert>
<key>
# Ключ клиента
</key>
  • Вопрос задан
  • 602 просмотра
Решения вопроса 2
landergate
@landergate
IT-шный jack-of-all-trades
Потому, что для возможности маршрутизировать ваш трафик через VPN, ваша таблица маршрутизации вынуждена исключать адрес самого VPN-шлюза, иначе она не сможет соединиться с VPN-шлюзом.

Если вам необходимо сокрытие адреса и на этом сервере, этого можно добиться подключением с другого места, т.е. либо перенеся VPN-сервер на другую ноду, либо используя сторонние прокси, либо используя Tor.

Ещё можно подключаться к серверу по SSH по его внутреннему IP в этой приватной сети, а затем входить на сайт через local port forwarding, настроив его, например, на 1234:127.0.0.1:80, а затем открывая у себя в браузере 127.0.0.1:1234. В этом случае в логах сайта подключения будут происходить с 127.0.0.1.
Возможные нюансы: 1) ссылки на сайте должны быть относительными, а не заполнены полным доменным именем, иначе в браузере они все будут выглядеть не как 127.0.0.1:1234/something/, а всё-время переключать на основной домен; 2) сам сайт для этого должен разрешать приём подключений без указания домена, иначе случится несовпадение location/vhost и сайт таким способом не откроется.
Ответ написан
@younghacker
Александр,
Если Вам необходимо спрятать сам факт подключения к серверу по ssh то Вам нужно на сервере настроить iptables так чтобы он разрешал соединения на ssh порт если пакет приходит на tun+ интерфейс.
-A INPUT -i tun+ -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -m comment --comment "Accept all connections from tun interface"

И затем после подъёма vpn соединения с OpenVPN клиента подключайтесь на адрес ssh root@10.10.15.1 - судя по вашему конфигу это должен быть адрес tun интерфейса вашего OpenVPN сервера.

Несколько замечаний по топику:
DNS Leak отягощённый VPN с единственной точкой входа и выхода.
Или на более понятном языке - ваш провайдер, особенно хостинг, может видеть шифрованный и нешифрованный трафик одновременно. И как результат - получить ключики шифрования.
SSH трафик на внутренний IP - исключение. Его не увидят ни хостинг ни интернет провайдеры (при условии что последний не контролирует ваш роутер).
Также помним, что Win10 рассылает DNS запросы со всех интерфейсов несмотря на роуты. Fedora через другие нероутные интерфейсы тоже рассылает запросы на порт 80. Поэтому тонкая настройка файрвола необходима даже там.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@pcdesign
Если я не ошибаюсь, то надо отказаться от MASQUERADE в пользу SNAT
То есть удалить строки, где openvpn трафик засовывается в MASQUERADE, а вместо этого прописать:

iptables -t nat -I POSTROUTING -s 10.10.15.0/24  -j SNAT --to-source БЕЛЫЙ_IP_VDS


Кстати, SNAT быстрее работает, чем MASQUERADE
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы