[Sysadmins] iptables и цель ROUTE

Olvin =?iso-8859-1?q?olvin_=CE=C1_rambler=2Eru?=
Сб Авг 9 01:15:19 MSD 2008


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
> (выполняет маскарадинг _всех_ меченных пакетов). Во всяком случае у меня 
> только с маскарадингом и заработало.

Возможно. Хотя при изменении выходного интерфейса адрес должен 
подставляться автоматом во время принятия второго решения о маршрутизации.



Подробная информация о списке рассылки Sysadmins