ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
* [Sysadmins] iptables, -j MARK и iproute2
@ 2006-07-30 16:57 Olvin
  2006-08-16  9:29 ` Vadim Gusev
  2006-08-16  9:42 ` Vadim Gusev
  0 siblings, 2 replies; 4+ messages in thread
From: Olvin @ 2006-07-30 16:57 UTC (permalink / raw)
  To: ALT Linux sysadmin discuss

ALM2.4

Выход в инет был через обычный модем по dialup. Теперь появляется ADSL, 
но хочется, чтобы тот, кто платит, ходил через ADSL, а кто не платит, 
так и остался на dialup. Пользователей различаю по UID. ADSL-соединение 
_постоянно_ (прерывать недопустимо), а модемное - эпизодическое.

Как сделать?

Я пробовал
iptables -t mangle -A OUTPUT \
          -m owner --uid-owner 500 \
          -j MARK --set-mark 1
ip route add all via 5.6.7.9 dev eth1 table 100
ip rule add fwmark 1 table 100
ip route flush cache

но всё равно пакеты от пользователя с uid=500 идут через ppp0. Поскольку 
замена fwmark 1 на fwmark 0 всё-таки даёт перенаправление на eth1, то 
заключаю, что дело в первой команде - она не помечает пакет, как её просят.

В документе 
file:/usr/share/doc/alt-docs/master/ch06s05.html#distrib.setup.network.firewall
Есть схема, из которой видно, что решение о маршрутизации принимается 
ещё до того, как отработает моё правило. Т.е. первая команда бесполезна.

Что делать? Надо различать именно по UID локального пользователя.





^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Sysadmins] iptables, -j MARK и iproute2
  2006-07-30 16:57 [Sysadmins] iptables, -j MARK и iproute2 Olvin
@ 2006-08-16  9:29 ` Vadim Gusev
  2006-08-16  9:42 ` Vadim Gusev
  1 sibling, 0 replies; 4+ messages in thread
From: Vadim Gusev @ 2006-08-16  9:29 UTC (permalink / raw)
  To: ALT Linux sysadmin discuss

> Я пробовал
> iptables -t mangle -A OUTPUT \
>           -m owner --uid-owner 500 \
>           -j MARK --set-mark 1
> ip route add all via 5.6.7.9 dev eth1 table 100
> ip rule add fwmark 1 table 100
> ip route flush cache

> В документе
> file:/usr/share/doc/alt-docs/master/ch06s05.html#distrib.setup.network.fire
>wall Есть схема, из которой видно, что решение о маршрутизации принимается
> ещё до того, как отработает моё правило. Т.е. первая команда бесполезна.
>
> Что делать? Надо различать именно по UID локального пользователя.

Я маркировал в выходной цепочке, не -t mangle, а основной (filter), все 
пучком.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Sysadmins] iptables, -j MARK и iproute2
  2006-07-30 16:57 [Sysadmins] iptables, -j MARK и iproute2 Olvin
  2006-08-16  9:29 ` Vadim Gusev
@ 2006-08-16  9:42 ` Vadim Gusev
  2006-08-16 19:08   ` Olvin
  1 sibling, 1 reply; 4+ messages in thread
From: Vadim Gusev @ 2006-08-16  9:42 UTC (permalink / raw)
  To: ALT Linux sysadmin discuss

Извиняюсь, чушь написал, потому что давно это делал.
Ваш пример описан вот тут http://www.opennet.ru/docs/RUS/LARTC/c322.html

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Sysadmins] iptables, -j MARK и iproute2
  2006-08-16  9:42 ` Vadim Gusev
@ 2006-08-16 19:08   ` Olvin
  0 siblings, 0 replies; 4+ messages in thread
From: Olvin @ 2006-08-16 19:08 UTC (permalink / raw)
  To: ALT Linux sysadmin discuss

Vadim Gusev wrote:
> Извиняюсь, чушь написал, потому что давно это делал.
> Ваш пример описан вот тут http://www.opennet.ru/docs/RUS/LARTC/c322.html

:)
Повторяю ещё раз: мне не нужно по IP-адресам (это получается без 
проблем). Мне нужно с критерием owner, т.е. по uid на самом сервере, 
который по совместительству ещё и рабочая станция. Т.е. IP-адрес 
получается один и единственный способ различать, по какому каналу 
пускать, это uid.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2006-08-16 19:08 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-07-30 16:57 [Sysadmins] iptables, -j MARK и iproute2 Olvin
2006-08-16  9:29 ` Vadim Gusev
2006-08-16  9:42 ` Vadim Gusev
2006-08-16 19:08   ` Olvin

ALT Linux sysadmins discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
		sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
	public-inbox-index sysadmins

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sysadmins


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git