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.
_______________________________________________
Sysadmins mailing list
Sysadmins@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/sysadmins

Ответить