The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"OpenVPN никак не ходит через pf :("
Отправлено UltraLaser, 20-Апр-10 13:19 
Проблему с соединением решил - Правила не трогал но написал редирекшн


rdr pass on $ext_if proto udp from any to $ext_if port 9149 -> 192.168.77.5 port 9149

и коннект удался. И это меня приободрило :)

Однако сразу же возникла другая проблема :)


Клиентом сейчас выступает уже не Уиндос ХР а ФрииБСД 7.2 Данная машина воткнута в сеть 192.168.99.0/24 с адресом 192.168.99.55 Режим гейтвея на ней включен (gateway_enable=”YES”).

после инициализации впн таблица маршрутизации выглядит так:  


freebsd01# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.99.200     UGS         0     2636    rl1
10.8.0.0/24        10.8.0.5           UGS         0        0   tun0
10.8.0.5           10.8.0.6           UH          2        3   tun0
127.0.0.1          127.0.0.1          UH          0      100    lo0
192.168.33.0/24    link#3             UC          0        0    rl2
192.168.33.2       00:50:ba:cb:bc:51  UHLW        1       38    lo0
192.168.33.255     ff:ff:ff:ff:ff:ff  UHLWb       1       63    rl2
192.168.77.0/24    10.8.0.5           UGS         0      434   tun0
192.168.99.0/24    link#2             UC          0        0    rl1
192.168.99.1       00:19:db:f5:ca:42  UHLW        1      113    rl1    989

192.168.99.255     ff:ff:ff:ff:ff:ff  UHLWb       1      178    rl1

Internet6:
..

Причем мне сильно непонятно почему адреса впн туннеля 10.8.0.5 и 10.8.0.6? Ведь исходя из всех возможных конфигов они должны быть 10.8.0.1 и 10.8.0.2. Непонятно…

Теперь дальше – с самой клиентской машины на фре пинг в сеть .77.0 идет. (Сеть 192.168.77.0/24 на другом конце туннеля)
т.е.


freebsd01# ping 192.168.77.11
PING 192.168.77.11 (192.168.77.11): 56 data bytes
64 bytes from 192.168.77.11: icmp_seq=0 ttl=127 time=4.683 ms
64 bytes from 192.168.77.11: icmp_seq=1 ttl=127 time=9.935 ms
64 bytes from 192.168.77.11: icmp_seq=2 ttl=127 time=4.054 ms
64 bytes from 192.168.77.11: icmp_seq=3 ttl=127 time=4.442 ms
^C
--- 192.168.77.11 ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 4.054/5.779/9.935/2.410 ms

Но с любой другой машины в сети 99 (192.168.99.0/24) не идет. В чем засада???
Хорошо – смотрим tcpdump на машине фревой



freebsd01# tcpdump -i tun0 -t -n -l
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type NULL (BSD loopback), capture size 96 bytes
IP 192.168.99.241 > 192.168.77.11: ICMP echo request, id 1792, seq 15873, length 40

т.е от сети 99 вроде все ушло. Т.е если я правильно понимаю фревая машина отработала как надо.

Теперь смотрим на другую сторону (как я понимаю на внешнем интерфейсе я ничего видеть не должен так как все ходит уже по туннелю после установки впн соединения). Пинг идет от машины 99.241. На данной машине прописан маршрут route add 192.168.77.0 netmask 255.255.255.0 192.168.99.55 и route add 10.8.0.0 netmask 255.255.255.0 192.168.99.55

(vr1 внутренний интерфейс машины ОпенБСД (77.5) на котором крутится ОпенВпн сервер)


# tcpdump -i vr1 -t -n -l | grep .99.241
tcpdump: listening on vr1, link-type EN10MB
icmp^C
88 packets received by filter
0 packets dropped by kernel

# tcpdump -i vr1 -t -n -l | grep icmp
tcpdump: listening on vr1, link-type EN10MB
^C
113 packets received by filter
0 packets dropped by kernel

Теперь пинг идет с машины 99.55 (машины фрибсд на котором крутится клиент опенвпн)


# tcpdump -i vr1 -t -n -l | grep icmp
tcpdump: listening on vr1, link-type EN10MB
10.8.0.6 > 192.168.77.11: icmp: echo request
192.168.77.11 > 10.8.0.6: icmp: echo reply
10.8.0.6 > 192.168.77.11: icmp: echo request
192.168.77.11 > 10.8.0.6: icmp: echo reply
10.8.0.6 > 192.168.77.11: icmp: echo request
192.168.77.11 > 10.8.0.6: icmp: echo reply
10.8.0.6 > 192.168.77.11: icmp: echo request
192.168.77.11 > 10.8.0.6: icmp: echo reply
10.8.0.6 > 192.168.77.11: icmp: echo request
192.168.77.11 > 10.8.0.6: icmp: echo reply
^C
661 packets received by filter
0 packets dropped by kernel

т.е все атк бодренько работет. Хотя странно что адрес идет от 10.8.0.6! Разве так должно быть?
Вопрос – подскажите где я тут не догоняю и как в данном случае сделать так что бы обе подсетки (192.168.77.0 и 192.168.99.0) видели друг друга

Вот еще ifconfig
На машине 99.55


freebd01# ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
        inet 10.8.0.6 --> 10.8.0.5 netmask 0xffffffff
        Opened by PID 33036

На машине 77.5

# ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
        priority: 0
        groups: tun
        media: Ethernet autoselect
        status: active
        inet 10.8.0.1 --> 10.8.0.2 netmask 0xffffffff

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру