Re: Разделение трафика

2007-11-12 Пенетрантность Покотиленко Костик
В Вск, 11/11/2007 в 10:54 +0300, Mikhail A Antonov пишет:
 On 10 ноября 2007, Tiurin Alexandr wrote:
   Доброго времени суток.
   Комп подключен к провайдеру по 2м тарифам. Т.е. имеется 2 из из одной
   сети, каждый ип для одного тарифного плана соответственно. Оба ипа висят
   на одной сетевой карте.
   Необходимо, что бы конкретные программы выходили в сеть с определенных
   ипов.
 1 - можно через vserver или openvz разделить IP
 2 - как уже писал Артем, по портам расписать правила iptables

# man iptables
...
   owner
   This  module  attempts  to  match  various characteristics of the
packet creator, for locally-generated
   packets.  It is only valid in the OUTPUT  chain,  and  even  this
some  packets  (such  as  ICMP  ping
   responses) may have no owner, and hence never match.

   --uid-owner userid
  Matches if the packet was created by a process with the
given effective user id.

   --gid-owner groupid
  Matches if the packet was created by a process with the
given effective group id.

   --pid-owner processid
  Matches if the packet was created by a process with the
given process id.

  (Please  note: This option requires kernel support that
might not be available in official Linux
  kernel sources or Debian's packaged Linux kernel sources.
And if support  for  this  option  is
  available for the specific Linux kernel source version,
that support might not be enabled in the
  current Linux kernel binary.)

   --sid-owner sessionid
  Matches if the packet was created by a process in the
given session group.

  (Please note: This option requires kernel support that
might not be available in official  Linux
  kernel  sources  or  Debian's  packaged Linux kernel
sources.  And if support for this option is
  available for the specific Linux kernel source version,
that support might not be enabled in the
  current Linux kernel binary.)

   --cmd-owner name
  Matches if the packet was created by a process with the
given command name.

  (Please  note: This option requires kernel support that
might not be available in official Linux
  kernel sources or Debian's packaged Linux kernel sources.
And if support  for  this  option  is
  available for the specific Linux kernel source version,
that support might not be enabled in the
  current Linux kernel binary.)

   NOTE: pid, sid and command matching are broken on SMP
...

-- 
Покотиленко Костик [EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Разделение трафика

2007-11-12 Пенетрантность Покотиленко Костик
В Пнд, 12/11/2007 в 17:49 +0500, Timur S. Sattarov пишет:
 # iptables -t nat -A OUTPUT -m owner --pid-owner 4699
 iptables: Invalid argument
 
 dmesg | tail -1
 ipt_owner: pid, sid and command matching not supported anymore
 
 
 ядро 2.6.22
 
 сам недавно копал
 может где в неофициальных патчах ?
 или Дебьяновское ядро не поддерживает ...

Мда... Хотя:

# iptables -t nat -A OUTPUT -m owner --uid-owner 4699
#

-- 
Покотиленко Костик [EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Разделение трафика

2007-11-12 Пенетрантность Покотиленко Костик
В Суб, 10/11/2007 в 10:47 +0300, Tiurin Alexandr пишет:
 Доброго времени суток.
 Комп подключен к провайдеру по 2м тарифам. Т.е. имеется 2 из из одной 
 сети, каждый ип для одного тарифного плана соответственно. Оба ипа висят 
 на одной сетевой карте.
 Необходимо, что бы конкретные программы выходили в сеть с определенных 
 ипов.

Если не секрет - зачем? Какого эффекта ожидаете?

У меня в одной конторе 4 ppp по разным тарифам. Одна группа клиентов
ходит по 1-му ppp. Остальные днём по 2-му, вечером и в выходные по 3-му,
а городской трафик у всех только по 4-му.

Могу вспомнить как сделал.

-- 
Покотиленко Костик [EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Разделение трафика

2007-11-12 Пенетрантность Покотиленко Костик
В Пнд, 12/11/2007 в 19:47 +0300, Tiurin Alexandr пишет:
 Покотиленко Костик пишет:
  В Суб, 10/11/2007 в 10:47 +0300, Tiurin Alexandr пишет:
  Доброго времени суток.
  Комп подключен к провайдеру по 2м тарифам. Т.е. имеется 2 из из одной 
  сети, каждый ип для одного тарифного плана соответственно. Оба ипа висят 
  на одной сетевой карте.
  Необходимо, что бы конкретные программы выходили в сеть с определенных 
  ипов.
  
  Если не секрет - зачем? Какого эффекта ожидаете?
  
  У меня в одной конторе 4 ppp по разным тарифам. Одна группа клиентов
  ходит по 1-му ppp. Остальные днём по 2-му, вечером и в выходные по 3-му,
  а городской трафик у всех только по 4-му.
  
  Могу вспомнить как сделал.
  
 
 Провайдер на безлимитных тарифах режет tcp сессии до 20 (т.е 
 входящие+исходящие = не более 20). Т.к. обильно пользуюсь p2p, то часто 
 сеть тормозит (во время веб-серфинга), даже если по скорости обмен 
 трафиком далек до максимума. Да и в целом, используя p2p + зарезаный 
 анлим, получается, что я не реализую весь потенциал этого тарифа по 
 скорости.
 Поэтому хочу, что б p2p ходил по одному тарифу, а все остальное по другому.

Два пути:

1. Используя только iptables.
# man iptables
...
   ROUTE
   This is used to explicitly override the core  network  stack's
routing
   decision.

   (Please  note:  This  target  requires kernel support that might
not be
   available in official Linux kernel sources or Debian's  packaged
Linux
   kernel  sources.   And  if support for this target is available
for the
   specific Linux kernel source version, that support might not be
enabled
   in the current Linux kernel binary.)

   mangle table.

   --oif ifname
  Route the packet through `ifname' network interface

   --iif ifname
  Change the packet's incoming interface to `ifname'

   --gw IP_address
  Route the packet via this gateway

   --continue
  Behave like a non-terminating target and continue
traversing the
  rules.  Not valid in combination with `--iif' or `--tee'

   --tee  Make a copy of the packet, and route that copy to the
given des-
  tination.  For the original, uncopied packet, behave like
a non-
  terminating target and continue traversing the rules.  Not
valid
  in combination with `--iif' or `--continue'
...

2. iptables + iproute2

С помощью iptables ставишь марки, с помощью iproute2 создаёшь
альтернативные таблицы маршрутизации и раскидываешь по маркам трафик в
разные таблицы. Примерно так:

iptables -t mangle -A FORWARD -p tcp --dport 80 -j MARK --set-mark 0x45
iptables -t mangle -A FORWARD -p tcp --dport 80 -j RETURN
iptables -t mangle -A FORWARD -j MARK --set-mark 0x46
iptables -t mangle -A FORWARD -j RETURN

echo 200 P2P  /etc/iproute2/rt_tables
echo 201 Other  /etc/iproute2/rt_tables

ip route add default dev eth0 table P2P
ip route add default dev eth0:0 table Other

ip rule add fwmark 0x45 table P2P
ip rule add fwmark 0x46 table Other

-- 
Покотиленко Костик [EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Разделение трафика

2007-11-11 Пенетрантность alex kuklin

Tiurin Alexandr wrote:

Доброго времени суток.
Комп подключен к провайдеру по 2м тарифам. Т.е. имеется 2 из из одной 
сети, каждый ип для одного тарифного плана соответственно. Оба ипа 
висят на одной сетевой карте.
Необходимо, что бы конкретные программы выходили в сеть с определенных 
ипов.

Пока я вижу следующие решения.
1. Вешать на один ип прокси.
2. Ограничение доступа программ к интерфесам eth0(ip1) и eth0:0(ip2), 
но я не знаю как.
3. Создать второй аккаунт в системе, дать ему доступ только на eth0:0, 
а первому аккаунту доступ только к eth0. Но это уже совсем крайний 
вариант.

Что  можете еще посоветовать интересного?



http://lartc.org/howto
там тема раскрыта максимально подробно


--
Alex


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Разделение трафика

2007-11-11 Пенетрантность Maxim Kudelya

alex kuklin wrote:

Tiurin Alexandr wrote:

Доброго времени суток.
Комп подключен к провайдеру по 2м тарифам. Т.е. имеется 2 из из одной 
сети, каждый ип для одного тарифного плана соответственно. Оба ипа 
висят на одной сетевой карте.
Необходимо, что бы конкретные программы выходили в сеть с определенных 
ипов.

Пока я вижу следующие решения.
1. Вешать на один ип прокси.
2. Ограничение доступа программ к интерфесам eth0(ip1) и eth0:0(ip2), 
но я не знаю как.
3. Создать второй аккаунт в системе, дать ему доступ только на eth0:0, 
а первому аккаунту доступ только к eth0. Но это уже совсем крайний 
вариант.

Что  можете еще посоветовать интересного?



http://lartc.org/howto
там тема раскрыта максимально подробно

Оно же на великом и могучем:
http://gazette.linux.ru.net/rus/articles/lartc/index.html

Кстати, если кто делал разделение трафика на HTB, поделитесь примером 
рабочим. А то в свое время надо было поднять быстро, но так как хотелось 
он не заработал.


--
maxym


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Разделение трафика

2007-11-10 Пенетрантность Artem Chuprina
Tiurin Alexandr - debian-russian@lists.debian.org  @ Sat, 10 Nov 2007 10:47:06 
+0300:

 TA Доброго времени суток.
 TA Комп подключен к провайдеру по 2м тарифам. Т.е. имеется 2 из из одной сети,
 TA каждый ип для одного тарифного плана соответственно. Оба ипа висят на одной
 TA сетевой карте.
 TA Необходимо, что бы конкретные программы выходили в сеть с определенных 
ипов.
 TA Пока я вижу следующие решения.
 TA 1. Вешать на один ип прокси.
 TA 2. Ограничение доступа программ к интерфесам eth0(ip1) и eth0:0(ip2), но я 
не
 TA знаю как.
 TA 3. Создать второй аккаунт в системе, дать ему доступ только на eth0:0, а
 TA первому аккаунту доступ только к eth0. Но это уже совсем крайний вариант.
 TA Что  можете еще посоветовать интересного?

Некоторые программы позволяют указывать исходящий адрес.  Для некоторых
других можно попробовать взять прокси-сервер, который умеет указанный
исходящий адрес.  Для программ, работающих по определенным протоколам -
устанавливать исходящий адрес посредством iptables.  На самый крайний
случай - сделать оберточный скрипт, который запускает программу, смотрит
ее PID, выставляет правило iptables для этого PID, дожидается
завершения, удаляет правило.  Впрочем, это даже не обязательно самый
крайний случай - если скрипт называется так же, но лежит в
/usr/local/bin, и этот самый /usr/local/bin в PATH заведомо раньше, чем
/usr/bin, то работать будет.  Еще можно такие правила делать не
промежуточным скриптом, а демоном, отслеживающим, допустим, раз в
секунду текущий набор процессов.

-- 
Artem Chuprina
RFC2822: ran{}ran.pp.ru Jabber: [EMAIL PROTECTED]

НИИ требуются:
1. Кто бы мог подумать.
Кнышев.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Разделение трафика

2007-11-10 Пенетрантность Mikhail A Antonov
On 10 ноября 2007, Tiurin Alexandr wrote:
  Доброго времени суток.
  Комп подключен к провайдеру по 2м тарифам. Т.е. имеется 2 из из одной
  сети, каждый ип для одного тарифного плана соответственно. Оба ипа висят
  на одной сетевой карте.
  Необходимо, что бы конкретные программы выходили в сеть с определенных
  ипов.
1 - можно через vserver или openvz разделить IP
2 - как уже писал Артем, по портам расписать правила iptables

-- 
Best regards,
 Mikhail
Bart-mdv- @ SolarNet
IRC: irc.solarnet.ru
WWW: http://www.solarnet.ru/

--
Люди растут! Числом...
-- Евгений Кащеев


signature.asc
Description: This is a digitally signed message part.


Разделение трафика

2007-11-09 Пенетрантность Tiurin Alexandr

Доброго времени суток.
Комп подключен к провайдеру по 2м тарифам. Т.е. имеется 2 из из одной 
сети, каждый ип для одного тарифного плана соответственно. Оба ипа висят 
на одной сетевой карте.
Необходимо, что бы конкретные программы выходили в сеть с определенных 
ипов.

Пока я вижу следующие решения.
1. Вешать на один ип прокси.
2. Ограничение доступа программ к интерфесам eth0(ip1) и eth0:0(ip2), но 
я не знаю как.
3. Создать второй аккаунт в системе, дать ему доступ только на eth0:0, а 
первому аккаунту доступ только к eth0. Но это уже совсем крайний вариант.

Что  можете еще посоветовать интересного?


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]