URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 89356
[ Назад ]

Исходное сообщение
"Вопрос по настройка OpenVPN"

Отправлено Faustle , 12-Июл-10 15:49 
Добрый день, коллеги,

У меня следующая проблема:

Есть удаленный сервер (домашний, на Ubuntu Server 10.04), на котором установлен OpenVPN.
Сеть на нем огранизована следующим образом:
Сервер (192.168.1.2\10.10.0.1)
DSL модем (192.168.1.1)
10.10.0.0 - сеть между компами.
192.168.1.0 - сеть между серверами и модемами (остальные не столько важны, ибо пока не работают)

root@debserver:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0e:a6:80:a2:39
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20e:a6ff:fe80:a239/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11994336 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8166594 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1970817508 (1.9 GB)  TX bytes:941126176 (941.1 MB)
          Interrupt:22

eth1      Link encap:Ethernet  HWaddr 00:14:d1:10:ad:7a
          inet addr:10.10.0.1  Bcast:10.10.0.255  Mask:255.255.255.0
          inet6 addr: fe80::214:d1ff:fe10:ad7a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12647410 errors:0 dropped:0 overruns:0 frame:0
          TX packets:24603326 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:898881172 (898.8 MB)  TX bytes:1504853216 (1.5 GB)
          Interrupt:22 Base address:0x6800

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:583787 errors:0 dropped:0 overruns:0 frame:0
          TX packets:583787 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:59913848 (59.9 MB)  TX bytes:59913848 (59.9 MB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

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

port 1194
proto tcp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key  # This file should be kept secret
dh /etc/openvpn/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /etc/openvpn/keys/ipp.txt
push "route 192.168.1.0 255.255.255.0"
push "dhcp-option DNS 89.222.***.***"
push "dhcp-option DNS 89.222.***.***"
duplicate-cn
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log         /var/log/openvpn/openvpn.log
verb 3

роуты севера:
root@debserver:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.8.0.2        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun0
10.10.0.0       0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 eth0

Конфиг клиента:
dev tun
client
http-proxy **.**.4.8 8001
remote ***.***.***.*** 1194
push "route 192.168.1.0 255.255.255.0"
tls-client
ca ca.crt
cert tester.crt
key tester.key
proto tcp-client
comp-lzo
verb 4

Второй момент:
Есть рабочая сеть, которая дает выход в инет только через прокси, но 1194 порт не закрыт.

===========================================================================
Активные маршруты:
Сетевой адрес           Маска сети      Адрес шлюза       Интерфейс  Метрика
          0.0.0.0          0.0.0.0     **.***.175.1   **.***.175.42       20
         10.8.0.1  255.255.255.255         10.8.0.5        10.8.0.6       1
         10.8.0.4  255.255.255.252         10.8.0.6        10.8.0.6       30
         10.8.0.6  255.255.255.255        127.0.0.1       127.0.0.1       30
   10.255.255.255  255.255.255.255         10.8.0.6        10.8.0.6       30
     **.***.175.0    255.255.255.0    **.***.175.42   **.***.175.42       20
    **.***.175.42  255.255.255.255        127.0.0.1       127.0.0.1       20
   13.255.255.255  255.255.255.255    **.***.175.42   **.***.175.42       20
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
      192.168.1.0    255.255.255.0         10.8.0.5        10.8.0.6       1
        224.0.0.0        240.0.0.0         10.8.0.6        10.8.0.6       30
        224.0.0.0        240.0.0.0    **.***.175.42   **.***.175.42       20
  255.255.255.255  255.255.255.255         10.8.0.6        10.8.0.6       1
  255.255.255.255  255.255.255.255    **.***.175.42   **.***.175.42       1
Основной шлюз:        **.***.175.1
===========================================================================

VPN поднимается.
net.ipv4.ip_forward = 1
iptables -I FORWARD 1 -o eth0 -i tun0 -j ACCEPT
iptables -I FORWARD 1 -o tun0 -i eth0 -j ACCEPT

В этот же комп воткнута 2-ая сетевуха, с настройками которой я игрался как только можно, чтобы увидеть в ней интернет с vpn. Максимальный результат - пинг dsl-модема 192.168.1.1, если расшарить через винду vpn подключение с . Все.

Я понимаю, что не каждый и читать-то все это возмется, но кто все же дочитал, помогите советом. Очень непростая схема, никак н могу разобраться с роутингом всего этого.
Также не ясно, почему клиентская машина ломиться на 10.8.0.7, которого не вообще нигде...

Я бы воспользовался трейсроутом, но.... его траффик банится фаерволом на работе.

Дать пиво админу, что б отключил фильтрацию тоже не могу, ибо он не в России находтся ....

Очень надеюсь на вашу помощь, если что-то нужно уточнить, скажите.


Содержание

Сообщения в этом обсуждении
"Вопрос по настройка OpenVPN"
Отправлено reader , 12-Июл-10 16:30 
>[оверквотинг удален]
>
>VPN поднимается.
>net.ipv4.ip_forward = 1
>iptables -I FORWARD 1 -o eth0 -i tun0 -j ACCEPT
>iptables -I FORWARD 1 -o tun0 -i eth0 -j ACCEPT
>
>В этот же комп воткнута 2-ая сетевуха, с настройками которой я игрался
>как только можно, чтобы увидеть в ней интернет с vpn. Максимальный
>результат - пинг dsl-модема 192.168.1.1, если расшарить через винду vpn подключение
>с . Все.

хотите ходить в инет через vpn-серевер?
на vpn-клиенте пропишите маршрут к vpn-сереверу через шлюз своего провайдера.
после поднятия vpn на клиенте шлюз по умолчанию измените на ip tun-интерфейса vpn-серевера (10.8.0.1).
на vpn-серевере для этих пакетов должен работать SNAT

>[оверквотинг удален]
>разобраться с роутингом всего этого.
>Также не ясно, почему клиентская машина ломиться на 10.8.0.7, которого не вообще
>нигде...
>
>Я бы воспользовался трейсроутом, но.... его траффик банится фаерволом на работе.
>
>Дать пиво админу, что б отключил фильтрацию тоже не могу, ибо он
>не в России находтся ....
>
>Очень надеюсь на вашу помощь, если что-то нужно уточнить, скажите.


"Вопрос по настройка OpenVPN"
Отправлено Аф , 12-Июл-10 17:18 
>хотите ходить в инет через vpn-серевер?
>на vpn-клиенте пропишите маршрут к vpn-сереверу через шлюз своего провайдера.
>после поднятия vpn на клиенте шлюз по умолчанию измените на ip tun-интерфейса
>vpn-серевера (10.8.0.1).
>на vpn-серевере для этих пакетов должен работать SNAT

Большое спасибо за совет! Буду копать в этом направлении.


"Вопрос по настройка OpenVPN"
Отправлено Faustle , 12-Июл-10 21:49 
Решил настроить VPN хотя бы локально, у себя в сети.
Добился того, что все пакеты наконец идут до сервера, но, что-то я не так сделал с правилами iptables. Использовал следующие:

iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 10.10.0.1
iptables -A FORWARD -d 10.8.0.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o tun0 -j SNAT -d 10.8.0.0/24 --to-source 10.10.0.1

и еще множество вариантов. Извращался как мог, но, пакеты идут, даже каким-то образом резолвятся, но Destination unreachable (Host unreachable).

Подскажите, какие именно правила надо прописать для корректного форвардинга?

Еще раз на всяки случай:
Конифг сервера:
port 1194
proto tcp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key  
dh /etc/openvpn/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
push "route 10.8.0.0 255.255.255.0"
route 192.168.1.0 255.255.255.0 10.8.0.5
client-config-dir /etc/openvpn/ccd
ifconfig-pool-persist /etc/openvpn/keys/ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log         /var/log/openvpn/openvpn.log
verb 5
local 10.10.0.1
push «redirect-gateway»

Конфиг клиента:
remote 10.10.0.1 1194
client
dev tun
ping 10
comp-lzo
proto tcp
tls-client
ca ca.crt
cert tester.crt
key tester.key
verb 3
pull

В роутах клинта, основной gateway 10.8.0.5, сам клиент 10.8.0.6
Пинги до сервера (10.8.0.1) идут нормально.


"Вопрос по настройка OpenVPN"
Отправлено reader , 12-Июл-10 22:30 
>Решил настроить VPN хотя бы локально, у себя в сети.
>Добился того, что все пакеты наконец идут до сервера, но, что-то я
>не так сделал с правилами iptables. Использовал следующие:
>
>iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
>iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 10.10.0.1
>iptables -A FORWARD -d 10.8.0.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT
>iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o tun0 -j SNAT -d
>10.8.0.0/24 --to-source 10.10.0.1

для пакетов идущих в локалки лучше оставить маршрутизацию, а не SNAT.
SNAT сделайте для всех пакетов уходящих через внешний интерфейс vpn-сервера и для начала в FORWARD разрешите все пакеты через tun-интерфейсы, в обе стороны


>[оверквотинг удален]
>proto tcp
>tls-client
>ca ca.crt
>cert tester.crt
>key tester.key
>verb 3
>pull
>
>В роутах клинта, основной gateway 10.8.0.5, сам клиент 10.8.0.6
>Пинги до сервера (10.8.0.1) идут нормально.


"Вопрос по настройка OpenVPN"
Отправлено Faustle , 12-Июл-10 23:12 
>для пакетов идущих в локалки лучше оставить маршрутизацию, а не SNAT.
>SNAT сделайте для всех пакетов уходящих через внешний интерфейс vpn-сервера и для
>начала в FORWARD разрешите все пакеты через tun-интерфейсы, в обе стороны

Большое спасибо за ответы!

С форвардом вроде как ясно:

iptables -I FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -I FORWARD -i eth0 -o tun0 -j ACCEPT

а вот со SNAT никак не соображу. Какие варианты уже не перепробовал, такое ощущение, что пишу в /dev/null...

Уже стал сомневаться в роутингах.

Роутинг сервера:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.8.0.2        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun0
10.10.0.0       0.0.0.0         255.255.255.0   U     0      0        0 eth1
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 eth0

роутинг клиента (winXP)

          0.0.0.0          0.0.0.0         10.8.0.5        10.8.0.6       1
          0.0.0.0          0.0.0.0        10.10.0.1     10.10.0.107       10
         10.8.0.0    255.255.255.0         10.8.0.5        10.8.0.6       1
         10.8.0.1  255.255.255.255         10.8.0.5        10.8.0.6       1
         10.8.0.4  255.255.255.252         10.8.0.6        10.8.0.6       30
         10.8.0.6  255.255.255.255        127.0.0.1       127.0.0.1       30
        10.10.0.0    255.255.255.0      10.10.0.107     10.10.0.107       10
      10.10.0.107  255.255.255.255        127.0.0.1       127.0.0.1       10
   10.255.255.255  255.255.255.255         10.8.0.6        10.8.0.6       30
   10.255.255.255  255.255.255.255      10.10.0.107     10.10.0.107       10
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
        224.0.0.0        240.0.0.0         10.8.0.6        10.8.0.6       30
        224.0.0.0        240.0.0.0      10.10.0.107     10.10.0.107       10
  255.255.255.255  255.255.255.255         10.8.0.6        10.8.0.6       1
  255.255.255.255  255.255.255.255      10.10.0.107     10.10.0.107       1
  Default gateway:                            10.8.0.5


"Вопрос по настройка OpenVPN"
Отправлено reader , 13-Июл-10 11:18 
>[оверквотинг удален]
>
>Большое спасибо за ответы!
>
>С форвардом вроде как ясно:
>
>iptables -I FORWARD -i tun0 -o eth0 -j ACCEPT
>iptables -I FORWARD -i eth0 -o tun0 -j ACCEPT
>
>а вот со SNAT никак не соображу. Какие варианты уже не перепробовал,
>такое ощущение, что пишу в /dev/null...

iptables-save покажите
>
>Уже стал сомневаться в роутингах.

сомневаетесь что пакеты приходят на сервер?
запустите tcpdump и посматрите.

>[оверквотинг удален]
>    10.10.0.107      
>10
>  255.255.255.255  255.255.255.255        
> 10.8.0.6        10.8.0.6  
>     1
>  255.255.255.255  255.255.255.255      10.10.0.107  
>   10.10.0.107       1
>
>  Default gateway:        
>       10.8.0.5


"Вопрос по настройка OpenVPN"
Отправлено Faustle , 14-Июл-10 13:51 

Роутинг вроде все-таки правильный, сниффер ловит пакеты, при обращении куда-либо:


root@debserver:~# tcpdump -i tun0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 96 bytes
13:46:10.636232 IP 10.8.0.6.33523 > **.***.1.241.8000: Flags [S], seq 935179318, win 5840, options [mss 1366,sackOK,TS val 2803025 ecr 0,nop,wscale 6], length 0
13:46:10.768292 IP 10.8.0.6.33524 > **.***.1.241.8000: Flags [S], seq 985679284, win 5840, options [mss 1366,sackOK,TS val 2803039 ecr 0,nop,wscale 6], length 0
13:46:10.948176 IP 10.8.0.6.33525 > **.***.1.241.8000: Flags [S], seq 985356458, win 5840, options [mss 1366,sackOK,TS val 2803103 ecr 0,nop,wscale 6], length 0
13:46:13.692790 IP 10.8.0.6.33524 > **.***.1.241.8000: Flags [S], seq 985679284, win 5840, options [mss 1366,sackOK,TS val 2803789 ecr 0,nop,wscale 6], length 0
13:46:13.948573 IP 10.8.0.6.33525 > **.***.1.241.8000: Flags [S], seq 985356458, win 5840, options [mss 1366,sackOK,TS val 2803853 ecr 0,nop,wscale 6], length 0
13:46:15.575034 IP 10.8.0.6.33526 > **.***.1.241.8000: Flags [S], seq 1066250476, win 5840, options [mss 1366,sackOK,TS val 2804259 ecr 0,nop,wscale 6], length 0
13:46:15.825415 IP 10.8.0.6.33527 > **.***.1.241.8000: Flags [S], seq 1066210153, win 5840, options [mss 1366,sackOK,TS val 2804322 ecr 0,nop,wscale 6], length 0
13:46:18.574863 IP 10.8.0.6.33526 > **.***.1.241.8000: Flags [S], seq 1066250476, win 5840, options [mss 1366,sackOK,TS val 2805009 ecr 0,nop,wscale 6], length 0
13:46:18.826000 IP 10.8.0.6.33527 > **.***.1.241.8000: Flags [S], seq 1066210153, win 5840, options [mss 1366,sackOK,TS val 2805072 ecr 0,nop,wscale 6], length 0
13:46:19.950295 IP 10.8.0.6.33525 > **.***.1.241.8000: Flags [S], seq 985356458, win 5840, options [mss 1366,sackOK,TS val 2805353 ecr 0,nop,wscale 6], length 0
13:46:20.644937 IP 10.8.0.6.33528 > **.***.1.241.8000: Flags [S], seq 1132444148, win 5840, options [mss 1366,sackOK,TS val 2805526 ecr 0,nop,wscale 6], length 0
13:46:20.898549 IP 10.8.0.6.33529 > **.***.1.241.8000: Flags [S], seq 1145483146, win 5840, options [mss 1366,sackOK,TS val 2805590 ecr 0,nop,wscale 6], length 0
13:46:23.643846 IP 10.8.0.6.33528 > **.***.1.241.8000: Flags [S], seq 1132444148, win 5840, options [mss 1366,sackOK,TS val 2806276 ecr 0,nop,wscale 6], length 0
13:46:24.576152 IP 10.8.0.6.33526 > **.***.1.241.8000: Flags [S], seq 1066250476, win 5840, options [mss 1366,sackOK,TS val 2806509 ecr 0,nop,wscale 6], length 0
13:46:24.827257 IP 10.8.0.6.33527 > **.***.1.241.8000: Flags [S], seq 1066210153, win 5840, options [mss 1366,sackOK,TS val 2806572 ecr 0,nop,wscale 6], length 0
^C
28 packets captured
28 packets received by filter
0 packets dropped by kernel


А вот с роутингами беда...
iptables-save vpn сервера:

root@debserver:~# iptables-save
# Generated by iptables-save v1.4.4 on Wed Jul 14 13:48:24 2010
*nat
:PREROUTING ACCEPT [726:47061]
:POSTROUTING ACCEPT [2309:211472]
:OUTPUT ACCEPT [1730:176440]
COMMIT
# Completed on Wed Jul 14 13:48:24 2010
# Generated by iptables-save v1.4.4 on Wed Jul 14 13:48:24 2010
*mangle
:PREROUTING ACCEPT [10707:1282460]
:INPUT ACCEPT [8720:1115260]
:FORWARD ACCEPT [1987:167200]
:OUTPUT ACCEPT [8766:1071888]
:POSTROUTING ACCEPT [10828:1245782]
COMMIT
# Completed on Wed Jul 14 13:48:24 2010
# Generated by iptables-save v1.4.4 on Wed Jul 14 13:48:24 2010
*filter
:INPUT ACCEPT [8720:1115260]
:FORWARD ACCEPT [1818:156497]
:OUTPUT ACCEPT [8766:1071888]
-A FORWARD -i eth0 -o tun0 -j ACCEPT
-A FORWARD -i tun0 -o eth0 -j ACCEPT
COMMIT
# Completed on Wed Jul 14 13:48:24 2010

С NAT-ом экспериментировал по всякому, результатов нет.


"Вопрос по настройка OpenVPN"
Отправлено reader , 14-Июл-10 14:00 
iptables -t nat -A POSTROUTING -o внешний_интерфейс -j SNAT --to-source ip_внешнего_интерфейса
и не забываем
echo 1 > /proc/sys/net/ipv4/ip_forward

"Вопрос по настройка OpenVPN"
Отправлено Faustle , 14-Июл-10 14:20 
>iptables -t nat -A POSTROUTING -o внешний_интерфейс -j SNAT --to-source ip_внешнего_интерфейса
>и не забываем
>echo 1 > /proc/sys/net/ipv4/ip_forward

/proc/sys/net/ipv4/ip_forward выставил 1 сразу

правило прописал:
iptables -t nat -A POSTROUTING -o eth0 (смотрит подключен к DSL-модему) -j SNAT --to-source 192.168.1.2 (пробовал и внешний статический IP)

в целом, как сейчас обстоит картина:
Поскольку def. gateway автоматом при поднятии впн-а прописывается впн-шлюза, то обычный инет работать перестает, что одкано не мешает текущему соединению самого впн-а. Меня бы это даже устроило, но, оно таки не хочет работать. И мне кажется, что момент в следующем:

14:12:04.782196 IP 10.8.0.6.46805 > **.***.1.241.8000: Flags [S], seq 3869804218, win 5840, options [mss 1366,sackOK,TS val 3191471 ecr 0,nop,wscale 6], length 0
14:12:07.530696 IP 10.8.0.6.46804 > **.***.1.241.8000: Flags [S], seq 3858051874, win 5840, options [mss 1366,sackOK,TS val 3192158 ecr 0,nop,wscale 6], length 0
14:12:08.211505 IP 10.8.0.6.43327 > **.***.12.9.domain: 41350+ A? ya.ru.eu.mydomain.net. (36)

Почему он пытается обратиться к ya.ru, как к поддомену рабочего домена?

Роуты сервера:

root@debserver:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.8.0.2        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun0
10.10.0.0       0.0.0.0         255.255.255.0   U     0      0        0 eth1
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 eth0

Роуты клиенты:

tester@tester-laptop:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
13.163.4.8      13.158.175.1    255.255.255.255 UGH   0      0        0 eth0
10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0
10.8.0.0        10.8.0.5        255.255.255.0   UG    0      0        0 tun0
13.158.175.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
0.0.0.0         10.8.0.5        0.0.0.0         UG    0      0        0 tun0

Кстати все компы домашней локалки пингуются без проблем.

Под вопросом несколько строк из конфига сервера:

push "route 10.8.0.0 255.255.255.0"
push "dhcp-option DNS 10.10.0.1"

нужны ли они, и не мешают ли?


Большое спасибо за помощь!


"Вопрос по настройка OpenVPN"
Отправлено reader , 14-Июл-10 15:23 
>[оверквотинг удален]
>Поскольку def. gateway автоматом при поднятии впн-а прописывается впн-шлюза, то обычный инет
>работать перестает, что одкано не мешает текущему соединению самого впн-а. Меня
>бы это даже устроило, но, оно таки не хочет работать. И
>мне кажется, что момент в следующем:
>
>14:12:04.782196 IP 10.8.0.6.46805 > **.***.1.241.8000: Flags [S], seq 3869804218, win 5840, options [mss 1366,sackOK,TS val 3191471 ecr 0,nop,wscale 6], length 0
>14:12:07.530696 IP 10.8.0.6.46804 > **.***.1.241.8000: Flags [S], seq 3858051874, win 5840, options [mss 1366,sackOK,TS val 3192158 ecr 0,nop,wscale 6], length 0
>14:12:08.211505 IP 10.8.0.6.43327 > **.***.12.9.domain: 41350+ A? ya.ru.eu.mydomain.net. (36)
>
>Почему он пытается обратиться к ya.ru, как к поддомену рабочего домена?

после ya.ru нет точки, поэтому проверяется и такой вариант.
при этом на 10.8.0.6 адрес ya.ru резолвится правильно?
nslookup ya.ru

>[оверквотинг удален]
>tun0
>
>Кстати все компы домашней локалки пингуются без проблем.
>
>Под вопросом несколько строк из конфига сервера:
>
>push "route 10.8.0.0 255.255.255.0"
>push "dhcp-option DNS 10.10.0.1"
>
>нужны ли они, и не мешают ли?

это передает клиенту маршрут и адрес DNS

а если добавить
echo 1 > /proc/sys/net/ipv4/ip_dynaddr


>
>
>Большое спасибо за помощь!


"Вопрос по настройка OpenVPN"
Отправлено Faustle , 14-Июл-10 16:18 
>после ya.ru нет точки, поэтому проверяется и такой вариант.
>при этом на 10.8.0.6 адрес ya.ru резолвится правильно?
>nslookup ya.ru

Проблема в том, что рабочий прокси блокирует мне трафик ICMP Echo запросы, и результат я могу видеть только через tcpdump на сервере. Кстати говоря, как раз судя по нему, ya.ru не резолвится. Упорно ломится на какие-то рабочие сервера, вероятно через шлюз, вместо сервера, и дальше дело не идет:

root@debserver:~# tcpdump -i tun0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 96 bytes
16:15:01.794825 IP 10.8.0.6.45048 > **.***.12.9.domain: 1213+ A? ya.ru. (23)
16:15:02.793758 IP 10.8.0.6.50858 > **.***.129.15.domain: 1213+ A? ya.ru. (23)
16:15:03.756494 IP 10.8.0.6.34992 > **.***.130.15.domain: 1213+ A? ya.ru. (23)
16:15:08.757679 IP 10.8.0.6.45048 > **.***.12.9.domain: 1213+ A? ya.ru. (23)
16:15:09.896440 IP 10.8.0.6.50858 > **.***.129.15.domain: 1213+ A? ya.ru. (23)
16:15:10.758465 IP 10.8.0.6.34992 > **.***.130.15.domain: 1213+ A? ya.ru. (23)
16:15:10.949439 IP 10.8.0.6.53630 > **.***.1.241.8000: Flags [S], seq 3702367402, win 5840, options [mss 1366,sackOK,TS val 5037582 ecr 0,nop,wscale 6], length 0
16:15:11.202517 IP 10.8.0.6.53631 > **.***.1.241.8000: Flags [S], seq 3711546525, win 5840, options [mss 1366,sackOK,TS val 5037646 ecr 0,nop,wscale 6], length 0


>это передает клиенту маршрут и адрес DNS
>
>а если добавить
>echo 1 > /proc/sys/net/ipv4/ip_dynaddr

Добавил. Результата не дало...


"Вопрос по настройка OpenVPN"
Отправлено reader , 14-Июл-10 17:00 
>>после ya.ru нет точки, поэтому проверяется и такой вариант.
>>при этом на 10.8.0.6 адрес ya.ru резолвится правильно?
>>nslookup ya.ru
>
>Проблема в том, что рабочий прокси блокирует мне трафик ICMP Echo запросы,
>и результат я могу видеть только через tcpdump на сервере. Кстати
>говоря, как раз судя по нему, ya.ru не резолвится. Упорно ломится
>на какие-то рабочие сервера, вероятно через шлюз, вместо сервера, и дальше
>дело не идет:

причем тут ICMP?
при dns запросах используется udp, и так как шлюз по умолчанию вы изменили, то запросы должны идти по vpn-каналу, а там прокси их не увидит и ICMP кстати тоже.

vpn-клиенту выдаете dns 10.10.0.1, он к нему обращается?
dns 10.10.0.1 вообще существует?
сеть 10.10.0.0/24 доступна vpn-клиенту?

а если с vpn-клиента обращаться по IP в инет, что происходит?


>[оверквотинг удален]
>16:15:10.949439 IP 10.8.0.6.53630 > **.***.1.241.8000: Flags [S], seq 3702367402, win 5840, options [mss 1366,sackOK,TS val 5037582 ecr 0,nop,wscale 6], length 0
>16:15:11.202517 IP 10.8.0.6.53631 > **.***.1.241.8000: Flags [S], seq 3711546525, win 5840, options [mss 1366,sackOK,TS val 5037646 ecr 0,nop,wscale 6], length 0
>
>
>>это передает клиенту маршрут и адрес DNS
>>
>>а если добавить
>>echo 1 > /proc/sys/net/ipv4/ip_dynaddr
>
>Добавил. Результата не дало...


"Вопрос по настройка OpenVPN"
Отправлено Faustle , 16-Июл-10 09:54 
>причем тут ICMP?
>при dns запросах используется udp, и так как шлюз по умолчанию вы
>изменили, то запросы должны идти по vpn-каналу, а там прокси их
>не увидит и ICMP кстати тоже.

Логично...

>dns 10.10.0.1 вообще существует?
>сеть 10.10.0.0/24 доступна vpn-клиенту?
>
>а если с vpn-клиента обращаться по IP в инет, что происходит?

Да, dns(bind9) на 10.10.0.1 существует.
Сеть доступна, пинги на все компы данной подсети с клиента проходят.

>vpn-клиенту выдаете dns 10.10.0.1, он к нему обращается?

В том то и дело, что нет. И как раз этого я не пойму, ибо в роутах он прописан, а обращения по какой-то причине идут в шлюз рабочей сети, и начинают стучатся кудо-то не ясно куда:


09:42:21.022547 IP 10.8.0.6.37151 > **.***.130.15.domain: 6797+ A? www.ip-as.ru. (30)
09:42:21.023866 IP 10.8.0.6.44385 > **.***.12.9.domain: 6420+ PTR? 15.130.***.**.in-addr.arpa. (44)
09:42:25.962525 IP 10.8.0.6.57995 > **.***.12.9.domain: 13991+ A? www.opennet.ru.eu.work_domain.net. (45)

И мне кажется, происходит это из-за того, что default gateway у клиентской машины меняется на VPN-овский, и соотв. до рабочей прокси она добратся не может. Поэтому я и вижу вышеуказанные пакеты уже на своем сервере при сниффе туннеля. Хотя я могу ошибатся.
Просто мне кажется странным, что уже на серверной стороне VPN-а, при просмотре трафика проходят попытки клиента обратится на какие-то адреса рабочей подсети:

18.953829     10.8.0.6 -> **.***.12.9  DNS Standard query A vk.com
19.106069     10.8.0.6 -> **.***.129.15 DNS Standard query A counter.yadro.ru
19.106249     10.8.0.6 -> **.***.129.15 DNS Standard query A cs10411.vk.com


"Вопрос по настройка OpenVPN"
Отправлено reader , 16-Июл-10 10:41 
>[оверквотинг удален]
>>сеть 10.10.0.0/24 доступна vpn-клиенту?
>>
>>а если с vpn-клиента обращаться по IP в инет, что происходит?
>
>Да, dns(bind9) на 10.10.0.1 существует.
>Сеть доступна, пинги на все компы данной подсети с клиента проходят.
>
>>vpn-клиенту выдаете dns 10.10.0.1, он к нему обращается?
>
>В том то и дело, что нет. И как раз этого я

попробуйте добавить его ручками

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

у клиента остались DNS адреса, на них он и обращается, но так как default gateway вы изменили на ip vpn-сервера, то и обращения идут через vpn-сервер.
>
>
>09:42:21.022547 IP 10.8.0.6.37151 > **.***.130.15.domain: 6797+ A? www.ip-as.ru. (30)
>09:42:21.023866 IP 10.8.0.6.44385 > **.***.12.9.domain: 6420+ PTR? 15.130.***.**.in-addr.arpa. (44)
>09:42:25.962525 IP 10.8.0.6.57995 > **.***.12.9.domain: 13991+ A? www.opennet.ru.eu.work_domain.net. (45)
>
>И мне кажется, происходит это из-за того, что default gateway у клиентской
>машины меняется на VPN-овский, и соотв. до рабочей прокси она добратся
>не может. Поэтому я и вижу вышеуказанные пакеты уже на своем
>сервере при сниффе туннеля. Хотя я могу ошибатся.

правильно, а вы разве не этого хотели?

>Просто мне кажется странным, что уже на серверной стороне VPN-а, при просмотре
>трафика проходят попытки клиента обратится на какие-то адреса рабочей подсети:
>
> 18.953829     10.8.0.6 -> **.***.12.9  DNS Standard query A vk.com
> 19.106069     10.8.0.6 -> **.***.129.15 DNS Standard query A counter.yadro.ru
> 19.106249     10.8.0.6 -> **.***.129.15 DNS Standard query A cs10411.vk.com

не понял, **.***.129.15 - это адрес вашей подсети?
10.8.0.6 обратился к **.***.129.15 как к DNS серверу


"Вопрос по настройка OpenVPN"
Отправлено Faustle , 16-Июл-10 14:32 
>[оверквотинг удален]
>у клиента остались DNS адреса, на них он и обращается, но так
>как default gateway вы изменили на ip vpn-сервера, то и обращения
>идут через vpn-сервер.
>
>правильно, а вы разве не этого хотели?
>
>
>не понял, **.***.129.15 - это адрес вашей подсети?
>10.8.0.6 обратился к **.***.129.15 как к DNS серверу
>

Оно почти заработало, но, почему-то упорно отказывается резолвить имена. По IP заходит и пингует без проблем, но резолвить не хочет.
В /etc/resolv.conf прописал 10.10.0.1 и 192.168.1.2 (это адреса на обоих интерфейсах сервера), но резолвить не хочет все равно:

root@debserver:~# tshark -i tun0
Running as user "root" and group "root". This could be dangerous.
Capturing on tun0
  0.000000     10.8.0.6 -> 10.10.0.1    DNS Standard query A ya.ru
  0.000304    10.10.0.1 -> 10.8.0.6     DNS Standard query response, Refused
  0.138222     10.8.0.6 -> 10.10.0.1    DNS Standard query A ya.ru.home
  0.138485    10.10.0.1 -> 10.8.0.6     DNS Standard query response, No such name

Притом с самого сервера проблем нет.
Возможно надо добавить какое-то правило в iptables?

UPD:

Интересен тот факт, что все локальные имена он резолвит, а сам севр резолвит соотв. все:

root@debserver:~# tshark -i tun0
Running as user "root" and group "root". This could be dangerous.
Capturing on tun0
  0.000000     10.8.0.6 -> 10.10.0.1    DNS Standard query A az.home
  0.000336    10.10.0.1 -> 10.8.0.6     DNS Standard query response A 10.10.0.101
  7.042326     10.8.0.6 -> 10.10.0.1    DNS Standard query A ya.ru
  7.042669    10.10.0.1 -> 10.8.0.6     DNS Standard query response, Refused
  7.179239     10.8.0.6 -> 10.10.0.1    DNS Standard query A ya.ru.home
  7.179512    10.10.0.1 -> 10.8.0.6     DNS Standard query response, No such name
^C6 packets captured
root@debserver:~# nslookup ya.ru
Server:        10.10.0.1
Address:    10.10.0.1#53

Non-authoritative answer:
Name:    ya.ru
Address: 77.88.21.3
Name:    ya.ru
Address: 87.250.250.3
Name:    ya.ru
Address: 87.250.251.3
Name:    ya.ru
Address: 93.158.134.3
Name:    ya.ru
Address: 213.180.204.3

Если смотреть tcpdump есть один момент который меня смущает:

root@debserver:~# tcpdump -i tun0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 96 bytes
15:22:28.002695 IP 10.8.0.6.42477 > debserver.domain: 49478+ A? ya.ru. (23)
15:22:28.003138 IP debserver.domain > 10.8.0.6.42477: 49478 Refused- 0/0/0 (23)
15:22:28.142308 IP 10.8.0.6.54099 > debserver.domain: 54895+ A? ya.ru.home. (28)
15:22:28.142555 IP debserver.domain > 10.8.0.6.54099: 54895 NXDomain*- 0/1/0 (69)
15:22:34.161654 IP 10.8.0.6.35744 > debserver.domain: 50212+ A? az.home. (25)
15:22:34.161975 IP debserver.domain > 10.8.0.6.35744: 50212*- 1/1/1 A 10.10.0.101 (74)

откуда он взял debserver.domain?... Нигде не нашел упоминание о "domain", домен в сети -  "home".


"Вопрос по настройка OpenVPN"
Отправлено reader , 16-Июл-10 16:45 
>[оверквотинг удален]
>root@debserver:~# tshark -i tun0
>Running as user "root" and group "root". This could be dangerous.
>Capturing on tun0
>  0.000000     10.8.0.6 -> 10.10.0.1    DNS Standard query A ya.ru
>  0.000304    10.10.0.1 -> 10.8.0.6     DNS Standard query response, Refused
>  0.138222     10.8.0.6 -> 10.10.0.1    DNS Standard query A ya.ru.home
>  0.138485    10.10.0.1 -> 10.8.0.6     DNS Standard query response, No such name
>
>Притом с самого сервера проблем нет.
>Возможно надо добавить какое-то правило в iptables?

а запросы в том числе и рекурсивные запросы и на этих серверах для 10.8.0.6 разрешены?

>[оверквотинг удален]
>listening on tun0, link-type RAW (Raw IP), capture size 96 bytes
>15:22:28.002695 IP 10.8.0.6.42477 > debserver.domain: 49478+ A? ya.ru. (23)
>15:22:28.003138 IP debserver.domain > 10.8.0.6.42477: 49478 Refused- 0/0/0 (23)
>15:22:28.142308 IP 10.8.0.6.54099 > debserver.domain: 54895+ A? ya.ru.home. (28)
>15:22:28.142555 IP debserver.domain > 10.8.0.6.54099: 54895 NXDomain*- 0/1/0 (69)
>15:22:34.161654 IP 10.8.0.6.35744 > debserver.domain: 50212+ A? az.home. (25)
>15:22:34.161975 IP debserver.domain > 10.8.0.6.35744: 50212*- 1/1/1 A 10.10.0.101 (74)
>
>откуда он взял debserver.domain?... Нигде не нашел упоминание о "domain", домен в
>сети -  "home".


"Вопрос по настройка OpenVPN"
Отправлено reader , 16-Июл-10 16:51 
>[оверквотинг удален]
>listening on tun0, link-type RAW (Raw IP), capture size 96 bytes
>15:22:28.002695 IP 10.8.0.6.42477 > debserver.domain: 49478+ A? ya.ru. (23)
>15:22:28.003138 IP debserver.domain > 10.8.0.6.42477: 49478 Refused- 0/0/0 (23)
>15:22:28.142308 IP 10.8.0.6.54099 > debserver.domain: 54895+ A? ya.ru.home. (28)
>15:22:28.142555 IP debserver.domain > 10.8.0.6.54099: 54895 NXDomain*- 0/1/0 (69)
>15:22:34.161654 IP 10.8.0.6.35744 > debserver.domain: 50212+ A? az.home. (25)
>15:22:34.161975 IP debserver.domain > 10.8.0.6.35744: 50212*- 1/1/1 A 10.10.0.101 (74)
>
>откуда он взял debserver.domain?... Нигде не нашел упоминание о "domain", домен в
>сети -  "home".

:) debserver.domain - это машина debserver порт domain ( 53 )
запустите tcpdump с ключом -n



"Вопрос по настройка OpenVPN"
Отправлено Faustle , 19-Июл-10 14:45 
Все, разобрался с рекурсией и оно таки заработало!

reader, огромное спасибо за все ваши советы и за потраченное время! Даже не знаю, чтобы я без вас делал! Мне искренне приятно, что есть все таки люди, которые готовы и могут помочь в непростых ситуациях.

Вопрос можно считать закрытым.


"Вопрос по настройка OpenVPN"
Отправлено reader , 14-Июл-10 22:54 
специально проверил , с пол пинка.

отличия от вашего:
интерфейс tap, клиент под linux.
единственный нюанс - клиент не захотел брать адрес DNS сервера, прописывал ручками.

дополнительные модули подгружать не пришлось.
echo 1 > /proc/sys/net/ipv4/ip_dynaddr - не понадобилось (на внешке ip постоянный).


"Вопрос по настройка OpenVPN"
Отправлено Faustle , 16-Июл-10 09:56 
>специально проверил , с пол пинка.
>
>отличия от вашего:
>интерфейс tap, клиент под linux.
>единственный нюанс - клиент не захотел брать адрес DNS сервера, прописывал ручками.
>
>
>дополнительные модули подгружать не пришлось.
>echo 1 > /proc/sys/net/ipv4/ip_dynaddr - не понадобилось (на внешке ip постоянный).

Клиент у меня тоже linux (ubuntu 10.04), ip сервера тоже внешний статический.


"Вопрос по настройка OpenVPN"
Отправлено прохожий. , 12-Июл-10 23:12 
1. Уберите default gateway в настройках ip.
2. Допишите в сетях маршрут к прокси
http-proxy !!_**.**.4.8_!! 8001 через **.***.175.1 .

3. В настройках openvpn добавить поднятие default route через vpn.

Теперь после этих манипуляций все, что не в вашу сеть или в прокси - посылать через vpn.


"Вопрос по настройка OpenVPN"
Отправлено Faustle , 14-Июл-10 13:53 
>1. Уберите default gateway в настройках ip.
>2. Допишите в сетях маршрут к прокси
>http-proxy !!_**.**.4.8_!! 8001 через **.***.175.1 .
>
>3. В настройках openvpn добавить поднятие default route через vpn.
>
>Теперь после этих манипуляций все, что не в вашу сеть или в
>прокси - посылать через vpn.

Добрый день.

После добавления push «redirect-gateway», default gateway клиента соотв. становится нужный.

По поводу
>http-proxy !!_**.**.4.8_!! 8001 через **.***.175.1 .

не совсем понял


"Вопрос по настройка OpenVPN"
Отправлено reader , 14-Июл-10 14:07 
>[оверквотинг удален]
>>
>>Теперь после этих манипуляций все, что не в вашу сеть или в
>>прокси - посылать через vpn.
>
>Добрый день.
>
>После добавления push «redirect-gateway», default gateway клиента соотв. становится нужный.
>
>По поводу
>>http-proxy !!_**.**.4.8_!! 8001 через **.***.175.1 .

так как идете через прокси, то добавте маршрут к прокси через шлюз провайдера
>
>не совсем понял


"Вопрос по настройка OpenVPN"
Отправлено Faustle , 14-Июл-10 13:28 
Коллеги,
Всем спасибо за комментарии. Не имел доступа к интернету, не мог отписать.

Буду пробовать ваши советы, по результатами отпишусь..