LINUX.ORG.RU
ФорумAdmin

pptpclient


0

0

У провайдера настройка ipишника по dhcp а выход в инет через vpn. У vpn сервера несколько ip адрессов и DNS циклически выдает один из них при каждом запросе. Весь список может менятся (было уже 1 раз). Все адреса не принадлежат подсети, которую возвращает dhcp. Адрес сервера внутри vpn совпадает с адресом сервера внутри локалки.

Эксперементально установленно, что если для каждого ip сервера не прописан явно маршрут до начала соединения, vpn не работает (т.е прописывание маршрута для всей сети в которой лежат ip адресса servera не помогает).

Как после установки соединения можно указать маршрут, по которому должен идти трафик виртуальной сети?

anonymous

Ответ на: комментарий от vahvarh

>мне кажется что самый простой способ - написать программку на perl или bash.

Конечно получить полный список адресов и прописать маршруты при загрузке соединения можно, но как то криво.

Ну ведь должен быть способ выделить трафик идущий от pptpclienta до сервера и прописать роутинг. IMHO самый правильный способ.

anonymous
()

Прописал: 

iptables -t mangle -A OUTPUT -p gre -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -p tcp --dport 1723 -j MARK --set-mark 1

других правил в iptables нет. 


ip route до локальных ресурсов в table main

ip route add default via <gw> table pptp
ip rule add priority 1 fwmark 1 table pptp

pon <peer>

После
ping www.ru 
tcpdump -ni ppp0 и ethereal на eth1

После этого видно, что ping requestы уходят в ppp0, затем в eth1,
ping reply от www.ru появляются на eth1 (видно в ethereal),
но из ppp0  не появляются. 

Через 2 минуты pptp отваливается. 
Последнее, что приходит от сервера - 
tcp пакет с установленным RST. 


В чем может быть дело?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.