The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Работает только http, !*! Dmitry, 05-Июн-06, 12:34  [смотреть все]
Доброго дня всем!

Установил Freebsd и SQUID по рецепту, приведенному здесь.
http://www.opennet.me/base/net/freebsd_gateway_setup.txt.html

Установка пока не полная, без FTP, SARG и прочей обвязки. Запускаю сквид, на клиенской машине указываю айпишник прокси и порт 8080. Всё работает, сайты грузятся, Squid ведёт логи, но при этом у клиентов нет доступа к почте (pop/smtp) и FTP. Вопрос: как пустить почтовый и ФТП-шный трафик мимо прокси? Только, большая просьба не бить меня ногами и не объявлять RTFM! Я не волшебник, я только учусь, а опытного товарища под рукой нет. Подозреваю, что надобно писать правила ipfw и natd, но это для меня пока что китайская грамота. Так, что если можно, поподробнее, что писать, куда вставлять. Прозрачное проксирование не требуется. Учёт трафика по почте и FTP тоже, вернее он будет через trafd.

Сорри за ламерский вопрос. Но все когда-то учатся.

  • Работает только http, !*! denb, 14:14 , 05-Июн-06 (1)
    >Доброго дня всем!
    >
    >Установил Freebsd и SQUID по рецепту, приведенному здесь.
    >http://www.opennet.me/base/net/freebsd_gateway_setup.txt.html
    >
    >Установка пока не полная, без FTP, SARG и прочей обвязки. Запускаю сквид,
    >на клиенской машине указываю айпишник прокси и порт 8080. Всё работает,
    >сайты грузятся, Squid ведёт логи, но при этом у клиентов нет
    >доступа к почте (pop/smtp) и FTP. Вопрос: как пустить почтовый и
    >ФТП-шный трафик мимо прокси? Только, большая просьба не бить меня ногами
    >и не объявлять RTFM! Я не волшебник, я только учусь, а
    >опытного товарища под рукой нет. Подозреваю, что надобно писать правила ipfw
    >и natd, но это для меня пока что китайская грамота. Так,
    >что если можно, поподробнее, что писать, куда вставлять. Прозрачное проксирование не
    >требуется. Учёт трафика по почте и FTP тоже, вернее он будет
    >через trafd.
    >
    >Сорри за ламерский вопрос. Но все когда-то учатся.
    Прежде чем тебе хоть как то ответить, должен сказать тебе, что здесь недают готовых решений!! в свете этого задам тебе вопрос (и если ты на него ответишь, то тебе не надо будет больше спрашивать про сквид)!!!! Вопрос: Ответь какие задачи решает SQUID ? Пойми правильно, подобных тем тут возникала море!! не обижайся на людей которые тебя будут пинать !!!!( а пинать обязательно будут!!!!!!!!!)

    • Работает только http, !*! Dmitry, 15:05 , 05-Июн-06 (2)
      И не подумаю обижаться:) Но смею заметить, некорректность формулировки не подразумевает незнания сути.

      Я прекрасно знаю, что SQUID - кэширующий http-прокси, с поддержкой ftp. Мне известно, что он не перекрывает почтовый трафик и вообще никак не взаимодействует с почтой. Собственно говоря, он в моей проблеме ничуть не виноват и в этом Вы правы.

      Но проблема, о которой я говорю, возникает на фоне установки сквида. Есть входящий трафик. Из него http составляющую нужно развернуть на squid, а остальное пустить напрямую юзерам, но так, чтобы http юзер не мог получать мимо прокси. Цена вопроса: несколько правил ipfw (заметьте, формально squid к этим правилам никакого отношения не имеет, но при этом именно он "вызывает их к жизни"). Они  - собственно говоря и есть "готовое решение" о котором Вы упомянули. Какие это правила? Я могу обложиься ликбезами и дойти до этого сам за неделю, но начальство требует немедленного решения:( Два дня шарюсь по форумам. Пока результат нулевой. Потому и зашёл сюда.

      • Работает только http, !*! Николай, 15:27 , 05-Июн-06 (3)
        >И не подумаю обижаться:) Но смею заметить, некорректность формулировки не подразумевает незнания
        >сути.
        >
        >Я прекрасно знаю, что SQUID - кэширующий http-прокси, с поддержкой ftp. Мне
        >известно, что он не перекрывает почтовый трафик и вообще никак не
        >взаимодействует с почтой. Собственно говоря, он в моей проблеме ничуть не
        >виноват и в этом Вы правы.
        >
        >Но проблема, о которой я говорю, возникает на фоне установки сквида. Есть
        >входящий трафик. Из него http составляющую нужно развернуть на squid, а
        >остальное пустить напрямую юзерам, но так, чтобы http юзер не мог
        >получать мимо прокси. Цена вопроса: несколько правил ipfw (заметьте, формально squid
        >к этим правилам никакого отношения не имеет, но при этом именно
        >он "вызывает их к жизни"). Они  - собственно говоря и
        >есть "готовое решение" о котором Вы упомянули. Какие это правила? Я
        >могу обложиься ликбезами и дойти до этого сам за неделю, но
        >начальство требует немедленного решения:( Два дня шарюсь по форумам. Пока результат
        >нулевой. Потому и зашёл сюда.

        rl0 - интерфейс смотрящий в инет(не в локалку)
        сквид работает на порту 3128 и открыт только на 192.168.0.0/24

        /etc/rc.conf
        firewall_enable="yes"
        firewall_type="/etc/ipfw.conf"
        natd_enable="yes"
        squid_enable="yes"
        natd_interface="rl0"
        natd_flags="-f /etc/natd.conf"
        gateway_enable="yes"

        /etc/ipfw.conf
        add 00100 fwd 127.0.0.1,3128 tcp from 192.168.0.2 to 0.0.0.0/0 80
        add 00101 divert natd ip from 192.168.0.2 to not 192.168.0.0/24 out xmit rl0
        add 63985 allow all from any to any via rl0
        add 63990 allow all from any to any via rl1

        разбирайся

        • Работает только http, !*! Николай, 15:32 , 05-Июн-06 (4)
          Забыл, в конфиг ядра(/sys/i386/conf/GENERIC например) впиши:

          options         IPFIREWALL
          options         IPFIREWALL_DEFAULT_TO_ACCEPT
          options         IPFIREWALL_FORWARD
          options         IPDIVERT


          и перекомпили....
          #config GENERIC && cd ../compile/GENERIC && make depend && make && make install

        • Работает только http, !*! Dmitry, 16:55 , 05-Июн-06 (6)
          >
          >/etc/rc.conf
          >firewall_enable="yes"
          >firewall_type="/etc/ipfw.conf"
          >natd_enable="yes"
          >squid_enable="yes"
          >natd_interface="rl0"
          >natd_flags="-f /etc/natd.conf"
          >gateway_enable="yes"
          >

          >разбирайся

          Разбираюсь, но пока не очень. Почта всё равно не идёт. Кстати, что у Вас в natd.conf прописано?


          • Работает только http, !*! Николай, 16:59 , 05-Июн-06 (7)
            >>
            >>/etc/rc.conf
            >>firewall_enable="yes"
            >>firewall_type="/etc/ipfw.conf"
            >>natd_enable="yes"
            >>squid_enable="yes"
            >>natd_interface="rl0"
            >>natd_flags="-f /etc/natd.conf"
            >>gateway_enable="yes"
            >>
            >
            >>разбирайся
            >
            >Разбираюсь, но пока не очень. Почта всё равно не идёт. Кстати, что
            >у Вас в natd.conf прописано?
            natd.conf:

            same_ports yes
            use_sockets yes
            unregistered_only yes

            удачной работы вашей сети! :)


            • Работает только http, !*! Dmitry, 17:14 , 05-Июн-06 (8)
              :
              >
              >same_ports yes
              >use_sockets yes
              >unregistered_only yes
              >
              >удачной работы вашей сети! :)


              Взаимно! Совместными усилиями движемся к светлому будущему!
              А сеть работает уж не один год под фрёй с обсчётом трафика на  Trafd. А тут вдруг пронюхало начальство про squid и говорит "не хочу видеть айпишники в отчётах, подавай имена сайтов, куда юзеры ходят, а заодно чтоб трафик экономился" Вот и бодаюсь..."

              • Работает только http, !*! Dmitry, 12:08 , 06-Июн-06 (9)
                Господа, сорри за оффтоп, но давайте всё-таки найдём грабли, тем более что на них "судя по форумам наступает куча народу.
                Итак, ядро скомпилировано, а в rc.conf вписаны значения как указано выше. natd.conf тоже. SQUID выгружен, пока о нём забудем.

                В ipfw.conf для начала пишу два правила
                add 00100 allow all from any to any via rl0
                add 63990 allow all from any to any via rl1

                как я понимаю, эти правила открывают всё для всех на обоих интерфейсах.

                Перезагружаюсь. Почта и FTP не работают. Почта (OE&mail.ru) проходит поиск сервера - подключено и после выдаёт "собщение прервано сервером", FTP (через TotalCommander) вообще не выходит, клиент отваливается с ошибкой.

                Ставлю в rc.conf firewall_type="OPEN" перезагружаюсь, и всё работает.

                Чего за дела? Начинаю сомневаться в собственном рассудке:(

                • Работает только http, !*! Николай, 13:15 , 06-Июн-06 (10)
                  >Господа, сорри за оффтоп, но давайте всё-таки найдём грабли, тем более что
                  >на них "судя по форумам наступает куча народу.
                  >Итак, ядро скомпилировано, а в rc.conf вписаны значения как указано выше. natd.conf
                  >тоже. SQUID выгружен, пока о нём забудем.
                  >
                  >В ipfw.conf для начала пишу два правила
                  >add 00100 allow all from any to any via rl0
                  >add 63990 allow all from any to any via rl1
                  >
                  >как я понимаю, эти правила открывают всё для всех на обоих интерфейсах.
                  Они то открывают... но, как я понимаю ты пробуешь фтп и почту на машинах внутри сетки и тут сразу вопрос, а диверт на нат делается раньше 100-го правила в конфиге ipfw?


                  • Работает только http, !*! Dmitry, 15:13 , 06-Июн-06 (11)

                    >Они то открывают... но, как я понимаю ты пробуешь фтп и почту
                    >на машинах внутри сетки и тут сразу вопрос, а диверт на
                    >нат делается раньше 100-го правила в конфиге ipfw?

                    Вашу мысль понял. Выше сотого адреса говорю:

                    add 00050 divert natd ip from 192.168.2.0/24 to any out via rlo

                    Как я понимаю в переводе с фряшного "пернаправить на айпишник NAT всё, что идёт наружу из сетки 192.168.2.0/24

                    И далее

                    add 00060 divert natd ip from any to 192.168.1.115 in via rl0

                    "перенаправить на айпишник NAT всё, что  идёт для 192.168.1.115 по rl0

                    где
                    rl0 - смотрит в Интернет ip 192.168.1.115 mask 255.255.255.0
                    rl1 - смотрит в сеть  ip 192.168.2.1 mask 255.255.255.0

                    Меж тем ничего не джобает. Кроме того, на строке 00060 фря подвисает при загрузке, приходится делать ctrl+c

                    В чём же я неправ?

                    • Работает только http, !*! pal, 15:46 , 06-Июн-06 (12)
                      >
                      >>Они то открывают... но, как я понимаю ты пробуешь фтп и почту
                      >>на машинах внутри сетки и тут сразу вопрос, а диверт на
                      >>нат делается раньше 100-го правила в конфиге ipfw?
                      >
                      >Вашу мысль понял. Выше сотого адреса говорю:
                      >
                      >add 00050 divert natd ip from 192.168.2.0/24 to any out via rlo
                      >
                      >
                      >Как я понимаю в переводе с фряшного "пернаправить на айпишник NAT всё,
                      >что идёт наружу из сетки 192.168.2.0/24
                      >
                      >И далее
                      >
                      >add 00060 divert natd ip from any to 192.168.1.115 in via rl0
                      >
                      >
                      >"перенаправить на айпишник NAT всё, что  идёт для 192.168.1.115 по rl0
                      >
                      >
                      >где
                      >rl0 - смотрит в Интернет ip 192.168.1.115 mask 255.255.255.0
                      >rl1 - смотрит в сеть  ip 192.168.2.1 mask 255.255.255.0
                      >
                      >Меж тем ничего не джобает. Кроме того, на строке 00060 фря подвисает
                      >при загрузке, приходится делать ctrl+c
                      >
                      >В чём же я неправ?

                      Моя ошибка, забыл еще одну строчку написать в ipfw.conf, идет сразу после всех предыдущих дивертов:

                      add 63600 divert natd ip from not 192.168.0.0/24 to ВАШ_ИНЕТОВСКИЙ_IP in recv rl0

                      • Работает только http, !*! Dmitry, 11:24 , 07-Июн-06 (13)
                        Не, господа руты, пусть я прослыву дремучим ламером и конченым флудером, но эту гидру трхголовую я побежду... или победю.

                        Вот вам задачка. Дано:

                        #rc.conf
                        defaultrouter="192.168.1.1"
                        gateway_enable="YES"
                        hostname="Router"
                        ifconfig_rl0="inet 192.168.1.115  netmask 255.255.255.0"
                        ifconfig_rl1="inet 192.168.2.1 netmask 255.255.255.0"
                        firewall_enable="YES"
                        #firewall_type="OPEN"
                        firewall_script="/etc/ipfw.sh"
                        natd_enable="YES"
                        squid_enable="YES"
                        natd_interface="rl0"
                        natd_flags="-f /etc/natd.conf"
                        inetd_enable="YES"
                        usbd_enable="YES"

                        #ipfw.sh /chmod 100/
                        #!/bin/sh
                        /sbin/ipfw -f flush
                        /sbin/ipfw add 1000 pass all from any to any via lo0
                        /sbin/ipfw add 5000 divert natd ip from 192.168.0.0:255.255.255.0 to any out xmit rl0
                        /sbin/ipfw add 5100 divert natd ip from any to 192.168.1.115
                        /sbin/ipfw add 6000 allow all from any to any

                        #natd.conf
                        same_ports yes
                        use_sockets yes
                        unregistred_only yes

                        Не работает вообще ни хрена! Даже по FTP из локалки зайти не могу. Более того, с сегодняшнего дня (наверное после тысячной перезагрузки) фря стала  криво  грузиться с такими параметрами, останавливается на
                        Configuring syscons: blanktime
                        ждёт минут десять (или ctrl+c), потом грузится дальше.
                        Если в rc.conf закоментировать natd.flags, то грузится нормально, но, ессно, не работает.
                        Если открываю файерволл
                        firewall_type="OPEN"
                        работает всё.

                        Ядро скомпилировано со всеми рекомендованными параметрами. O SQUID пока забыл, не до него:(

                        Вопрос. Как мне, для начала открыть файерволл "всё для всех" через правила IPFW и NATD?
                        А уж потом буду думать как разворачивать трафик на squid и играть портами.

                        Кстати, строку divert natd ip from not 192.168.0.0/24 to ВАШ_ИНЕТОВСКИЙ_IP in recv rl0
                        в правила совать пробовал. Монопенисно:)


                        • Работает только http, !*! pal, 11:47 , 07-Июн-06 (14)
                          >Не, господа руты, пусть я прослыву дремучим ламером и конченым флудером, но
                          >эту гидру трхголовую я побежду... или победю.

                          Начнем по порядку головы рубить

                          >
                          >Вот вам задачка. Дано:
                          >
                          >#rc.conf
                          >defaultrouter="192.168.1.1"
                          >gateway_enable="YES"
                          >hostname="Router"
                          >ifconfig_rl0="inet 192.168.1.115  netmask 255.255.255.0"
                          >ifconfig_rl1="inet 192.168.2.1 netmask 255.255.255.0"
                          >firewall_enable="YES"
                          >#firewall_type="OPEN"
                          >firewall_script="/etc/ipfw.sh"

                          ^^^^^ тут указывается конфиг, а не баш скрипт, смотрим дальше

                          >natd_enable="YES"
                          >squid_enable="YES"
                          >natd_interface="rl0"
                          >natd_flags="-f /etc/natd.conf"
                          >inetd_enable="YES"
                          >usbd_enable="YES"
                          >

                          Редактируем вот это:
                          >#ipfw.sh /chmod 100/
                          >#!/bin/sh
                          >/sbin/ipfw -f flush
                          >/sbin/ipfw add 1000 pass all from any to any via lo0
                          >/sbin/ipfw add 5000 divert natd ip from 192.168.0.0:255.255.255.0 to any out xmit
                          >rl0
                          >/sbin/ipfw add 5100 divert natd ip from any to 192.168.1.115
                          >/sbin/ipfw add 6000 allow all from any to any
                          >


                          получаем это:

                          #ipfw.sh никаких комманд, только правила!!!!
                          add 1000 pass all from any to any via lo0
                          add 5000 divert natd ip from 192.168.0.0/24 to any out xmit rl0
                          add 5100 divert natd ip from any to 192.168.1.115
                          add 6000 allow all from any to any

                          >#natd.conf
                          >same_ports yes
                          >use_sockets yes
                          >unregistred_only yes

                          а вот тут ^^^^^^^^^^^ я бы поставил "unregistred_only no" потому как обе сетки у тебя находятся в 192.168.x.x

                          >
                          >Не работает вообще ни хрена! Даже по FTP из локалки зайти не
                          >могу. Более того, с сегодняшнего дня (наверное после тысячной перезагрузки) фря
                          >стала  криво  грузиться с такими параметрами, останавливается на
                          >Configuring syscons: blanktime
                          >ждёт минут десять (или ctrl+c), потом грузится дальше.
                          >Если в rc.conf закоментировать natd.flags, то грузится нормально, но, ессно, не работает.
                          >
                          >Если открываю файерволл
                          >firewall_type="OPEN"
                          >работает всё.
                          >
                          >Ядро скомпилировано со всеми рекомендованными параметрами. O SQUID пока забыл, не до
                          >него:(
                          >
                          >Вопрос. Как мне, для начала открыть файерволл "всё для всех" через правила
                          >IPFW и NATD?
                          >А уж потом буду думать как разворачивать трафик на squid и играть
                          >портами.
                          >
                          >Кстати, строку divert natd ip from not 192.168.0.0/24 to ВАШ_ИНЕТОВСКИЙ_IP in recv
                          >rl0
                          >в правила совать пробовал. Монопенисно:)

                          А вот не грузится у тебя sendmail, потому как ДНС не видит...

                          ICQ:9792112

                        • Работает только http, !*! Dmitry, 13:07 , 07-Июн-06 (15)
                          Так, значит сделал работу над ошибками
                          Теперь имеем:
                          в rc.conf
                          firewall_enable="YES"
                          firewall_type="/etc/fw.conf"
                          #firewall_script="/etc/ipfw.sh"
                          natd_enable="YES"
                          squid_enable="YES"
                          natd_interface="rl0"
                          natd_flags="/etc/natd.conf"

                          В /etc/fw.conf оставил только правила:
                          add 1000 pass all from any to any via lo0
                          add 5000 divert natd ip from 192.168.0.0/24 to any out xmit rl0
                          add 5100 divert natd ip from any to 192.168.1.115
                          add 6000 allow all from any to any

                          В natd.conf
                          same_ports yes
                          use_sockets yes
                          unregistred_only no

                          Грузится нормально. Появился FTP из локалки (что не может не радовать). Интернета нет. DNS из локалки не пингуется. Из фри пингуется. В resolv.conf DNS прописан правильный.

                          Чего не так? Кстати, интерфейс Lo0 нигде объявлять не надо?

                        • Работает только http, !*! pal, 13:17 , 07-Июн-06 (16)
                          >Так, значит сделал работу над ошибками
                          >Теперь имеем:
                          >в rc.conf
                          >firewall_enable="YES"
                          >firewall_type="/etc/fw.conf"
                          >#firewall_script="/etc/ipfw.sh"
                          >natd_enable="YES"
                          >squid_enable="YES"
                          >natd_interface="rl0"
                          >natd_flags="/etc/natd.conf"
                          >

                          в rc.conf
                          gateway_enable="yes"
                          присутствует?

                          >В /etc/fw.conf оставил только правила:
                          >add 1000 pass all from any to any via lo0
                          >add 5000 divert natd ip from 192.168.0.0/24 to any out xmit rl0
                          >
                          >add 5100 divert natd ip from any to 192.168.1.115
                          >add 6000 allow all from any to any
                          >
                          >В natd.conf
                          >same_ports yes
                          >use_sockets yes
                          >unregistred_only no
                          >
                          >Грузится нормально. Появился FTP из локалки (что не может не радовать). Интернета
                          >нет. DNS из локалки не пингуется. Из фри пингуется. В resolv.conf
                          >DNS прописан правильный.
                          >
                          >Чего не так? Кстати, интерфейс Lo0 нигде объявлять не надо?
                          нигде, только в конфиге файрвола.

                        • Работает только http, !*! Dmitry, 13:51 , 07-Июн-06 (17)

                          >в rc.conf
                          >gateway_enable="yes"
                          >присутствует?
                          >
                          Да, конечно. Беда та же самая: если открыть файерволл, роутер работает как ему положено. А через правила ipfw запирается наглухо.
                        • Работает только http, !*! pal, 13:59 , 07-Июн-06 (18)
                          >Да, конечно. Беда та же самая: если открыть файерволл, роутер работает как
                          >ему положено. А через правила ipfw запирается наглухо.

                          у меня работает, как ни странно, но внешняя сетевуха открыта строчкой, стоящей после дивертов, иначе труба...
                          allow ip from any to any via rl0
                          До нее я закрываю все порты известные мне порты(netstat -n):
                          deny ip from any to 85.ххх.156.ххх dst-port 80,443,3306,139,138,137,23,22,21 via rl0

                        • Работает только http, !*! Dmitry, 14:33 , 07-Июн-06 (19)
                          Нихрена не работает, в том числе и со строкой
                          allow ip from any to any via rl0
                        • Работает только http, !*! pal, 15:02 , 07-Июн-06 (20)
                          >Нихрена не работает, в том числе и со строкой
                          >allow ip from any to any via rl0

                          Стучись в аську 9792112
                          так слишком долго.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру