* [Sysadmins] iptables и цель ROUTE @ 2008-08-05 10:11 Olvin 2008-08-05 10:36 ` Serge 2008-08-05 12:16 ` Alexander Vasiliev 0 siblings, 2 replies; 21+ messages in thread From: Olvin @ 2008-08-05 10:11 UTC (permalink / raw) To: ALT Linux sysadmin discuss Система ALD4.0.1. А где у нас цель ROUTE в iptables? Очень нужно, а нету. Как быть? Нужно, чтобы интернет-трафик одного пользователя (по UID) направлялся по одному ppp-интерфейсу, а другого пользователя - по другому ppp-интерфейсу. Адреса ppp-соединений - динамические, провайдер один. Пользователи работают одновременно за одним компьютером. Заморачиваться с маршрутизатором в OpenVZ-контейнере и, тем более, с отдельной железкой для этих целей нет никакого желания. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-05 10:11 [Sysadmins] iptables и цель ROUTE Olvin @ 2008-08-05 10:36 ` Serge 2008-08-05 11:08 ` Olvin 2008-08-05 12:16 ` Alexander Vasiliev 1 sibling, 1 reply; 21+ messages in thread From: Serge @ 2008-08-05 10:36 UTC (permalink / raw) To: ALT Linux sysadmin discuss В сообщении от Tuesday 05 August 2008 13:11:24 Olvin написал(а): > Система ALD4.0.1. > А где у нас цель ROUTE в iptables? Очень нужно, а нету. Как быть? > > Нужно, чтобы интернет-трафик одного пользователя (по UID) направлялся по > одному ppp-интерфейсу, а другого пользователя - по другому > ppp-интерфейсу. Адреса ppp-соединений - динамические, провайдер один. > Пользователи работают одновременно за одним компьютером. Заморачиваться > с маршрутизатором в OpenVZ-контейнере и, тем более, с отдельной железкой > для этих целей нет никакого желания. а если метить пакеты и направлять их на определенный интерфейс с помощью iproute2? ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-05 10:36 ` Serge @ 2008-08-05 11:08 ` Olvin 2008-08-05 12:04 ` Serge 0 siblings, 1 reply; 21+ messages in thread From: Olvin @ 2008-08-05 11:08 UTC (permalink / raw) To: ALT Linux sysadmin discuss Serge wrote: >> Система ALD4.0.1. >> А где у нас цель ROUTE в iptables? Очень нужно, а нету. Как быть? >> Нужно, чтобы интернет-трафик одного пользователя (по UID) направлялся по >> одному ppp-интерфейсу, а другого пользователя - по другому >> ppp-интерфейсу. Адреса ppp-соединений - динамические, провайдер один. >> Пользователи работают одновременно за одним компьютером. Заморачиваться >> с маршрутизатором в OpenVZ-контейнере и, тем более, с отдельной железкой >> для этих целей нет никакого желания. > а если метить пакеты и направлять их на определенный интерфейс с помощью > iproute2? Я эту проблему уже поднимал здесь. Фокус в том, что решение о маршрутизации для пакетов от локальных процессов принимается ДО nat или mangle. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-05 11:08 ` Olvin @ 2008-08-05 12:04 ` Serge 2008-08-05 12:20 ` Olvin 0 siblings, 1 reply; 21+ messages in thread From: Serge @ 2008-08-05 12:04 UTC (permalink / raw) To: ALT Linux sysadmin discuss В сообщении от Tuesday 05 August 2008 14:08:18 Olvin написал(а): > Serge wrote: > >> Система ALD4.0.1. > >> А где у нас цель ROUTE в iptables? Очень нужно, а нету. Как быть? > >> Нужно, чтобы интернет-трафик одного пользователя (по UID) направлялся по > >> одному ppp-интерфейсу, а другого пользователя - по другому > >> ppp-интерфейсу. Адреса ppp-соединений - динамические, провайдер один. > >> Пользователи работают одновременно за одним компьютером. Заморачиваться > >> с маршрутизатором в OpenVZ-контейнере и, тем более, с отдельной железкой > >> для этих целей нет никакого желания. > > > > а если метить пакеты и направлять их на определенный интерфейс с помощью > > iproute2? > > Я эту проблему уже поднимал здесь. Фокус в том, что решение о > маршрутизации для пакетов от локальных процессов принимается ДО nat или > mangle. если не ошибаюсь в цепочке mangle\OUTPUT ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-05 12:04 ` Serge @ 2008-08-05 12:20 ` Olvin 2008-08-05 13:40 ` Alexander Vasiliev 2008-08-06 7:44 ` Pavel 0 siblings, 2 replies; 21+ messages in thread From: Olvin @ 2008-08-05 12:20 UTC (permalink / raw) To: ALT Linux sysadmin discuss Serge wrote: >>>> Система ALD4.0.1. >>>> А где у нас цель ROUTE в iptables? Очень нужно, а нету. Как быть? >>>> Нужно, чтобы интернет-трафик одного пользователя (по UID) направлялся по >>>> одному ppp-интерфейсу, а другого пользователя - по другому >>>> ppp-интерфейсу. Адреса ppp-соединений - динамические, провайдер один. >>>> Пользователи работают одновременно за одним компьютером. Заморачиваться >>>> с маршрутизатором в OpenVZ-контейнере и, тем более, с отдельной железкой >>>> для этих целей нет никакого желания. >>> а если метить пакеты и направлять их на определенный интерфейс с помощью >>> iproute2? >> Я эту проблему уже поднимал здесь. Фокус в том, что решение о >> маршрутизации для пакетов от локальных процессов принимается ДО nat или >> mangle. > если не ошибаюсь в цепочке mangle\OUTPUT Самое главное, что "ДО". ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-05 12:20 ` Olvin @ 2008-08-05 13:40 ` Alexander Vasiliev 2008-08-05 14:47 ` Olvin 2008-08-06 7:44 ` Pavel 1 sibling, 1 reply; 21+ messages in thread From: Alexander Vasiliev @ 2008-08-05 13:40 UTC (permalink / raw) To: ALT Linux sysadmin discuss >>>>> А где у нас цель ROUTE в iptables? Очень нужно, а нету. Как быть? >>>>> Нужно, чтобы интернет-трафик одного пользователя (по UID) направлялся >>>>> по >>>>> одному ppp-интерфейсу, а другого пользователя - по другому >>>>> ppp-интерфейсу. Адреса ppp-соединений - динамические, провайдер один. >>>>> Пользователи работают одновременно за одним компьютером. Заморачиваться >>>>> с маршрутизатором в OpenVZ-контейнере и, тем более, с отдельной >>>>> железкой >>>>> для этих целей нет никакого желания. >>>> >>>> а если метить пакеты и направлять их на определенный интерфейс с помощью >>>> iproute2? >>> >>> Я эту проблему уже поднимал здесь. Фокус в том, что решение о >>> маршрутизации для пакетов от локальных процессов принимается ДО nat или >>> mangle. >> >> если не ошибаюсь в цепочке mangle\OUTPUT > > Самое главное, что "ДО". Предположим, что у вас появилась цель ROUTE. По каким параметрам iptables будет разделять трафик? По-моему, наличие ROUTE не поможет. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-05 13:40 ` Alexander Vasiliev @ 2008-08-05 14:47 ` Olvin 0 siblings, 0 replies; 21+ messages in thread From: Olvin @ 2008-08-05 14:47 UTC (permalink / raw) To: ALT Linux sysadmin discuss Alexander Vasiliev wrote: >>>>>> А где у нас цель ROUTE в iptables? Очень нужно, а нету. Как быть? >>>>>> Нужно, чтобы интернет-трафик одного пользователя (по UID) направлялся >>>>>> по одному ppp-интерфейсу, а другого пользователя - по другому >>>>>> ppp-интерфейсу. Адреса ppp-соединений - динамические, провайдер один. >>>>>> Пользователи работают одновременно за одним компьютером. Заморачиваться >>>>>> с маршрутизатором в OpenVZ-контейнере и, тем более, с отдельной >>>>>> железкой >>>>>> для этих целей нет никакого желания. >>>>> а если метить пакеты и направлять их на определенный интерфейс с помощью >>>>> iproute2? >>>> Я эту проблему уже поднимал здесь. Фокус в том, что решение о >>>> маршрутизации для пакетов от локальных процессов принимается ДО nat или >>>> mangle. >>> если не ошибаюсь в цепочке mangle\OUTPUT >> Самое главное, что "ДО". > Предположим, что у вас появилась цель ROUTE. По каким параметрам > iptables будет разделять трафик? > По-моему, наличие ROUTE не поможет. По -m owner --uid nnn. Потом будет MASQUERADE в POSTROUTING. Это исходящий. Входящий будет разруливаться автоматом. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-05 12:20 ` Olvin 2008-08-05 13:40 ` Alexander Vasiliev @ 2008-08-06 7:44 ` Pavel 2008-08-07 16:08 ` Olvin 1 sibling, 1 reply; 21+ messages in thread From: Pavel @ 2008-08-06 7:44 UTC (permalink / raw) To: sysadmins >> если не ошибаюсь в цепочке mangle\OUTPUT > Самое главное, что "ДО". да, но разве окончательное решение о маршрутизации принимается не перед mangle POSTROUTING? цитата с http://iptables-tutorial.frozentux.net/ iptables-tutorial.html#TRAVERSINGOFTABLES > Table 6-2. Source local host (our own machine) > ... > 7. Routing decision, since the previous mangle and nat changes > may have changed how the packet should be routed. -- Best regards, Pavel email/xmpp: p2n-at-ya-dot-ru ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-06 7:44 ` Pavel @ 2008-08-07 16:08 ` Olvin 2008-08-08 7:30 ` Pavel 0 siblings, 1 reply; 21+ messages in thread From: Olvin @ 2008-08-07 16:08 UTC (permalink / raw) To: ALT Linux sysadmin discuss Pavel пишет: >>> если не ошибаюсь в цепочке mangle\OUTPUT >> Самое главное, что "ДО". > да, но разве окончательное решение о маршрутизации принимается не перед > mangle POSTROUTING? > > цитата с http://iptables-tutorial.frozentux.net/ > iptables-tutorial.html#TRAVERSINGOFTABLES >> Table 6-2. Source local host (our own machine) >> ... >> 7. Routing decision, since the previous mangle and nat changes >> may have changed how the packet should be routed. Хм... Может, я чего не так делаю, но: # su - user1 $ ping ya.ru connect: Network is unreachable При том, что: # iptables -nv -L OUTPUT -t mangle Chain OUTPUT (policy ACCEPT 18M packets, 3038M bytes) pkts bytes target prot opt in out source destination 17154 1425K MARK 0 -- * * 0.0.0.0/0 0.0.0.0/0 MARK set 0x0 453 23555 MARK 0 -- * * 0.0.0.0/0 0.0.0.0/0 OWNER UID match 500 MARK set 0x1 0 0 MARK 0 -- * * 0.0.0.0/0 0.0.0.0/0 OWNER UID match 501 MARK set 0x2 (все остальные цепочки и таблицы пусты и по умолчанию ACCEPT) # id user1 uid=500(user1) gid=500(user1) groups=500(user1) # id user2 uid=501(user2) gid=501(user2) groups=501(user2) # ip rule 0: from all lookup local 11: from all to 10.0.0.0/8 lookup main 12: from all to 172.16.0.0/12 lookup main 13: from all to 192.168.0.0/16 lookup main 101: from all fwmark 0x1 lookup 101 102: from all fwmark 0x2 lookup 102 32766: from all lookup main 32767: from all lookup default # ip route show table 101 default dev ppp0 scope link # ip route show table 102 default dev ppp10 scope link # ip route show table main 91.149.162.1 dev ppp0 proto kernel scope link src 91.149.162.33 91.149.162.1 dev ppp10 proto kernel scope link src 91.149.156.103 10.12.7.0/24 dev homelan proto kernel scope link src 10.12.7.254 169.254.0.0/16 dev homelan scope link 192.168.0.0/16 via 10.12.7.1 dev homelan 172.16.0.0/12 via 10.12.7.1 dev homelan 10.0.0.0/8 via 10.12.7.1 dev homelan 224.0.0.0/4 dev homelan scope link # ip a 2: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo 6: homelan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:1c:f0:c7:c1:e8 brd ff:ff:ff:ff:ff:ff inet 10.12.7.254/24 brd 10.12.7.255 scope global homelan 13: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast qlen 3 link/ppp inet 91.149.162.33 peer 91.149.162.1/32 scope global ppp0 15: ppp10: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast qlen 3 link/ppp inet 91.149.156.103 peer 91.149.162.1/32 scope global ppp10 Но как только делаю "ip route add default dev ppp0 table main", так сразу и пинговаться начинает. Но цель-то при этом не достигнута... Буду очень рад, если укажете мне, где я ошибся. На всякий случай: user1 должен ходить в интернет только через ppp0, user2 - только через ppp10, оба должны иметь доступ к локальной сети через homelan. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-07 16:08 ` Olvin @ 2008-08-08 7:30 ` Pavel 2008-08-08 21:15 ` Olvin 0 siblings, 1 reply; 21+ messages in thread From: Pavel @ 2008-08-08 7:30 UTC (permalink / raw) To: sysadmins > $ ping ya.ru > connect: Network is unreachable Имя, как я понял, разрешить не удается? Изменяются ли при выполнении ping'а счетчики в выводе: iptables -t mangle -L OUTPUT -nv > # ip route show table main > 169.254.0.0/16 dev homelan scope link > 192.168.0.0/16 via 10.12.7.1 dev homelan > 172.16.0.0/12 via 10.12.7.1 dev homelan > 10.0.0.0/8 via 10.12.7.1 dev homelan > 224.0.0.0/4 dev homelan scope link Сперва пропиши маршруты в homelan (и, возможно, еще к своему DNS-серверу, если он у тебя не в ней) в таблицах 101 и 102. Если не ошибаюсь, нужно добавить еще правило: iptables -t nat -A POSTROUTING -m mark --mark 0/0 -j MASQUERADE (выполняет маскарадинг _всех_ меченных пакетов). Во всяком случае у меня только с маскарадингом и заработало. -- Best regards, Pavel email/xmpp: p2n-at-ya-dot-ru ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-08 7:30 ` Pavel @ 2008-08-08 21:15 ` Olvin 2008-08-08 21:28 ` Yuri Bushmelev 2008-08-10 12:39 ` Pavel 0 siblings, 2 replies; 21+ messages in thread From: Olvin @ 2008-08-08 21:15 UTC (permalink / raw) To: ALT Linux sysadmin discuss Pavel пишет: >> $ ping ya.ru >> connect: Network is unreachable > Имя, как я понял, разрешить не удается? В том то и дело, что удаётся. Иначе не было бы сообщения "Network unreachable". > Изменяются ли при выполнении ping'а счетчики в выводе: > iptables -t mangle -L OUTPUT -nv для ping'а - нет, остаются прежними. А вот если что-то качнуть по ftp/http - увеличиваются. Пробовал добавить iptables -t mangle -A OUTPUT -p icmp -j MARK --set-mark 0 Для этого правила счётчик увеличивается, но если в это же правило добавить "-m owner --uid-owner user1", то для этого правила счётчик остаётся нулевым. Только если вместо user1 написать root, то счётчик начинает считать, при чём без разницы, от какого пользователя запущен ping... Кто-нибудь может пояснить мне этот момент? Ведь я-то вижу, что uid=euid=user1 для процесса ping... >> # ip route show table main >> 169.254.0.0/16 dev homelan scope link >> 192.168.0.0/16 via 10.12.7.1 dev homelan >> 172.16.0.0/12 via 10.12.7.1 dev homelan >> 10.0.0.0/8 via 10.12.7.1 dev homelan >> 224.0.0.0/4 dev homelan scope link > Сперва пропиши маршруты в homelan (и, возможно, еще к своему > DNS-серверу, если он у тебя не в ней) в таблицах 101 и 102. Зачем? Всё, что идёт на intranet адреса - идёт по таблице main независимо от пользователя. Это видно из приведённых правил. > Если не ошибаюсь, нужно добавить еще правило: > iptables -t nat -A POSTROUTING -m mark --mark 0/0 -j MASQUERADE > (выполняет маскарадинг _всех_ меченных пакетов). Во всяком случае у меня > только с маскарадингом и заработало. Возможно. Хотя при изменении выходного интерфейса адрес должен подставляться автоматом во время принятия второго решения о маршрутизации. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-08 21:15 ` Olvin @ 2008-08-08 21:28 ` Yuri Bushmelev 2008-08-08 22:00 ` Olvin 2008-08-10 12:39 ` Pavel 1 sibling, 1 reply; 21+ messages in thread From: Yuri Bushmelev @ 2008-08-08 21:28 UTC (permalink / raw) To: ALT Linux sysadmin discuss В сообщении от Суббота 09 августа 2008 Olvin написал(a): > для ping'а - нет, остаются прежними. А вот если что-то качнуть по > ftp/http - увеличиваются. Пробовал добавить iptables -t mangle -A OUTPUT > -p icmp -j MARK --set-mark 0 > Для этого правила счётчик увеличивается, но если в это же правило > добавить "-m owner --uid-owner user1", то для этого правила счётчик > остаётся нулевым. Только если вместо user1 написать root, то счётчик > начинает считать, при чём без разницы, от какого пользователя запущен > ping... > > Кто-нибудь может пояснить мне этот момент? Ведь я-то вижу, что > uid=euid=user1 для процесса ping... $ ls -la `which ping` -rws--x--x 1 root root 30532 Май 9 00:36 /bin/ping Он суидный :) -- С уважением, Бушмелев Юрий ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-08 21:28 ` Yuri Bushmelev @ 2008-08-08 22:00 ` Olvin 2008-08-10 12:18 ` Pavel 0 siblings, 1 reply; 21+ messages in thread From: Olvin @ 2008-08-08 22:00 UTC (permalink / raw) To: ALT Linux sysadmin discuss Yuri Bushmelev пишет: > В сообщении от Суббота 09 августа 2008 Olvin написал(a): >> для ping'а - нет, остаются прежними. А вот если что-то качнуть по >> ftp/http - увеличиваются. Пробовал добавить iptables -t mangle -A OUTPUT >> -p icmp -j MARK --set-mark 0 >> Для этого правила счётчик увеличивается, но если в это же правило >> добавить "-m owner --uid-owner user1", то для этого правила счётчик >> остаётся нулевым. Только если вместо user1 написать root, то счётчик >> начинает считать, при чём без разницы, от какого пользователя запущен >> ping... >> Кто-нибудь может пояснить мне этот момент? Ведь я-то вижу, что >> uid=euid=user1 для процесса ping... > $ ls -la `which ping` > -rws--x--x 1 root root 30532 Май 9 00:36 /bin/ping > Он суидный :) В курсе :) Только вот по каманде "ps axo euid,uid,pid,ppid,comm|grep ping" я вижу, что euid == uid и uid != root. Вот и прошу пояснить. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-08 22:00 ` Olvin @ 2008-08-10 12:18 ` Pavel 2008-08-10 14:36 ` Olvin 0 siblings, 1 reply; 21+ messages in thread From: Pavel @ 2008-08-10 12:18 UTC (permalink / raw) To: sysadmins >>> Кто-нибудь может пояснить мне этот момент? Ведь я-то вижу, что >>> uid=euid=user1 для процесса ping... >> $ ls -la `which ping` >> -rws--x--x 1 root root 30532 Май 9 00:36 /bin/ping >> Он суидный :) > > В курсе :) > > Только вот по каманде "ps axo euid,uid,pid,ppid,comm|grep ping" я вижу, > что euid == uid и uid != root. Вот и прошу пояснить. Как я понимаю, правильно написанная suid'ная программа основную часть времени должна выполняться с правами обычного пользователя, переключаясь в привилегированный режим только при необходимости. ping одна из таких - raw-сокет для отправки ICMP-пакета echo request может создать только root (кратковременная процедура), а принять echo reply (долговременная процедура - ее и видно в выводе ps) можно и с пониженными привилегиями. -- Best regards, Pavel email/xmpp: p2n-at-ya-dot-ru ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-10 12:18 ` Pavel @ 2008-08-10 14:36 ` Olvin 2008-08-11 4:20 ` Pavel 0 siblings, 1 reply; 21+ messages in thread From: Olvin @ 2008-08-10 14:36 UTC (permalink / raw) To: ALT Linux sysadmin discuss Pavel пишет: >>>> Кто-нибудь может пояснить мне этот момент? Ведь я-то вижу, что >>>> uid=euid=user1 для процесса ping... >>> $ ls -la `which ping` >>> -rws--x--x 1 root root 30532 Май 9 00:36 /bin/ping >>> Он суидный :) >> В курсе :) >> Только вот по каманде "ps axo euid,uid,pid,ppid,comm|grep ping" я >> вижу, что euid == uid и uid != root. Вот и прошу пояснить. > Как я понимаю, правильно написанная suid'ная программа основную часть > времени должна выполняться с правами обычного пользователя, переключаясь > в привилегированный режим только при необходимости. > > ping одна из таких - raw-сокет для отправки ICMP-пакета echo request > может создать только root (кратковременная процедура), а принять echo > reply (долговременная процедура - ее и видно в выводе ps) можно и с > пониженными привилегиями. Т.е. пакеты она должна посылать уже из-под обычного пользователя, так? Тогда почему netfilter считает иначе? Вот это и есть то, чего я не смог понять... ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-10 14:36 ` Olvin @ 2008-08-11 4:20 ` Pavel 0 siblings, 0 replies; 21+ messages in thread From: Pavel @ 2008-08-11 4:20 UTC (permalink / raw) To: sysadmins >> ping одна из таких - raw-сокет для отправки ICMP-пакета echo request >> может создать только root (кратковременная процедура), а принять echo >> reply (долговременная процедура - ее и видно в выводе ps) можно и с >> пониженными привилегиями. > Т.е. пакеты она должна посылать уже из-под обычного пользователя, так? Насколько я понял, и создание и отправка ICMP может происходить только от root'а. А если посмотреть так: > # iptables -t mangle -A OUTPUT -p icmp -m owner --uid-owner user -j MARK --set-mark 0xA > # iptables -t mangle -A OUTPUT -p icmp -m owner --uid-owner root -j MARK --set-mark 0xB > > # iptables -t mangle -L OUTPUT -vn >> Chain OUTPUT (policy ACCEPT 149K packets, 53M bytes) >> pkts bytes target prot >> 0 0 MARK icmp OWNER UID match 500 MARK set 0xa >> 0 0 MARK icmp OWNER UID match 0 MARK set 0xb > > $ ping -c 3 ya.ru > > # iptables -t mangle -L OUTPUT -vn >> Chain OUTPUT (policy ACCEPT 149K packets, 53M bytes) >> pkts bytes target prot >> 0 0 MARK icmp OWNER UID match 500 MARK set 0xa >> 3 252 MARK icmp OWNER UID match 0 MARK set 0xb Это не может дать однозначного ответа? -- Best regards, Pavel email/xmpp: p2n-at-ya-dot-ru ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-08 21:15 ` Olvin 2008-08-08 21:28 ` Yuri Bushmelev @ 2008-08-10 12:39 ` Pavel 2008-08-10 14:40 ` Olvin 1 sibling, 1 reply; 21+ messages in thread From: Pavel @ 2008-08-10 12:39 UTC (permalink / raw) To: sysadmins >>> $ ping ya.ru >>> connect: Network is unreachable >> Имя, как я понял, разрешить не удается? > В том то и дело, что удаётся. Иначе не было бы сообщения "Network > unreachable". А где у тебя DNS? В homelan? Имхо, это сообщение из-за невозможности найти маршрут к нему. На данный момент у тебя _все_ (в т.ч. DNS-запросы) от пользователя user1 уходят _только_ через ppp0: # ip route show table 101 default dev ppp0 scope link >> Сперва пропиши маршруты в homelan (и, возможно, еще к своему >> DNS-серверу, если он у тебя не в ней) в таблицах 101 и 102. > Зачем? Всё, что идёт на intranet адреса - идёт по таблице main > независимо от пользователя. Это видно из приведённых правил. До таблицы main меченные пакеты не доходят - у нее номер 32766, а у твоего правила "from all fwmark 0x1 lookup 101" номер 101 (PRDB просматривается до первого подходящего правила, в порядке увеличения номера). -- Best regards, Pavel email/xmpp: p2n-at-ya-dot-ru ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-10 12:39 ` Pavel @ 2008-08-10 14:40 ` Olvin 2008-08-11 6:33 ` Pavel 0 siblings, 1 reply; 21+ messages in thread From: Olvin @ 2008-08-10 14:40 UTC (permalink / raw) To: ALT Linux sysadmin discuss Pavel пишет: >>>> $ ping ya.ru >>>> connect: Network is unreachable >>> Имя, как я понял, разрешить не удается? >> В том то и дело, что удаётся. Иначе не было бы сообщения "Network >> unreachable". > А где у тебя DNS? В homelan? Имхо, это сообщение из-за невозможности > найти маршрут к нему. > На данный момент у тебя _все_ (в т.ч. DNS-запросы) > от пользователя user1 уходят _только_ через ppp0: > # ip route show table 101 > default dev ppp0 scope link Если бы не был доступен по какой-либо причине DNS, оно бы просто написало "unknown host" >>> Сперва пропиши маршруты в homelan (и, возможно, еще к своему >>> DNS-серверу, если он у тебя не в ней) в таблицах 101 и 102. >> Зачем? Всё, что идёт на intranet адреса - идёт по таблице main >> независимо от пользователя. Это видно из приведённых правил. > До таблицы main меченные пакеты не доходят - у нее номер 32766, а у > твоего правила "from all fwmark 0x1 lookup 101" номер 101 (PRDB > просматривается до первого подходящего правила, в порядке увеличения > номера). Вы невнимательны. Правило №11,12 и 13 отрабатывают ДО 101 и 102. Они и отвечают за поиск по таблице main. DNS находится в локальной сети. # ip rule 0: from all lookup local 11: from all to 10.0.0.0/8 lookup main 12: from all to 172.16.0.0/12 lookup main 13: from all to 192.168.0.0/16 lookup main 101: from all fwmark 0x1 lookup 101 102: from all fwmark 0x2 lookup 102 32766: from all lookup main 32767: from all lookup default ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-10 14:40 ` Olvin @ 2008-08-11 6:33 ` Pavel 0 siblings, 0 replies; 21+ messages in thread From: Pavel @ 2008-08-11 6:33 UTC (permalink / raw) To: sysadmins > Если бы не был доступен по какой-либо причине DNS, оно бы просто > написало "unknown host" Да, насчет DNS я был неправ. А для root'а есть шлюз по умолчанию? > Вы невнимательны. Правило №11,12 и 13 отрабатывают ДО 101 и 102. Они и > отвечают за поиск по таблице main. DNS находится в локальной сети. > > # ip rule > 0: from all lookup local > 11: from all to 10.0.0.0/8 lookup main > 12: from all to 172.16.0.0/12 lookup main > 13: from all to 192.168.0.0/16 lookup main > 101: from all fwmark 0x1 lookup 101 > 102: from all fwmark 0x2 lookup 102 > 32766: from all lookup main > 32767: from all lookup default Да, и тут правда ваша, проглядел я... Быть может тогда не работает из-за невозможности или неверного выбора IP адреса источника? Ведь в момент его определения пакеты еще не помечены iptables'ом... Что если от user1, явно указав адрес отправителя, выполнить traceroute -s <ppp0 ip> -n ya.ru ? -- Best regards, Pavel email/xmpp: p2n-at-ya-dot-ru ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-05 10:11 [Sysadmins] iptables и цель ROUTE Olvin 2008-08-05 10:36 ` Serge @ 2008-08-05 12:16 ` Alexander Vasiliev 2008-08-05 13:31 ` Olvin 1 sibling, 1 reply; 21+ messages in thread From: Alexander Vasiliev @ 2008-08-05 12:16 UTC (permalink / raw) To: ALT Linux sysadmin discuss > Нужно, чтобы интернет-трафик одного пользователя (по UID) направлялся по > одному ppp-интерфейсу, а другого пользователя - по другому ppp-интерфейсу. > Адреса ppp-соединений - динамические, провайдер один. Пользователи работают > одновременно за одним компьютером. Посмотрите http://www.opennet.ru/base/net/iproute2.txt.html на тему дополнительных таблиц маршрутизации в /etc/iproute2/rt_tables и использования правил ip rule add ... ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Sysadmins] iptables и цель ROUTE 2008-08-05 12:16 ` Alexander Vasiliev @ 2008-08-05 13:31 ` Olvin 0 siblings, 0 replies; 21+ messages in thread From: Olvin @ 2008-08-05 13:31 UTC (permalink / raw) To: ALT Linux sysadmin discuss Alexander Vasiliev wrote: >> Нужно, чтобы интернет-трафик одного пользователя (по UID) направлялся по >> одному ppp-интерфейсу, а другого пользователя - по другому ppp-интерфейсу. >> Адреса ppp-соединений - динамические, провайдер один. Пользователи работают >> одновременно за одним компьютером. > Посмотрите http://www.opennet.ru/base/net/iproute2.txt.html на тему > дополнительных таблиц маршрутизации > в /etc/iproute2/rt_tables и использования правил ip rule add ... Спасибо, но я умею пользоваться командой ip. Проблема в том, что rule не предусматривают в качестве критерия UID процесса, пославшего пакет, а iptables отработает уже после принятия решения о маршрутизации. Здесь бы и помогла цель ROUTE. ^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2008-08-11 6:33 UTC | newest] Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2008-08-05 10:11 [Sysadmins] iptables и цель ROUTE Olvin 2008-08-05 10:36 ` Serge 2008-08-05 11:08 ` Olvin 2008-08-05 12:04 ` Serge 2008-08-05 12:20 ` Olvin 2008-08-05 13:40 ` Alexander Vasiliev 2008-08-05 14:47 ` Olvin 2008-08-06 7:44 ` Pavel 2008-08-07 16:08 ` Olvin 2008-08-08 7:30 ` Pavel 2008-08-08 21:15 ` Olvin 2008-08-08 21:28 ` Yuri Bushmelev 2008-08-08 22:00 ` Olvin 2008-08-10 12:18 ` Pavel 2008-08-10 14:36 ` Olvin 2008-08-11 4:20 ` Pavel 2008-08-10 12:39 ` Pavel 2008-08-10 14:40 ` Olvin 2008-08-11 6:33 ` Pavel 2008-08-05 12:16 ` Alexander Vasiliev 2008-08-05 13:31 ` 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