The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Сетевой принтер, !*! kbu, 07-Апр-12, 23:08  [смотреть все]
Уважаемое комюнити, помогите пожалуйста разобраться в чем проблема:

Есть локалка с вендовыми машинами,в ней сетевой принтер,нормально находится и устанавливается..но печать на него не идет,просто висит в очереди...если на принтере убрать шлюз, то все начинает работать..

вот правила iptables:


########################## Clear previous firewall #################
/sbin/iptables -F
/sbin/iptables -F -t nat

######################### Allow FORWARDING in kernel ###############
echo "1" > /proc/sys/net/ipv4/ip_forward

######################### Policy ###################################
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT DROP

######################## Input chains ################################
echo Input
######################################################################

# accept icmp echo-request from server to any
#/sbin/iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
/sbin/iptables -A INPUT -p icmp -j ACCEPT

# Allow loopback
/sbin/iptables -A INPUT -p ALL -i $loint -s $loip -j ACCEPT

# Allow connect LAN
# /sbin/iptables -A INPUT -p tcp -s 192.168.192.0/24 -j ACCEPT
# /sbin/iptables -A INPUT -p udp -s 192.168.192.0/24 -j ACCEPT
/sbin/iptables -A INPUT -s 192.168.192.0/24 -j ACCEPT

# Allow connect SSH
/sbin/iptables -A INPUT -p tcp -d $inetip --dport 22150 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -d $localip --dport 22150 -j ACCEPT

# Allow HTTP
/sbin/iptables -A INPUT -p tcp -d $inetip --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -d $inetip --sport 80 -j ACCEPT

/sbin/iptables -A INPUT -p tcp -d $inetip --dport 443 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -d $inetip --sport 443 -j ACCEPT

# DNS
/sbin/iptables -A INPUT -p udp -d $inetip --dport 53 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -d $inetip --dport 53 -j ACCEPT

/sbin/iptables -A INPUT -p udp -d $inetip --sport 53 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -d $inetip --sport 53 -j ACCEPT

# Allow Samba
/sbin/iptables -A INPUT -p tcp -i $intint --dport 445 -j ACCEPT

# Allow LAN Printer
/sbin/iptables -A INPUT -p tcp -i $intint -s $localip -d 192.168.192.24 --dport 9100 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i $intint -s 192.168.192.24 --sport 9100 -d $localip -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i $intint -s $localip -d 192.168.192.24 --dport 631 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i $intint -s 192.168.192.24 --sport 631 -d $localip -j ACCEPT

############################# Forward #######################################
echo Forward
#############################################################################

/sbin/iptables -A FORWARD -p icmp -j ACCEPT

# Use internet only with squid
/sbin/iptables -t nat -A PREROUTING ! -d 192.168.192.0/24 -p tcp -m multiport --dport 80,8080 -j REDIRECT --to-port 3128

# Make NAT
#/sbin/iptables -t nat -A POSTROUTING -o $outint -j MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -o $outint -j SNAT --to-source $inetip

# Allow FORWARD from LAN to Internet
/sbin/iptables -A FORWARD -i $intint -j ACCEPT
/sbin/iptables -A FORWARD -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

############################# Output #######################################
echo Output
############################################################################

# Allow loopback
/sbin/iptables -A OUTPUT -p ALL -s $loip -j ACCEPT

# Allow LAN
# /sbin/iptables -A OUTPUT -p tcp -d 192.168.192.0/24 -j ACCEPT
# /sbin/iptables -A OUTPUT -p udp -d 192.168.192.0/24 -j ACCEPT
/sbin/iptables -A OUTPUT -d 192.168.192.0/24 -j ACCEPT

# Allow icmp
/sbin/iptables -A OUTPUT -p icmp -j ACCEPT

# Allow connect SSH
/sbin/iptables -A OUTPUT -p tcp -s $inetip  --sport 22150 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -s $localip --sport 22150 -j ACCEPT

# Allow connect HTTP
/sbin/iptables -A OUTPUT -p tcp -s $inetip --sport 80 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -s $inetip --dport 80 -j ACCEPT

/sbin/iptables -A OUTPUT -p tcp -s $inetip --sport 443 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -s $inetip --dport 443 -j ACCEPT

# DNS
/sbin/iptables -A OUTPUT -p udp  --dport 53 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp  --dport 53 -j ACCEPT

/sbin/iptables -A OUTPUT -p udp  --sport 53 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp  --sport 53 -j ACCEPT

# Allow Samba
/sbin/iptables -A OUTPUT -p tcp -s $localip --sport 445 -j ACCEPT

# Allow LAN Printer
/sbin/iptables -A OUTPUT -p tcp -s 192.168.192.24 --sport 9100 -d $localip -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -s $localip -d 192.168.192.24 --dport 9100 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -s 192.168.192.24 --sport 631 -d $localip -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -s $localip -d 192.168.192.24 --dport 631 -j ACCEPT

вот route:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
21.16.1.212 *               255.255.255.252 U     0      0        0 eth0
192.168.192.0   *               255.255.255.0   U     0      0        0 eth1
default         server 0.0.0.0         UG    0      0        0 eth0

ip ro sh
21.16.1.212/30 dev eth0  proto kernel  scope link  src 21.16.1.214
192.168.192.0/24 dev eth1  proto kernel  scope link  src 192.168.192.254
default via 21.16.1.213 dev eth0

  • Сетевой принтер, !*! КуКу, 11:09 , 08-Апр-12 (1)
    # grep -i netb /etc/services
    netbios-ns      137/tcp                         # NETBIOS Name Service
    netbios-ns      137/udp
    netbios-dgm     138/tcp                         # NETBIOS Datagram Service
    netbios-dgm     138/udp
    netbios-ssn     139/tcp                         # NETBIOS session service
    netbios-ssn     139/udp
    #
    # grep -i micro /etc/services
    microsoft-ds    445/tcp
    microsoft-ds    445/udp
    ms-sql-s        1433/tcp                        # Microsoft-SQL-Server
    ms-sql-s        1433/udp                        # Microsoft-SQL-Server
    ms-sql-m        1434/tcp                        # Microsoft-SQL-Monitor
    ms-sql-m        1434/udp                        # Microsoft-SQL-Monitor
    wins            1512/tcp                        # Microsoft's Windows Internet Name Service
    wins            1512/udp                        # Microsoft's Windows Internet Name Service
    ..........................................................
    это для фаервола, так то как
    # Allow Samba
    /sbin/iptables -A OUTPUT -p tcp -s $localip --sport 445 -j ACCEPT
    немного маловато.

    ну или для эксперемента разрешить весь трафик для локалки через внутрений интерфейс

    • Сетевой принтер, !*! kbu, 12:43 , 08-Апр-12 (2)
      > # Allow Samba
      > /sbin/iptables -A OUTPUT -p tcp -s $localip --sport 445 -j ACCEPT
      > немного маловато.
      > ну или для эксперемента разрешить весь трафик для локалки через внутрений интерфейс

      Прошу прощения,а разве в правилах:

      /sbin/iptables -A INPUT -s 192.168.192.0/24 -j ACCEPT
      /sbin/iptables -A OUTPUT -d 192.168.192.0/24 -j ACCEPT

      у меня не разрешено все для локалки? или я что-то не допонимаю...?

      Вы еще предлагаете открыть порты нетбиоса?

      Просто при опущенном фаерволе все равно ничего не работало...

      • Сетевой принтер, !*! КуКу, 14:01 , 08-Апр-12 (3)
        Да спать мне больше надо, не заметил разрешения для локальной сети.
        Видимо среагировал, на то, что открыт порт только для самбы(что как мне кажется не совсем корректным), а нетбиос нет.

        как я понимаю у Вас комп. и принтер находятся в одном бродкаст-домене, то есть если на сетевом принтере убрать в настройках адрес шлюза, то все машины прекрасно с ним общаются на прямую, но если же адрес гейта прописан, то принтер получив(?) задание пытается отвечать через шлюз и очередь "зависает".

        из описания данной ситуации я все же настаиваю что проблема в шлюзе.

        з.ы. для эксперемента можно дать для фаервола политику по-умолчанию accept и проверить печать. если заработает, то возвращаем все как было, tcpdump на интерфейс и и пробуем отловить где проблема

        • Сетевой принтер, !*! kbu, 14:05 , 08-Апр-12 (4)
          > з.ы. для эксперемента можно дать для фаервола политику по-умолчанию accept и проверить
          > печать. если заработает, то возвращаем все как было, tcpdump на интерфейс
          > и и пробуем отловить где проблема

          Спасибо за ответ!
          Я сам уже понимаю что проблема в шлюзе..я пробовал ставить по умолчанию accept..но печать не идет...видимо что-то с маршрутами...только не могу понять что именно с ней не так...

        • Сетевой принтер, !*! КуКу, 14:09 , 08-Апр-12 (5)
          А спать то мне точно нужно больше.
          я тут заметил

          # Allow LAN Printer
          /sbin/iptables -A INPUT -p tcp -i $intint -s $localip -d 192.168.192.24 --dport 9100 -j ACCEPT
          /sbin/iptables -A INPUT -p tcp -i $intint -s 192.168.192.24 --sport 9100 -d $localip -j ACCEPT
          /sbin/iptables -A INPUT -p tcp -i $intint -s $localip -d 192.168.192.24 --dport 631 -j ACCEPT
          /sbin/iptables -A INPUT -p tcp -i $intint -s 192.168.192.24 --sport 631 -d $localip -j ACCEPT

          + такие же правила для OUTPUT

          Цепочка FORWARD явно разрешена.
          Но у меня вопрос, Вы за фильтруете принтер по 2-м портам, зачем?
          Боитесь что принтер начнет спам рассылать или DDOS организует?

          для эксперимента откройте полный  доступ к принтеру, так как мне кажется что все же 2-ч портов маловато.
          з.ы. для справки принтер у пользователей подключен по айпи или по имени?

          • Сетевой принтер, !*! kbu, 14:34 , 08-Апр-12 (7)
            > для эксперимента откройте полный  доступ к принтеру, так как мне кажется
            > что все же 2-ч портов маловато.
            > з.ы. для справки принтер у пользователей подключен по айпи или по имени?

            Два порта открыл в фаере,т.к. увидел что на самом принтере открыты два порта..но на раб.станциях он подключен по 9100,открыл два для чистоты процесса.

            Подсеть одна.

            И что значит открыть полный доступ к принтеру? Что здесь имеется ввиду?для локалки же все разрешено,а принтер в этой самой локалке..

            • Сетевой принтер, !*! КуКу, 15:02 , 08-Апр-12 (8)
              ну если для локалки все разрешено, тогда зачем:

              /sbin/iptables -A INPUT -p tcp -i $intint -s $localip -d 192.168.192.24 --dport 9100 -j ACCEPT
              /sbin/iptables -A INPUT -p tcp -i $intint -s 192.168.192.24 --sport 9100 -d $localip -j ACCEPT
              ............

              полный доступ, это вместо выше приведенных правил что то вроде:
              iptables -A INPUT -p all -s 192.168.192.24 -j ACCEPT
              iptables -A OUTPUT -p all -d 192.168.192.24 -j ACCEPT
              iptables -A FORWARD -s 192.168.192.24 -j ACCEPT
              _____

              все же как подключен принтер по имени или по IP?
              _____
              как я понял при
              iptables -P INPUT ACCEPT
              iptables -P OUTPUT ACCEPT
              iptables -P FORWARD ACCEPT
              iptables -F
              iptables -t nat -F
              iptables -X
              и включеном форвардинге пакетов принтер все равно непечатает

              то по всему без tcpdump'а тут не разобраться.

              • Сетевой принтер, !*! kbu, 18:56 , 08-Апр-12 (9)
                > ну если для локалки все разрешено, тогда зачем:
                > /sbin/iptables -A INPUT -p tcp -i $intint -s $localip -d 192.168.192.24 --dport
                > 9100 -j ACCEPT
                > /sbin/iptables -A INPUT -p tcp -i $intint -s 192.168.192.24 --sport 9100 -d
                > $localip -j ACCEPT
                > ............

                Это было сделано для чистоты процесса

                > полный доступ, это вместо выше приведенных правил что то вроде:
                > iptables -A INPUT -p all -s 192.168.192.24 -j ACCEPT
                > iptables -A OUTPUT -p all -d 192.168.192.24 -j ACCEPT
                > iptables -A FORWARD -s 192.168.192.24 -j ACCEPT
                > _____

                попробую с all

                > все же как подключен принтер по имени или по IP?

                принтер подключен по IP.

                > _____
                > как я понял при
                > iptables -P INPUT ACCEPT
                > iptables -P OUTPUT ACCEPT
                > iptables -P FORWARD ACCEPT
                > iptables -F
                > iptables -t nat -F
                > iptables -X
                >  и включеном форвардинге пакетов принтер все равно непечатает

                именно так

                > то по всему без tcpdump'а тут не разобраться.




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

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