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

Исходное сообщение
"Машрутизация из локалки в tun0 => OpenVPN"

Отправлено zeiter , 01-Дек-09 10:47 
Приветствую!

Имеем шлюз на FreeBSD7, через нат которого локалка ходит в инет. Все отлажено и все работает.

Тут задача возникла в организации VPN канала, через который будут ходить пользователи в инет. Канал поднят. Возникла проблема с маршрутизацией трафика через VPN канал, а именно:

Трафик с rl0 не проходит на tun0

rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:50:fc:fd:87:8f
        inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active

и

tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
        inet 172.16.100.6 --> 172.16.100.5 netmask 0xffffffff
        Opened by PID 45837

Имеем следующую картину по пингам:

ping 172.16.100.6
PING 172.16.100.6 (172.16.100.6): 56 data bytes
64 bytes from 172.16.100.6: icmp_seq=0 ttl=64 time=9.724 ms
64 bytes from 172.16.100.6: icmp_seq=1 ttl=64 time=9.165 ms

но тут запарки:

ping -S 192.168.1.1 172.16.100.6
PING 172.16.100.6 (172.16.100.6) from 192.168.1.1: 56 data bytes
^C
--- 172.16.100.6 ping statistics ---
5 packets transmitted, 0 packets received, 100.0% packet loss

аналогичная ситуация, если пинговать 172.16.100.1, который находится на удаленном сервере.

вот выдержка из netstat -rn

netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            217.***.***.1        UGS         0   313953    vr0
127.0.0.1          127.0.0.1          UH          0    86467    lo0
172.16.100.0/24    172.16.100.5       UGS         0      176   tun0
172.16.100.5       172.16.100.6       UH          1        4   tun0
192.168.1.0/24     link#2             UC          0        0    rl0

Уже и не знаю, что смотреть и что проверять. Отключал правила ipfw и останавливал nat - ничего не помогает, пакеты не проходят.

Форвардинг включен. Подскажите, как наладить работу?


Содержание

Сообщения в этом обсуждении
"Машрутизация из локалки в tun0 => OpenVPN"
Отправлено dades , 01-Дек-09 12:16 
>[оверквотинг удален]
> tun0
>192.168.1.0/24     link#2      
>      UC    
>     0      
>  0    rl0

>
>Уже и не знаю, что смотреть и что проверять. Отключал правила ipfw
>и останавливал nat - ничего не помогает, пакеты не проходят.
>
>Форвардинг включен. Подскажите, как наладить работу?

шлюз по умолчанию какой?
форвард включен?
я строил на убунте + винда проблем ни каких не возникало.


"Машрутизация из локалки в tun0 => OpenVPN"
Отправлено zeiter , 01-Дек-09 12:47 
Все ответы в стартовом посте.

>шлюз по умолчанию какой?
>форвард включен?
>я строил на убунте + винда проблем ни каких не возникало.

да, включен

>sysctl -a | grep forward
kern.smp.forward_roundrobin_enabled: 1
kern.smp.forward_signal_enabled: 1
net.inet.ip.forwarding: 1
net.inet.ip.fastforwarding: 0
net.inet6.ip6.forwarding: 0

Обращаю внимание, что роутер рабочий и все на нам настроено.
Нужно решить вопрос, почему трафик не проходит 192.168.1.0/24 на 172.16.100.0/24

Шлюз по умолчанию показан в выборке из netstat -rn

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            217.***.***.1        UGS         0   442488    vr0


"Машрутизация из локалки в tun0 => OpenVPN"
Отправлено dades , 01-Дек-09 12:53 
>[оверквотинг удален]
>
>
Internet: 
>Destination        Gateway    
>        Flags  
> Refs      Use  Netif Expire
>
>default            
>217.***.***.1        UGS  
>      0   442488  
>  vr0

вообщето дефалтный шлюз должен быть канал.
он включаеться на стороне сервера


"Машрутизация из локалки в tun0 => OpenVPN"
Отправлено zeiter , 01-Дек-09 13:26 

>вообщето дефалтный шлюз должен быть канал.
>он включаеться на стороне сервера

При условии, что трафик самого сервера нужно пустить через VPN канал, а такой задачи пока не стоит!

Тут даже сам интерфейс tun0 не пингуется из 192.168.1.1


"Машрутизация из локалки в tun0 => OpenVPN"
Отправлено zeiter , 01-Дек-09 13:47 
С рабочей станции с IP 192.168.1.4  пингую 172.16.100.1

на локальном сервере 192.168.1.1

>tcpdump -ni tun0 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type NULL (BSD loopback), capture size 96 bytes
16:42:00.556080 IP 192.168.1.4 > 172.16.100.1: ICMP echo request, id 1, seq 538, length 40
16:42:05.556294 IP 192.168.1.4 > 172.16.100.1: ICMP echo request, id 1, seq 539, length 40
16:42:10.557457 IP 192.168.1.4 > 172.16.100.1: ICMP echo request, id 1, seq 540, length 40
16:42:15.558677 IP 192.168.1.4 > 172.16.100.1: ICMP echo request, id 1, seq 541, length 40
16:42:20.557014 IP 192.168.1.4 > 172.16.100.1: ICMP echo request, id 1, seq 542, length 40

на удаленном сервере 172.16.100.1

# tcpdump -ni tun0 icmp
tcpdump: WARNING: arptype 65534 not supported by libpcap - falling back to cooked socket
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type LINUX_SLL (Linux cooked), capture size 96 bytes

0 packets captured
0 packets received by filter
0 packets dropped by kernel

в логах:

/var/log/security никаких запретов не отловлено по этим пакетам.


"Машрутизация из локалки в tun0 => OpenVPN"
Отправлено zeiter , 28-Янв-10 14:13 
Нашел решение:

===========================================================================================
How to fix the errors "MULTI: bad source address from client [192.168.100.249], packet dropped" or "GET INST BY VIRT: 192.168.100.249 [failed]"?

These errors occur because OpenVPN doesn't have an internal route for 192.168.100.249. Consequently, it doesn't know how to route the packet to this machine, so it drops the packet.

Use client-config-dir and create a ccd file for your client containing the iroute option to tell OpenVPN that the 192.168.100.0/24 network is available behind this client.
===========================================================================================

на странице http://www.ossg.ru/docs/OpenVPN/faq.html