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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: вопрос по связке iptables и squid  (Прочитано 696 раз)

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

Оффлайн TOTOIIIUr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
  • добрый чел
    • Просмотр профиля
вопрос по связке iptables и squid
« : 17 Декабря 2012, 11:27:36 »
Здравствуйте. Помогите разобраться.
Разбираюсь с настройками фаервола iptables. Есть сервер в локальной сети (подключен через eth0), который раздаёт инэт (поступает по ppp0) через squid. Проброса пакетов нет. Собственно всё. Вот мои правила:
        modprobe nf_conntrack_ftp

        # Политики по умолчанию.
        iptables -P INPUT DROP
        iptables -P FORWARD DROP
        iptables -P OUTPUT DROP

        iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
        iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

        # SSH eth0
        iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT

        # SAMBA eth0
        iptables -A INPUT -p tcp -i eth0 --dport 137:139 -j ACCEPT
        iptables -A INPUT -p udp -i eth0 --dport 137:139 -j ACCEPT

        # SQUID eth0
        iptables -A INPUT -p tcp -i eth0 --dport 3128 -j ACCEPT
        iptables -A OUTPUT -p tcp -o eth0 --sport 3128 -j ACCEPT

        # HTTP, FTP, HTTPS
        iptables -A OUTPUT -p tcp -o ppp0 --dport 80 -j ACCEPT
        iptables -A OUTPUT -p tcp -o ppp0 --dport 443 -j ACCEPT
        iptables -A OUTPUT -p tcp -o ppp0 --dport 20 -j ACCEPT
        iptables -A OUTPUT -p tcp -o ppp0 --dport 21 -j ACCEPT
Но эти правила работают не так, как надо. Если их загружать при старте системы, то пакеты через squid не идут. Вот вывод команды

iptables -nvL
Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    7   508 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
    0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpts:137:139
    0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            udp dpts:137:139
    0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:3128
Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination       
Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    4   608 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 ACCEPT     tcp  --  *      eth0    0.0.0.0/0            0.0.0.0/0            tcp spt:3128
    0     0 ACCEPT     tcp  --  *      ppp0    0.0.0.0/0            0.0.0.0/0            tcp dpt:80
    0     0 ACCEPT     tcp  --  *      ppp0    0.0.0.0/0            0.0.0.0/0            tcp dpt:443
    0     0 ACCEPT     tcp  --  *      ppp0    0.0.0.0/0            0.0.0.0/0            tcp dpt:20
    0     0 ACCEPT     tcp  --  *      ppp0    0.0.0.0/0            0.0.0.0/0            tcp dpt:21

Здесь при попытках выйти в инэт с локальных машин увеличивается счётчик пакетов по первому правилу, которое RELATED,ESTABLISHED.

При этом если я удалю все правила и выйду в инет с любого компа из сети, а потом снова загружу правила, не перегружая комп, то инэт работает:

iptables -nvL
Chain INPUT (policy DROP 11 packets, 838 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  824  323K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
    0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpts:137:139
    0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            udp dpts:137:139
   12   720 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:3128
Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  912  584K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 ACCEPT     tcp  --  *      eth0    0.0.0.0/0            0.0.0.0/0            tcp spt:3128
   37  2220 ACCEPT     tcp  --  *      ppp0    0.0.0.0/0            0.0.0.0/0            tcp dpt:80
    1    60 ACCEPT     tcp  --  *      ppp0    0.0.0.0/0            0.0.0.0/0            tcp dpt:443
    0     0 ACCEPT     tcp  --  *      ppp0    0.0.0.0/0            0.0.0.0/0            tcp dpt:20
    0     0 ACCEPT     tcp  --  *      ppp0    0.0.0.0/0            0.0.0.0/0            tcp dpt:21

С чем это может быть связано?

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: вопрос по связке iptables и squid
« Ответ #1 : 17 Декабря 2012, 11:54:24 »
Что насчёт DHCP/DNS?

Ещё обычно принято показывать:
sudo iptables-save

Оффлайн TOTOIIIUr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
  • добрый чел
    • Просмотр профиля
Re: вопрос по связке iptables и squid
« Ответ #2 : 17 Декабря 2012, 11:59:23 »
dns я так понимаю получает соединение ppp0, когда подключается (там usb модем и wvdial). Я что-то не вдавался.
iptables-save, сейчас, секундочку )

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: вопрос по связке iptables и squid
« Ответ #3 : 17 Декабря 2012, 12:03:04 »
Я что-то не вдавался.
Стоит вопрос проработать.
Посмотрите, какие DNS на рабочих станциях, есть ли к ним доступ, есть ли у DNS-серверов доступ к инету.
У вас все политики DROP, а правил на DHCP, DNS, NTP не видать.

Оффлайн TOTOIIIUr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
  • добрый чел
    • Просмотр профиля
Re: вопрос по связке iptables и squid
« Ответ #4 : 17 Декабря 2012, 12:10:35 »
Вот после перезагрузки и подключения всех правил (инэта в локальной сети нет):
*nat
:PREROUTING ACCEPT [18:1836]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [543:24936]
COMMIT

*mangle
:PREROUTING ACCEPT [169:19828]
:INPUT ACCEPT [169:19828]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [656:50812]
:POSTROUTING ACCEPT [101:25252]
COMMIT

*filter
:INPUT DROP [6:1036]
:FORWARD DROP [0:0]
:OUTPUT DROP [555:25560]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 137:139 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 137:139 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 3128 -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --sport 3128 -j ACCEPT
-A OUTPUT -o ppp0 -p tcp -m tcp --dport 80 -j ACCEPT
-A OUTPUT -o ppp0 -p tcp -m tcp --dport 443 -j ACCEPT
-A OUTPUT -o ppp0 -p tcp -m tcp --dport 20 -j ACCEPT
-A OUTPUT -o ppp0 -p tcp -m tcp --dport 21 -j ACCEPT
COMMIT

После этого я остановил фаервол, вышел в инэт и снова запустил фаервол. Теперь инэт есть в локальной сети.
*nat
:PREROUTING ACCEPT [1146:68844]
:POSTROUTING ACCEPT [2866:171960]
:OUTPUT ACCEPT [2887:174625]
COMMIT

*mangle
:PREROUTING ACCEPT [88299:43601383]
:INPUT ACCEPT [88299:43601383]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [105942:65956603]
:POSTROUTING ACCEPT [105921:65953938]
COMMIT

*filter
:INPUT DROP [494:51919]
:FORWARD DROP [0:0]
:OUTPUT DROP [21:2665]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 137:139 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 137:139 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 3128 -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --sport 3128 -j ACCEPT
-A OUTPUT -o ppp0 -p tcp -m tcp --dport 80 -j ACCEPT
-A OUTPUT -o ppp0 -p tcp -m tcp --dport 443 -j ACCEPT
-A OUTPUT -o ppp0 -p tcp -m tcp --dport 20 -j ACCEPT
-A OUTPUT -o ppp0 -p tcp -m tcp --dport 21 -j ACCEPT
COMMIT


Пользователь решил продолжить мысль 17 Декабря 2012, 12:21:50:
Посмотрите, какие DNS на рабочих станциях, есть ли к ним доступ, есть ли у DNS-серверов доступ к инету.
У вас все политики DROP, а правил на DHCP, DNS, NTP не видать.
Локальная сеть одноранговая. Каждый прописывает свой айпишник в пределах подсети и работает. А внешние dns я так думал нужны только squid, чтобы перенаправлять пакеты. Но так как он по сути работал без фаервола я не вдавался в то, как он их получает. Не подскажете где копать?
« Последнее редактирование: 17 Декабря 2012, 12:21:50 от TOTOIIIUr »

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: вопрос по связке iptables и squid
« Ответ #5 : 17 Декабря 2012, 13:22:55 »
Не подскажете где копать?
Начать надо с того, что определить...
1) как настроено сетевое подключение на рабочих станциях (статика/динамика, если динамика, то где находится DHCP);
2) где находятся DNS и NTP-сервера.
В зависимости от результатов составлять соответствующие правила iptables.

Оффлайн TOTOIIIUr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
  • добрый чел
    • Просмотр профиля
Re: вопрос по связке iptables и squid
« Ответ #6 : 17 Декабря 2012, 13:30:55 »
На каждой станции настроен только айпишник локальной сети. В браузере указан айпи и порт squid для выхода в inet. ntp и dns не держим.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: вопрос по связке iptables и squid
« Ответ #7 : 17 Декабря 2012, 13:44:57 »
Ладно, а что говорит с рабочей станции:
nslookup ya.ru?

Кстати, этого тоже не наблюдаю:
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
« Последнее редактирование: 17 Декабря 2012, 13:48:04 от arcfi »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: вопрос по связке iptables и squid
« Ответ #8 : 17 Декабря 2012, 15:09:17 »
Ладно, а что говорит с рабочей станции:
nslookup ya.ru
Ничего не скажет, так как судя по всему в задачах стоит работа чисто через кальмара с ручными настройками

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: вопрос по связке iptables и squid
« Ответ #9 : 17 Декабря 2012, 15:22:03 »
работа чисто через кальмара с ручными настройками
Надо хотя бы ему самому разрешить выполнять DNS-запросы:
-A OUTPUT -p tcp -o ppp0 --dport 53 -j ACCEPT
-A OUTPUT -p udp -o ppp0 --dport 53 -j ACCEPT

Оффлайн TOTOIIIUr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
  • добрый чел
    • Просмотр профиля
Re: вопрос по связке iptables и squid
« Ответ #10 : 17 Декабря 2012, 16:33:47 »
Надо хотя бы ему самому разрешить выполнять DNS-запросы:
-A OUTPUT -p tcp -o ppp0 --dport 53 -j ACCEPT
-A OUTPUT -p udp -o ppp0 --dport 53 -j ACCEPT
*хлопает себя по лбу*
Я ведь прописывал это правило, но только для tcp протокола! А потом выкинул, когда выкидывал всё что никак себя не проявляло. Спасибо!!! Спасибо!
Два дня бился головой об стену своей глупости.

 

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