Jump to content

Recommended Posts

Posted

вобщем все не так плохо :)

 

есть сетка с выходом в инет, клиенты авторизируются через VPN.

все настроено и работает без сбоев. (клиентам выдается реальный IP - постоянный для этого клиента)

 

трафик учитывается стандартными способом (в скриптах ip-up, ip-down)

 

трабла следующая: после выдачи (установки VPN соединения) IP меняется и default шлюз, что приводит к попаданию локального трафика (до наших серверов с реальниками) в трафик который якобы интернетовский :( временно решено добавлением в файл ip-up ipchains правил.

тоесть после соединения с интернетом пользователь нормально видит интернет и локалку но напрочь перестает видеть реальные адреса наших серверов, для чего на клиентской машине нужно прописывать новые маршруты. ЖУТКИЙ ГЕМОР ИМ ВСЕМ ЭТО ВТИРАТЬ :(

 

как это можно автоматизировать (может при установке VPN сессии или еще как .........)

 

какие мысли коллеги ?

 

буду благодарен за помощь!!!

[/b]

Posted

Разгребанием маршрутов должен заниматься сервер доступа (PPTPd).

Именно он должен знать где есть что. Но тогда учет трафика (если стоимость локали меньше внешки) нельзя делать через PPP. В пределах одного сегмента все работает нормально, но если их несколько надо правильно писать межсегментную маршрутизацию. Можно попробовать передать таблицу локальных маршрутов пользователю через DHCP. Теоретически это возможно...

option static-routes ip-address ip-address [, ip-address

ip-address... ];

Дерзай...

Posted

Если я правильно понял "клиентам выдается реальный IP ", то DHCP не используется...

Вообще, ГРУБО такая проблема решается BATничком (запуском под NT и прописыванием в autoexec.bat под 9х) на стадии подключения.

Если кто-нибуть знает элегантное решение, ПЛИИИЗ!!!

Posted

Кто сказал, что реальные адреса не раздаются DHCP ?

Это и есть "элегантное" решение.

 

То админ

Попробуй несколько роутов прописать, может пропадет один (но не все). Хотя мне кажется так будет некрасиво.

Posted

Может поможет кто заодно разобраться с настройками pptpd RH7.3 ...

У меня сетка с адресами вида 192.168.16.0 /24

Сетевой интерфейс адрес 192.168.16.1

remoteip - видио адеса которые будут выдоваться клиентам, беру из другой подсети 192.168.16.1-100

localip - вот с этим я и не разобрался - это адрес моего сетевого интерфейса 16.1, или что сюда ставить?... в примере тоже как диапазон указывается типа 192.168.16.1-100...

Вроде по всякому пробовоал - соединение устанавливается, но пакеты не ходят... как в этом случае прописывать шлюз по умолчанию? был установлен на 16.1 - далее маскарад в инет, а как теперь переделать?

............

Помогите кто чем может, а то воруют все больше...

Posted

Роутинг на адреса, которые выдаются pptpd вообще быть не должен, поскольку роутинг прописывается сервером pptpd при подключении пользователя. Вот пример как можно сделать:

 

у меня 5 подсетей за роутерами, они все коннектятся к серваку с адресом 192,168,0,1, поскольку на локальных роутерах этот сервак прописан. После подключения юзеру выдаётся некий адрес (внутренний, только из спец подсети или внешний, не важно). у этого роутера прописан шлюз - сервак прова. Когда юзер набирает адрес, то через сервак он автоматически идёт на прова и т.д. pptpd у меня совсем не считает трафик, ибо он считает то, что проходит по vpn-каналу, а это в условиях локалки неприемлимо, поскольку и локальный трафик тоже может проходить там. Трафи считает ipchains или iptables. У меня это ipchains, это не суть важно. Я прописываю в правилах input/output адреса, которые считаю и интерфейс который смотрит в сторону прова и ipchains считает только то, что проходит в инет (т.е. через этот интерфейс) от определённых ипов. Конкретно:

 

адрес, который выдаётся юзеру: 192.168.100.10, адрес юзера: 192.168.0.5

 

интерфейс на серваке который смотрит на юзера eth0, который смотрит в инет: eth1

 

настраиваем ipchains:

 

#!/bin/sh FW=/sbin/ipchains

ADD="$FW -A"

INETDEV='eth1'

 

#вводим правила:

${FW} -N ip_in.0

${FW} -N ip_out.0

 

#считаем только сеть 192.168.100.0-255

${ADD} input -s 192.168.100.0/24 -d 0.0.0.0/0 -j ip_out.0

${ADD} input -s 0.0.0.0/0 -d 192.168.100.0/24 -j ip_in.0

 

#считаем определённую машину (для любого кол-ва машин)

${ADD} ip_in.0 -i $INETDEV -d 192.168.100.10/32

${ADD} ip_out.0 -i $INETDEV -s 192.168.100.10/32

 

и т.д.

 

Т.о. если трафик идёт через интерфейс eth1, то это интернет-трафик, поскольку он смотрит на прова, если он не проходит через eth1, то он не считается.

 

Как снять трафик:

 

/sbin/ipchains -n -v -x -L ip_in.0 > /tmp/ip_in.0 - снимаем трафик с правила ip_in.0.

 

cat /tmp/ip_in.0 | while read LINE

do set $LINE > /dev/null

shift;

if [ "$1" != "ip_in.0" ] && [ "$1" != "bytes" ]; then

temp=`$9`

echo $temp "$1" >> /input_trafic.txt

fi

done

 

 

Всё вроде.

 

P.S. Чтобы юзеры с включенным впн-ом видели твои серваки надо прописать на всех остальных серваках (только не на том, который пускает в инет) роутинг на подсети, которые выдаются юзеру при подключении с указанием в качестве шлюза адрес сервака, на котором стоит pptpd. И все всё увидят.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.