LINUX.ORG.RU
ФорумAdmin

OpenVPN соединяется, но не ходит в Интернет


0

3

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

port 1194
proto udp
dev tap
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
ifconfig-pool-persist /etc/openvpn/ipp.txt
server-bridge 192.168.2.2 255.255.255.0 192.168.2.224 192.168.2.254
push "redirect-gateway def1 bypass-dhcp"
script-security 2
up /etc/openvpn/scripts/up.sh
learn-address /etc/openvpn/scripts/routes.sh
client-to-client
duplicate-cn
keepalive 10 60
comp-lzo
persist-key
persist-tun
verb 3
up.sh
/usr/sbin/sysctl -w net.link.ether.inet.proxyall=1
/usr/sbin/sysctl -w net.inet.ip.forwarding=1
/sbin/ifconfig bridge0 addm tap0

routes.sh Пока пустой

Конфиг клиента:

client
dev tap
proto udp
remote 65.105.72.140 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
comp-lzo
verb 3
Лог
Sun Jul 13 01:43:49 2014 C:\WINDOWS\system32\route.exe ADD 65.105.72.140 MASK 255.255.255.255 192.168.1.1
Sun Jul 13 01:43:49 2014 ROUTE: CreateIpForwardEntry succeeded with dwForwardMetric1=20 and dwForwardType=4
Sun Jul 13 01:43:49 2014 Route addition via IPAPI succeeded [adaptive]
Sun Jul 13 01:43:49 2014 C:\WINDOWS\system32\route.exe ADD 0.0.0.0 MASK 128.0.0.0 192.168.2.2
Sun Jul 13 01:43:49 2014 ROUTE: CreateIpForwardEntry succeeded with dwForwardMetric1=30 and dwForwardType=4
Sun Jul 13 01:43:49 2014 Route addition via IPAPI succeeded [adaptive]
Sun Jul 13 01:43:49 2014 C:\WINDOWS\system32\route.exe ADD 128.0.0.0 MASK 128.0.0.0 192.168.2.2
Sun Jul 13 01:43:49 2014 ROUTE: CreateIpForwardEntry succeeded with dwForwardMetric1=30 and dwForwardType=4
Sun Jul 13 01:43:49 2014 Route addition via IPAPI succeeded [adaptive]
Sun Jul 13 01:43:49 2014 Initialization Sequence Completed

Соединение OpenVPN (GUI) у Windows 7 происходит без проблем, а вот в Интернет через сервер ходить не хочет!

ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet 127.0.0.1 netmask 0xff000000
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=10b<RXCSUM,TXCSUM,VLAN_HWTAGGING,AV>
        ether a8:13:11:1c:7b:a1
        inet 65.105.72.140 netmask 0xfffffc00 broadcast 65.105.75.255
        inet 65.105.75.185 netmask 0xfffffc00 broadcast 65.105.75.255
        inet 192.168.2.2 netmask 0xfffffc00 broadcast 192.168.3.255
        media: autoselect (100baseTX <full-duplex,flow-control>)
        status: active
-
-
-
-
-
-
bridge0: flags=8822<BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500
        options=3<RXCSUM,TXCSUM>
        ether ab:30:33:a1:09:00
        Configuration:
                id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
                maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
                root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
                ipfilter disabled flags 0x2
        member: en2 flags=3<LEARNING,DISCOVER>
                ifmaxaddr 0 port 6 priority 0 path cost 0
        member: tap0 flags=3<LEARNING,DISCOVER>
                ifmaxaddr 0 port 10 priority 0 path cost 0
        media: <unknown type>
        status: inactive
tap0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        ether 0f:f6:79:93:9a:1c
        open (pid 26491)
netstat -ran
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            65.105.72.1        UGSc           48        0     en0
5.255.253.147      65.105.72.1        UGHWIi          1       44     en0
23.43.133.163      65.105.72.1        UGHWIi          1        6     en0
37.46.242.108      65.105.72.1        UGHW3I          0       17     en0   3368
37.58.100.91       65.105.72.1        UGHW3I          0        3     en0   3260
37.58.100.140      65.105.72.1        UGHW3I          0       14     en0   3401
37.58.100.148      65.105.72.1        UGHW3I          0        6     en0   3289
37.58.100.154      65.105.72.1        UGHW3I          0       15     en0   3460
61.174.51.219      65.105.72.1        UGHWIi          3       89     en0
66.249.65.107      65.105.72.1        UGHW3I          0       36     en0   3461
66.249.67.33       65.105.72.1        UGHW3I          0       42     en0   3550
66.249.67.46       65.105.72.1        UGHW3I          0       53     en0   3368
66.249.67.59       65.105.72.1        UGHW3I          0       66     en0   3582
66.249.67.107      65.105.72.1        UGHW3I          0       56     en0   3434
74.82.47.25        65.105.72.1        UGHW3I          0        1     en0   3499
94.250.234.118     65.105.72.1        UGHW3I          0        6     en0   3256
95.211.37.197      65.105.72.1        UGHW3I          0        7     en0   3289
101.226.166.196    65.105.72.1        UGHW3I          0       20     en0   3374
101.226.166.204    65.105.72.1        UGHW3I          0        4     en0   3260
101.226.166.205    65.105.72.1        UGHW3I          0       12     en0   3379
101.226.166.206    65.105.72.1        UGHW3I          0        7     en0   3312
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH              8    10706     lo0
169.254            link#4             UCS             0        0     en0
180.76.5.71        65.105.72.1        UGHW3I          0       16     en0   3502
180.76.6.133       65.105.72.1        UGHW3I          0       16     en0   3325
182.118.20.224     65.105.72.1        UGHW3I          0       88     en0   3566
182.118.20.225     65.105.72.1        UGHW3I          0       70     en0   3558
182.118.20.227     65.105.72.1        UGHW3I          0       17     en0   3545
185.56.80.133      65.105.72.1        UGHW3I          0        7     en0   3423
185.56.80.137      65.105.72.1        UGHW3I          0       14     en0   3578
192.168.1.35       65.105.72.1        UGHW3I          0        1     en0   3502
192.227.245.117    65.105.72.1        UGHW3I          0        2     en0   3495
202.66.32.116      65.105.72.1        UGHW3I          0        1     en0   3377
208.115.113.85     65.105.72.1        UGHW3I          0        6     en0   3289
212.30.134.167     65.105.72.1        UGHW3I          0        9     en0   3582
212.30.134.174     65.105.72.1        UGHW3I          0        8     en0   3589
217.195.49.131     65.105.72.1        UGHWIi          1       46     en0
224.0.0.251        65.105.72.1        UGHmW3I         0        0     en0   3549

Естественно при соединении ничего из 192.168.2.0 не пингуется, кроме самого клиента



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

Пробую с конфигом выше, вроде все правильно, но пишет

sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl -f
Password:
No ALTQ support in kernel
ALTQ related functions disabled
pfctl: Anchor or Ruleset does not exist.
pfctl: Use of -f option, could result in flushing of rules
present in the main ruleset added by the system at startup.
See /etc/pf.conf for further details.

No ALTQ support in kernel
ALTQ related functions disabled
no IP address found for internet
/private/etc/pf.conf:5: could not parse host specification
pfctl: Syntax error in config file: pf rules not loaded
no IP address found for internet

я так понял в конце не хватало скобок (internet), устранил, теперь пишет:

/private/etc/pf.conf:5: syntax error
pfctl: Syntax error in config file: pf rules not loaded

Какой там может быть систаксис не правильный?

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

Убрал комментарии, оставив только

tun = "utun0"
internet = "en0"
nat on en0 from { 10.8.0.0/24 en0:network } to any -> (internet)

Поставил пробел между знаками равно, как обычно это делаю в подобных конфигурациях, ситуацию это не спасло Вроде все верно, а пишет, значит что-то не правильно:

/private/etc/pf.conf:1: syntax error
/private/etc/pf.conf:2: syntax error
/private/etc/pf.conf:3: syntax error

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

tun = «utun0» - Такого интерфейса не существует.

tun="tun0"  
internet="en0" 
nat on $internet from { $tun/24 $internet:network } to any -> internet
Скопируй, и попробуй.

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

Скопировал, тоже самое

/private/etc/pf.conf:1: syntax error
/private/etc/pf.conf:2: syntax error
no IP address found for internet
/private/etc/pf.conf:3: could not parse host specification
pfctl: Syntax error in config file: pf rules not loaded
filatovdm
() автор топика
Ответ на: комментарий от anonymous_sama

Тоже самое на оба варианта

/private/etc/pf.conf:1: syntax error
filatovdm
() автор топика
Ответ на: комментарий от anonymous_sama

Спасибо огромное!!!!! Все работает, правда кроме тех сайтов которые размещены на сервере, оно и понятно, потому что видимо маршрут уходит за пределы сервера, а как добавить их в исключение чтобы они также были доступны через OpenVPN?

А возможно ли закачать ключ и сертификат OpenVPN на защищенный носитель, вроде rutoken? Хотелось бы использовать такой, криптография которого не сертифицирована на территории РФ. Если я правильно понял, это то что надо http://www.ebay.com/itm/Integral-Crypto-Dual-Plus-140-2-128GB-USB-2-0-Flash-D... и как потом в конфиге указать связь на этот носитель?

anonymous_sam, xtraeft, как я могу Вас поблагодарить? К сожалению никаких контактных данных в профайле не нашел

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

А возможно ли закачать ключ и сертификат OpenVPN на защищенный носитель, вроде rutoken?

Тут я тебе не подскажу, но мне почему-то кажется что на рутокен, точно нет, покрайней мере я бы не рискнул на нем что-то ценное хранить. Хотя судя по всему можно: http://habrahabr.ru/company/aktiv-company/blog/137306/
http://developer.rutoken.ru/pages/viewpage.action?pageId=4227143

Все работает, правда кроме тех сайтов которые размещены на сервере

Я не представляю всю картину, может быть они у тебя еще на отдельном интерфейсе на сервере (тогда нужно сделать nat и с него). Принцип такой: https://forums.openvpn.net/topic9465.html
Да возможно, в твоем случае хватит обойтись малой кровью, и просто добавить сайты в hosts.
Можешь, оставить почту и я сам тебе напишу. Могу как неанонимные ЯД, так и чуть более приватный биткоин, а там уже сам, сколько пожелаешь.

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

Спасибо огромное!!!!! Все работает,

Блин, а когда я тебя 2-3 раза просил убедиться в корректности переносов и на всякий случай прогнать dos2unix, ты меня игнорировал :)

Все работает, правда кроме тех сайтов которые размещены на сервере, оно и понятно, потому что видимо маршрут уходит за пределы сервера

Добавить нужный маршрут, какой именно - сейчас не скажу, нужно идти. Буквально недавно где-то на лоре точно такой же вопрос решали. Но вобще должно работать, если эти сайты доступны из интернета.

как я могу Вас поблагодарить?

Нет необходимости, хорошо что ты решил свою задачу.

xtraeft ★★☆☆
()
Последнее исправление: xtraeft (всего исправлений: 1)
Ответ на: комментарий от anonymous_sama

У меня на одном интерфейсе en0 висит 2 IP адреса, один IP адрес свободен и он для OpenVPN, на втором висят несколько сайтов! В pf.conf я указал именно IP адрес для OpenVPN вместе интерфейса, иначе при подключении к серверу апишники просто меняются между собой, а мне нужно было чтобы он ходил только через один айпи адрес! И в Интернете открываются все сайты, кроме тех что на сервере (тоесть локальные)

Удобнее конечно ЯД gerard199077@mail.ru

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

to any -> internet
Попробуй сделать два правила, где вместо internet (т.е. интерфейса en0) будут ip адреса.
Т.е. to any -> ip адрес #1
to any -> ip адрес #2
Да, не забудь потом поправить файл, после редактирования и активировать правила pf заново.

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

Сделал, не работают сайты! Но ходит через первый айпи адрес, даже если оставить только тот айпи на котором сайты висят, всеравно не открываются!

hosts не помог

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

Если бы ты оставил в правилах только один второй ip адрес, а подключился к vpn через первый, то у тебя бы по идеи должен был vpn вообще все перестать открывать, возможно ты правила pf новые не активировал. Да ты не думал просто через openssh(socks) на локальные сайты ходить, все-таки это как-то и привычней и оверхеда меньше.

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

Поднялся и посмотрел твой последний конфиг vpn сервера. Ты же убрал client-to-client!

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

Вроде активировал

Выключаем фаервол

sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl -d

или

sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl -X

Включаем фаервол чтобы применились новые правила

sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl -f

Даже перезагрузился, чтобы однозначно все было! Все осталось также как я писал! Может подключатся по первому IP, а ходить по второму (который единственный указан в pf.conf и на котором сайты)

P.S Письмо получил, завтра опишусь

Не хотелось бы использовать кучу инструментов, поэтому выбор пал на OpenVPN

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

client-to-client включил на openvpn сервере?
192.168.2.2 - второй? У тебя там целых три ip адреса, и локальный как раз этот, если как ты привел в главном посте.

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

client-to-client включил, айпи то у меня внешние и они сидят на en0, правило выглядит так

nat on en0 from 10.8.0/24 to any -> 65.105.72.140
nat on en0 from 10.8.0/24 to any -> 65.105.75.20

192.168.2.2 на сервере нигде не задействован

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

Ну тогда проблем совсем никаких быть в принципе не должно. Прописываешь ip sitevhost.com в hosts на любой машине с интернетом и заходишь на сайт. А так как ты пойдешь через vpn, то в логах веб-сервера будет либо ip адрес openvpn сервера, либо 127.0.0.1. В оффтопике, с которого ты пытался подключиться как клиент он находится в C:\Windows\System32\Drivers\etc\hosts

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

Прописал, не помогло!

Думаю дело то тут не в DNS записи что прописывание в hosts может помочь, а в чем то другом! Сами сайты кстати с подключенным VPN пингуются

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

А может ли push «route 1.2.3.0 255.255.255.0 net_gateway» как то помочь?

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

Вы тут какой-то херотой занимаетесь, учитывая что

Сами сайты кстати с подключенным VPN пингуются

P.S. спасибо за очередной игнор!

xtraeft ★★☆☆
()
Ответ на: комментарий от anonymous_sama

Закомментируй 'push «redirect-gateway def1 bypass-dhcp»' в конфиге сервера и попробуй

Вы что тут, с ума все посходили?

xtraeft ★★☆☆
()
Ответ на: комментарий от anonymous_sama

Пробовал с сайтами на сервере также telnet site 80, не работает! Но сайты пингуются! Как можно выяснить причину, что именно не дает открывать сайты? Если смотреть netstat -ran то напротив этих сайтов будет висеть Состояние SYN-SENT

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

Я тебе кое-что подскажу, но будь с этим осторожен. И если не поможет, а вероятность крайне низка, просто убери это. Это очень не рекомендуется.

sysctl -w net.ipv4.tcp_timestamps=0

Короче тебе нужно попробовать убрать tcp_timestamps, но я не знаю есть эти значения в Mac OS X
По крайней мере если верить, тому о чем ты говоришь.
https://serverfault.com/questions/235965/why-would-a-server-not-send-a-syn-ac...

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

Судя по всему этих значений в Mac OS X нету, по крайней мере я их не нашел! Тут и не понять в чем проблема что не заходит на сайты, пинг то идет нормально!(

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