Здравсвуйте,опишу ситуацию.
На шлюзе настроена маршрутизация на двух провайдеров, маршрутизация настроена по принципу маркировки пакетов iptables и роутинга используя эти метки ip route. Далее на этом же шлюзе поднят OpenVPN клиент, клиенту выдается ip 192.168.173.6, на OpenVPn сервере настроена маршрутизация, то есть с самого шлюза я вижу IP адресс 192.168.172.100 (именно 172).
А теперь вопрос каким образом мне прописать маршрут, чтобы из внутренний сети все запросы на сеть 192.168.172.0 шли через интерфейс tun1 то есть через OpenVPN.
> Здравсвуйте,опишу ситуацию.
> На шлюзе настроена маршрутизация на двух провайдеров, маршрутизация настроена по принципу
> маркировки пакетов iptables и роутинга используя эти метки ip route. Далее
> на этом же шлюзе поднят OpenVPN клиент, клиенту выдается ip 192.168.173.6,
> на OpenVPn сервере настроена маршрутизация, то есть с самого шлюза я
> вижу IP адресс 192.168.172.100 (именно 172).
> А теперь вопрос каким образом мне прописать маршрут, чтобы из внутренний сети
> все запросы на сеть 192.168.172.0 шли через интерфейс tun1 то есть
> через OpenVPN.не маркируйте пакеты идущие в 192.168.172.0
> не маркируйте пакеты идущие в 192.168.172.0Хм. И что мне это даст. А какое правило надо сделать, чтобы не маркировать запросы на отдельный ип?
>> не маркируйте пакеты идущие в 192.168.172.0
> Хм. И что мне это даст. А какое правило надо сделать, чтобы
> не маркировать запросы на отдельный ип?если vpn-клиент, он же ваш шлюз, видит 192.168.172.0 подсеть, значит маршрут у него уже есть, наверно получен от vpn-сервера, вот и не мешайте ему.
правила. либо там где маркируете укажите , что не для 192.168.172.0/24, либо перед правилами с маркировкой сделать разрешающее правило для подсети 192.168.172.0/24
> правила. либо там где маркируете укажите , что не для 192.168.172.0/24, либо
> перед правилами с маркировкой сделать разрешающее правило для подсети 192.168.172.0/24Ок, а не могли бы ва само правило написать например разрешающее для 192.168.172.0/24
Неужели никто не сталкивался?
>> правила. либо там где маркируете укажите , что не для 192.168.172.0/24, либо
>> перед правилами с маркировкой сделать разрешающее правило для подсети 192.168.172.0/24
> Ок, а не могли бы ва само правило написать например разрешающее для
> 192.168.172.0/24http://www.opennet.me/docs/RUS/iptables/
так как порядок следования правил имеет значения, нужно видеть что вы там нагородили
iptables-save
> так как порядок следования правил имеет значения, нужно видеть что вы там
> нагородили
> iptables-save# Generated by iptables-save v1.3.8 on Wed Dec 22 13:34:40 2010
*mangle
:PREROUTING ACCEPT [170218709:100936197902]
:INPUT ACCEPT [1063848:113325365]
:FORWARD ACCEPT [169074864:100808426853]
:OUTPUT ACCEPT [608149:73634355]
:POSTROUTING ACCEPT [169678261:100881647506]
-A PREROUTING -s 192.168.0.0/255.255.255.0 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xa
-A PREROUTING -s 192.168.0.63 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.57 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.58 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.59 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.60 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.61 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.64 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.71 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.72 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.73 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.74 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.75 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.76 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.77 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.92 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.93 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.94 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.95 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.96 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.101 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.102 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.132 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.133 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.111 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.113 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.121 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.122 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.123 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.124 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.142 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.143 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.151 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.172 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.173 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.174 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.175 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.176 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.177 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.178 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.179 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.180 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.181 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.182 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.183 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.184 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.185 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.186 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.187 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.188 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.189 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.190 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.191 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.192 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.193 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.197 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A PREROUTING -s 192.168.0.200 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
-A INPUT -i eth1 -j MARK --set-mark 0xa
-A INPUT -i eth2 -j MARK --set-mark 0xb
-A OUTPUT -m connmark --mark 0xa -j MARK --set-mark 0xa
-A OUTPUT -m connmark --mark 0xb -j MARK --set-mark 0xb
-A POSTROUTING -m mark --mark 0xa -j MASQUERADE
-A POSTROUTING -m mark --mark 0xb -j MASQUERADE
>[оверквотинг удален]
> -A PREROUTING -s 192.168.0.192 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
> -A PREROUTING -s 192.168.0.193 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
> -A PREROUTING -s 192.168.0.197 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
> -A PREROUTING -s 192.168.0.200 -d ! 192.168.0.0/255.255.255.0 -j MARK --set-mark 0xb
> -A INPUT -i eth1 -j MARK --set-mark 0xa
> -A INPUT -i eth2 -j MARK --set-mark 0xb
> -A OUTPUT -m connmark --mark 0xa -j MARK --set-mark 0xa
> -A OUTPUT -m connmark --mark 0xb -j MARK --set-mark 0xb
> -A POSTROUTING -m mark --mark 0xa -j MASQUERADE
> -A POSTROUTING -m mark --mark 0xb -j MASQUERADEiptables -t mangle -I PREROUTING -d 192.168.172.0/24 -j ACCEPT
iptables -I FORWARD -i tun+ -j ACCEPT
iptables -I FORWARD -o tun+ -j ACCEPTтак же если на стороне vpn-сервера маршрутов к вашей локалке нет и вы не можете их там прописывать, то сделайте snat или MASQUERADE на tun-интерфейсе
>[оверквотинг удален]
>> -A OUTPUT -m connmark --mark 0xa -j MARK --set-mark 0xa
>> -A OUTPUT -m connmark --mark 0xb -j MARK --set-mark 0xb
>> -A POSTROUTING -m mark --mark 0xa -j MASQUERADE
>> -A POSTROUTING -m mark --mark 0xb -j MASQUERADE
> iptables -t mangle -I PREROUTING -d 192.168.172.0/24 -j ACCEPT
> iptables -I FORWARD -i tun+ -j ACCEPT
> iptables -I FORWARD -o tun+ -j ACCEPT
> так же если на стороне vpn-сервера маршрутов к вашей локалке нет и
> вы не можете их там прописывать, то сделайте snat или MASQUERADE
> на tun-интерфейсеСпасибо за ответ, прописал но ничего не изменилось. Подскажите пожалуйста как правильно прописать маскарадинг на tun?
>[оверквотинг удален]
>>> -A POSTROUTING -m mark --mark 0xa -j MASQUERADE
>>> -A POSTROUTING -m mark --mark 0xb -j MASQUERADE
>> iptables -t mangle -I PREROUTING -d 192.168.172.0/24 -j ACCEPT
>> iptables -I FORWARD -i tun+ -j ACCEPT
>> iptables -I FORWARD -o tun+ -j ACCEPT
>> так же если на стороне vpn-сервера маршрутов к вашей локалке нет и
>> вы не можете их там прописывать, то сделайте snat или MASQUERADE
>> на tun-интерфейсе
> Спасибо за ответ, прописал но ничего не изменилось. Подскажите пожалуйста как правильно
> прописать маскарадинг на tun?iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
если и после этого не заработает то tcpdump -n -i tun0 покажет что происходит на интерфейсе
> если и после этого не заработает то tcpdump -n -i tun0 покажет
> что происходит на интерфейсеСпасибо за помощь, вроде работает но задержки очень большие
Ответ от 192.168.172.1: число байт=32 время=697мс TTL=126
С чем это может быть вызвано?
>> если и после этого не заработает то tcpdump -n -i tun0 покажет
>> что происходит на интерфейсе
> Спасибо за помощь, вроде работает но задержки очень большие
> Ответ от 192.168.172.1: число байт=32 время=697мс TTL=126
> С чем это может быть вызвано?а со шлюза?
> Здравсвуйте,опишу ситуацию.
> На шлюзе настроена маршрутизация на двух провайдеров, маршрутизация настроена по принципу
> маркировки пакетов iptables и роутинга используя эти метки ip route. Далее
> на этом же шлюзе поднят OpenVPN клиент, клиенту выдается ip 192.168.173.6,
> на OpenVPn сервере настроена маршрутизация, то есть с самого шлюза я
> вижу IP адресс 192.168.172.100 (именно 172).
> А теперь вопрос каким образом мне прописать маршрут, чтобы из внутренний сети
> все запросы на сеть 192.168.172.0 шли через интерфейс tun1 то есть
> через OpenVPN.Тут маркировать ничего не нужно.
1. Разрешите весь трафик через интерфес TUN1.
2. В конфиг openvpn на сервере добавьте строчку route 192.168.172.0 255.255.255.0, это отправит траффик в туннель.
3. Для определения, какому клиенту слать трафик - испрользуйте client-config-dir, а в файле с именем клиента укажите iroute 192.168.172.0 255.255.255.0ЗЫ.
В п.2 должно быть несколько строчек (сеть из которой выдается IP клиентур, подсеть у клиента и т.п.)