Всем доброго дня!
Имеется роутер wl-500w (прошивка последняя) с двумя подключенными провайдерами:
1. eth1 ip 77.239.196.17 gw 77.239.196.1
2. vlan1 ip 10.10.10.3 gw 10.10.10.1
Локалка: 192.168.1.0/24
Решил завернуть udp трафик идущий на порт 1194 в канал провайдера №2.
Создал таблицу 4 для второго провайдера
Code:
touch /etc/iproute2/rt_tables
ip route show table main | grep -v ^default \
| while read ROUTE ; do
ip route add table 4 $ROUTE
done
ip route add table 4 default via 10.10.10.1
ip route show table 4
77.239.196.1 dev eth1 scope link
192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.1
10.10.10.0/24 dev vlan1 proto kernel scope link src 10.10.10.3
77.239.192.0/20 dev eth1 proto kernel scope link src 77.239.196.17
127.0.0.0/8 dev lo scope link
default via 10.10.10.1 dev vlan1
Далее маркирую пакеты:
Code:
iptables -t mangle -A PREROUTING -p udp --dport 1194 -s 192.168.1.0/24 -j MARK --set-mark 4
Натим пакеты на втором интерфейсе:
Code:
iptables -t nat -A POSTROUTING -o vlan1 -j SNAT --to-source 10.10.10.3
Правим табицу маршрутизации №4 для маркированных пакетов:
Code:
ip rule add fwmark 4 table 4
ip rule show
0: from all lookup local
32765: from all fwmark 4 lookup 4
32766: from all lookup main
32767: from all lookup 253
Вроде все. Запускаем openvpn и tcpdump на интерфейсе №2
Code:
tcpdump -i vlan1
00:17:09.809660 IP 10.10.10.3.54816 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
00:17:09.885709 IP xxx-xx-251-80.pride-net.ru.1194 > 10.10.10.3.54816: UDP, length: 50
00:17:11.881966 IP 10.10.10.3.54816 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
00:17:11.956202 IP xxx-xx-251-80.pride-net.ru.1194 > 10.10.10.3.54816: UDP, length: 54
00:17:12.597098 arp who-has 10.10.10.1 tell 10.10.10.3
00:17:12.598064 arp reply 10.10.10.1 is-at 00:1e:be:de:e6:b7
00:17:13.909266 IP 10.10.10.3.54816 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
00:17:13.988404 IP xxx-xx-251-80.pride-net.ru.1194 > 10.10.10.3.54816: UDP, length: 54
00:17:15.959057 IP 10.10.10.3.54816 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
00:17:16.038802 IP xxx-xx-251-80.pride-net.ru.1194 > 10.10.10.3.54816: UDP, length: 54
00:17:18.008920 IP 10.10.10.3.54816 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
Соединение не устанавливается, пакеты уходят в верном направлении на интерфейс 2 провайдера и возвращаются, но только на интерфейс vlan1, но не дальше.
Запускаю снифер на br0
Code:
tcpdump -i br0 | grep 1194
00:19:45.674915 IP 192.168.1.15.54818 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
00:19:57.210260 IP 192.168.1.15.54818 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
00:19:59.510409 IP 192.168.1.15.54818 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
00:20:10.654456 IP 192.168.1.15.54819 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
00:20:12.920396 IP 192.168.1.15.54819 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
Пакеты уходят, но не возвращаются!
В чем косяк подскажите?