LINUX.ORG.RU

OpenVPN палит реальный IP

 , ,


1

3

Приветствую! Прошу помочь разобраться, почему палится OpenVPN и не ходит как положено? Туннель поднимается, клиент ходит через сервер, IP адрес сервера виден в Интернете при серфинге. Через подключении SSH также виден адрес сервера с которого подключался. Но стоит зайти скажем на сайт с нестандартным портом вроде http://address:585, как виден реальный IP адрес машины с которой установлено соединение по OpenVPN. netstat показывает что клиент ходит мимо tap интерфейса. Почему так получается?

Конфиг сервера

port 443
proto tcp-server
dev tap
 
ca
cert
key
dh
 
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /etc/openvpn/ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS IP ADDRESS«
push "dhcp-option DNS IP ADDRESS»
 
keepalive 10 120
comp-lzo
max-clients 5
user nobody
group nobody
client-to-client
persist-key
persist-tun
status /var/log/openvpn-status.log
log /var/log/openvpn.log
verb 3

sndbuf 0
rcvbuf 0

Клиент

client
dev tap
proto tcp-client
remote IP ADDRESS PORT
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
verb 3
sndbuf 0
rcvbuf 0
redirect-gateway def1
<ca>
</ca>
<cert>
</cert>
<key>
</key>

Ответ на: комментарий от justAmoment
Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
0/1                10.8.0.1           UGSc           31        0    tap0
default            192.168.1.1        UGSc            1        0     en0
10.8/24            link#15            UC              2        0    tap0
10.8.0.1           9e:ca:9c:0:21:8a   UHLWIir        47        0    tap0   1163
127                127.0.0.1          UCS             1        0     lo0
127.0.0.1          127.0.0.1          UH              4     4520     lo0
128.0/1            10.8.0.1           UGSc           15        0    tap0
VPNIPSERVER/32  192.168.1.1        UGSc            2        0     en0
192.168.1          link#4             UCS             3        0     en0
192.168.1.1/32     link#4             UCS             2        0     en0
192.168.1.1        34:7:fb:5f:fc:89   UHLWIir         4       31     en0   1107
192.168.1.142/32   link#4             UCS             1        0     en0
192.168.1.230      0:1a:92:38:7:78    UHLWIi          2       39     en0   1050
192.168.1.255      link#4             UHLWbI          1       10     en0
224.0.0/4          link#4             UmCS            2        0     en0
224.0.0.251        1:0:5e:0:0:fb      UHmLWI          1        0     en0
255.255.255.255/32 link#4             UCS             1        0     en0
filatovdm
() автор топика
Ответ на: комментарий от justAmoment

Извиняюсь!

0.0.0.0/1 via 10.8.0.1 dev tap0
default via 192.168.1.1 dev en0
10.8.0.0/24 dev tap0  scope link
127.0.0.0/8 via 127.0.0.1 dev lo0
128.0.0.0/1 via 10.8.0.1 dev tap0
VPNIPADDRESS/32 via 192.168.1.1 dev en0
192.168.1.0/24 dev en0  scope link
192.168.1.1/32 dev en0  scope link
192.168.1.142/32 dev en0  scope link
224.0.0.0/4 dev en0  scope link
255.255.255.255/32 dev en0  scope link
filatovdm
() автор топика
Ответ на: комментарий от justAmoment

Получается так, но всеравно IP адрес палится.

0.0.0.0/1 via 10.8.0.1 dev tap0
10.8.0.0/24 dev tap0  scope link
127.0.0.0/8 via 127.0.0.1 dev lo0
128.0.0.0/1 via 10.8.0.1 dev tap0
VPNIPADDRESS/32 via 192.168.1.1 dev en0
192.168.1.0/24 dev en0  scope link
192.168.1.1/32 dev en0  scope link
192.168.1.142/32 dev en0  scope link
224.0.0.0/4 dev en0  scope link
255.255.255.255/32 dev en0  scope link

filatovdm
() автор топика
Ответ на: комментарий от aspel

Сервер на котором OpenVPN у меня в VPS. А клиент с которого такие проблемы на macOS Sierra. Не могу найти аналог команды ip rule list. Через brew ставил, он ругается.

Говорит Provided functionality is limited and command output is not fully compatible with iproute2. For advanced usage use netstat, ifconfig, ndp, arp, route and networksetup directly.

filatovdm
() автор топика
Ответ на: комментарий от mky

Но тогда он вообще не дает заходить по особенному порту. Жаль что на других клиентах он также ходит мимо, в том числе и на Win

filatovdm
() автор топика
Ответ на: комментарий от filatovdm

Этот сервер находится внутри твоей сети или снаружи http://address:585?
Если с снаружи то посмотри traceroute. Трафик должен идти через
VPN сервер. Если трафик идёт мимо значит проблема в маршруте.

traceroute address -p 585 -T

И попробуй убрать в клиенте redirect-gateway, оставив только на сервере.

aspel
()
Последнее исправление: aspel (всего исправлений: 2)
Ответ на: комментарий от aspel

Сервер находится на том же сервере что и OpenVPN, следовательно внутри сети. Если делаю трассировку до сайта с подключенным OpenVPN, он почему то идет через шлюз 192.168.1.1 До любого другого узла через 10.8.0.1 Как прописать так чтобы правильно ходил?

filatovdm
() автор топика
Ответ на: комментарий от filatovdm

Разве что с метриками поиграться.

Сделать этот маршрут менее приоритетным.
И добавить такой же но через tap0 более приоритетным.

aspel
()
Ответ на: комментарий от aspel

Немного разобрался, ходит как положенно, но не работает! Наверное потому что пингую сам себя получается?

У меня получается так

ip route get VPNIPADDRESS
VPNIPADDRESS via 192.168.1.1 dev en0  src 192.168.1.142
ip route get google.ru
216.58.209.195 via 10.8.0.1 dev tap0  src 10.8.0.2

Но если к примеру прописать VPNIPADDRESS ходить через tap0, то он не ходит на сервер с таким же IP, получаю

ip route get VPNIPADDRESS
VPNIPADDRESS via 10.8.0.1 dev tap0  src 10.8.0.2
filatovdm
() автор топика
Ответ на: комментарий от aspel

Я так понимаю надо как то подружить IP адрес OpenVPN сервера, Apache и мое соединение? Ведь 10.8.0.0/24 это моя внутренняя сеть которая должна как то прийти к VPNIPADDRESS. А тут получается заглушка

filatovdm
() автор топика
Ответ на: комментарий от aspel

Вот еще что нашел https://forums.openvpn.net/viewtopic.php?t=21028

В настройках Apache у меня Listen 585, но по адресу 10.8.0.1:585, он не отвечает. Как я понял решение этой проблемы заключается в том, чтобы заставить смотреть Apache внутрь сети, но никак не получается.

Когда прописываю в конфигах Apache, Listen 10.8.0.5:585, выдает ошибку Can't assign requested address

Как заставить смотреть сайт внутрь сети? Если указано Listen 585, он должен быть доступен по всем интерфесам, но это не так

filatovdm
() автор топика
Ответ на: комментарий от aspel

В iptables разрешил ходить на внутренний интерфейс и все заработало. Спасибо огромное, разобрался благодаря Вам!

filatovdm
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.