Приветствую!Имеем шлюз на 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 tablesInternet:
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
>192.168.1.0/24 link#2
> UC
> 0
> 0 rl0
шлюз по умолчанию какой?
форвард включен?
я строил на убунте + винда проблем ни каких не возникало.
Все ответы в стартовом посте.>шлюз по умолчанию какой?
>форвард включен?
>я строил на убунте + винда проблем ни каких не возникало.да, включен
>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
>[оверквотинг удален]
>
>Internet:
>Destination Gateway
> Flags
> Refs Use Netif Expire
>
>default
>217.***.***.1 UGS
> 0 442488
> vr0вообщето дефалтный шлюз должен быть канал.
он включаеться на стороне сервера
>вообщето дефалтный шлюз должен быть канал.
>он включаеться на стороне сервераПри условии, что трафик самого сервера нужно пустить через VPN канал, а такой задачи пока не стоит!
Тут даже сам интерфейс tun0 не пингуется из 192.168.1.1
С рабочей станции с 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 bytes0 packets captured
0 packets received by filter
0 packets dropped by kernelв логах:
/var/log/security никаких запретов не отловлено по этим пакетам.
Нашел решение:===========================================================================================
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