Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Роутинг по хостам  (Прочитано 6434 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13763
    • Просмотр профиля
Re: Роутинг по хостам
« Ответ #75 : 26 Марта 2015, 14:11:43 »
Потому что -h - краткая справка
Надо так смотреть
~$ man iptables | grep uid-
Сорри... по памяти писал
Цитировать
... --uid-owner ...
« Последнее редактирование: 26 Марта 2015, 14:13:33 от fisher74 »

Оффлайн Vady

  • Автор темы
  • Любитель
  • *
  • Сообщений: 57
    • Просмотр профиля
Re: Роутинг по хостам
« Ответ #76 : 26 Марта 2015, 14:34:54 »
И так не работает. Прописал так:
iptables -t nat -A OUTPUT -o p7p1 -p tcp --dport 80 -m owner ! --uid-owner 13 -j REDIRECT --to-ports 3128Итог: ни в интернет, ни в корпоративную сеть с клиента 10.0.0.2 не попадаю (до кальмара не дошло), а с клиента 192.168.1.2 попадаю в интернет через кальмар, а в корпоративную подсеть - "привет" от кальмара с 403 (что и требовалось).

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13763
    • Просмотр профиля
Re: Роутинг по хостам
« Ответ #77 : 26 Марта 2015, 14:52:04 »
Значит с redirect-ом из последней цепочки последней таблицы засада... Я подозревал, что пакет не вернётся обратно...

Значит redirect с локальных процессов не получится. Только запретить, принуждая не трогать глобальную настройку прокси.

Оффлайн Vady

  • Автор темы
  • Любитель
  • *
  • Сообщений: 57
    • Просмотр профиля
Re: Роутинг по хостам
« Ответ #78 : 27 Марта 2015, 10:11:23 »
root@TERMINALSERVER:/home/vady# iptables -nvL -t nat
Chain PREROUTING (policy ACCEPT 959 packets, 96207 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DNAT       tcp  --  eth0   *       192.168.1.1          0.0.0.0/0            multiport dports 80,8080 to:127.0.0.1:3128
    0     0 DNAT       tcp  --  eth0   *       192.168.1.0/24       0.0.0.0/0            multiport dports 80,8080 to:192.168.1.1:3128
    1    52 DNAT       tcp  --  p7p1   *       10.0.0.0/24          10.0.0.0/8           multiport dports 80,8080 to:10.0.0.1:3128
    0     0 DNAT       tcp  --  p7p1   *       10.0.0.0/24          172.1.0.0/16         multiport dports 80,8080 to:10.0.0.1:3128
    0     0 DNAT       tcp  --  p7p1   *       10.0.0.0/24          192.224.0.0/16       multiport dports 80,8080 to:10.0.0.1:3128
    1    52 DNAT       tcp  --  p7p1   *       10.0.0.0/24          0.0.0.0/0            multiport dports 80,8080 to:192.168.1.1:3128
    0     0 REDIRECT   tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 redir ports 3128

Chain INPUT (policy ACCEPT 240 packets, 29143 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 282 packets, 17751 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 259 packets, 16535 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  175 11450 MASQUERADE  all  --  *      eth0    192.168.1.0/24        0.0.0.0/0     
Логика такова:
1) всё, что поступает с локального прокси (192.168.1.1), отправить на 127.0.0.1:3128 (без intercept)
2) всё, что поступает с eth0 (192.168.1.0/24), отправить на 192.168.1.1:3128 (с intercept)
3), 4), 5) всё, что поступает с p7p1 (10.0.0.0/24) с адресами назначения, расположенными за корпоративным шлюзом (10.*, 172.*, 192.*), отправить на 10.0.0.1:3128 (с intercept)
6) остальное, что поступает с p7p1, отправить на 192.168.1.1:3128 (с intercept) - ведь именно интерфейс eth0 имеет подключение к интернет-шлюзу.
Результат: первые 5 пунктов успешно выполняются, а 6-й даже ответа на тестовый запрос yandex.ru не получил.
Как логгировать, чтобы определить, на чем именно застрял?

iptables -t nat -A OUTPUT -o p7p1 -p tcp --dport 80 -m owner ! --uid-owner 13 -j REDIRECT --to-ports 3128Смысл в этом какой?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13763
    • Просмотр профиля
Re: Роутинг по хостам
« Ответ #79 : 27 Марта 2015, 11:09:11 »
iptables -t nat -A OUTPUT -o p7p1 -p tcp --dport 80 -m owner ! --uid-owner 13 -j REDIRECT --to-ports 3128Смысл в этом какой?
Предполагалось, что http-зпапросы от локальных процессов (браузеры и т.п.) редиректятся на локальный прокси. Понятно, что http-запросы самого прокси исключаются. Но так как цепочка OUTPUT фактически последняя в конвеере netfilter, то оно не срабатывает. Значит полезным действием для этого правила остаётся только DROP.

 

Страница сгенерирована за 0.018 секунд. Запросов: 22.