[Sysadmins] iptables и цель ROUTE
Olvin
=?iso-8859-1?q?olvin_=CE=C1_rambler=2Eru?=
Чт Авг 7 20:08:03 MSD 2008
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