LINUX.ORG.RU
ФорумAdmin

ICMP не могу найти где заблокировано.


0

0

Есть  сеть с адресом  LOCAL_MASHIN
есть  Сервер с 2мя интерфейсами INET_IP_SRV который смотрит в Инет
                              и LOCAL_IP_SRV который смотрит в локалку
Инет работает на ура,  почта летает.
Проблемма : появилась необходимость чтоб с  сети можно  было
пропинговать скажем yandex.ru  на что в ответ получаю, если с 
виндовой машины то привышино время ожидания  если с Linux  то 
 operatoin not permitted    Сам сервер пингует нормально (Локалка
  отказывается слать пинг и трассер  как на имя  так и  на IP)
Грешил на  iptables   и передалал их упрастив до такого: 

*nat
:PREROUTING DROP [555302:31253081]
:POSTROUTING ACCEPT [438981:27113923]
:OUTPUT DROP [762167:47001889]
-A PREROUTING -s LOCAL_MASHIN -d LOCAL_IP_SRV -p tcp -m multiport --dports squid,domain,smtp,pop3,ssh,ftp -j ACCEPT 
-A PREROUTING -s INET_IP_SRV -p tcp -m multiport --dports http -j ACCEPT 
-A PREROUTING -d INET_IP/255.255.255.248 -i eth0 -p tcp -m multiport --dports domain,smtp -j ACCEPT 
-A POSTROUTING -s 192.168.10.3 -d ! 192.168.10.0/255.255.255.0 -j SNAT --to-source INET_IP 
-A POSTROUTING -s 192.168.10.3 -p icmp -j SNAT --to-source INET_IP_SRV 
COMMIT
*filter
:INPUT ACCEPT [18885879:9357141141]
:FORWARD DROP [2:132]
:OUTPUT ACCEPT [21055065:8915558519]
:icmp_packets - [0:0]
-A INPUT -p icmp -j icmp_packets 
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT 
-A INPUT -p icmp -m state --state RELATED -j ACCEPT 
-A FORWARD -s LOCAL_IP_SRV -d 192.168.10.0/255.255.255.0 -p tcp -m multiport --sports squid,pop3,smtp -j ACCEPT 
-A FORWARD -s 192.168.10.0/255.255.255.0 -d LOCAL_IP_SRV -p tcp -m multiport --dports squid,pop3,smtp -j ACCEPT 
-A FORWARD -s LOCAL_IP_SRV -d LOCAL_MASHIN -p tcp -m multiport --sports squid,pop3,smtp -j ACCEPT 
-A FORWARD -s LOCAL_MASHIN -d LOCAL_IP_SRV -p tcp -m multiport --dports squid,pop3,smtp,ssh,ftp -j ACCEPT 
-A FORWARD -s LOCAL_MASHIN -p icmp -j ACCEPT 
-A FORWARD -d LOCAL_MASHIN -p icmp -j ACCEPT 
-A OUTPUT -p icmp -j icmp_packets 
-A OUTPUT -p icmp -m state --state INVALID -j DROP 
-A icmp_packets -p icmp -j DROP
-A icmp_packets -p icmp -m icmp --icmp-type 0 -j ACCEPT 
-A icmp_packets -p icmp -m icmp --icmp-type 3 -j ACCEPT 
-A icmp_packets -p icmp -m icmp --icmp-type 5 -j ACCEPT 
-A icmp_packets -p icmp -m icmp --icmp-type 8 -j ACCEPT 
-A icmp_packets -p icmp -m icmp --icmp-type 11 -j ACCEPT 

ничего не изменилось,  где может быть заблокированно.  

у тебя в цепочке icmp_packets первым правилом стоит DROP

и вообще я не понимаю чем тебе icmp вообще помешал? чего его фильтровать-то?

anonymous
()

блин форматирование.
:PREROUTING DROP [555302:31253081]
:POSTROUTING ACCEPT [438981:27113923]
:OUTPUT DROP [762167:47001889]
-A PREROUTING -s LOCAL_MASHIN -d LOCAL_IP_SRV -p tcp -m multiport --dports squid,domain,smtp,pop3,ssh,ftp -j ACCEPT 
-A PREROUTING -s INET_IP_SRV -p tcp -m multiport --dports http -j ACCEPT 
-A PREROUTING -d INET_IP/255.255.255.248 -i eth0 -p tcp -m multiport --dports domain,smtp -j ACCEPT 
-A POSTROUTING -s 192.168.10.3 -d ! 192.168.10.0/255.255.255.0 -j SNAT --to-source INET_IP 
-A POSTROUTING -s 192.168.10.3 -p icmp -j SNAT --to-source INET_IP_SRV 
- Все неправильно: фильтрацию пакетов настоятельно рекомендуется делать в отведенной для этого таблице filter. Соотвественно dropы в nate убрать и оставить одно правило :
-A POSTROUTING -s 192.168.10.3(в локалке одна машина чтоли?) -j SNAT --to-source INET_IP_SRV
-A INPUT -p icmp -m state --state RELATED -j ACCEPT - насколько я помню такого не бывает, RELATED лучше к ftp приклеить.
Ну и наконец : -A FORWARD -p icmp -j ACCEPT - разрешает транзитный пинг.
А вообще почитайте туториал , там хорошо написано.

Realtex-sux
()
Ответ на: комментарий от anonymous

Кстати да , цепочка icmp_packets состоит из одного правила :)) Тоже самое в INPUT и OUTPUT - первое правило -j icmp_packets, следующие правила по icmp работать не будут. А вообще правильно, а то запингуют досмерти :))

Realtex-sux
()
Ответ на: комментарий от Realtex-sux

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

Просто прикол  не только  в таблах, я  ставил пустой iptables
который генится по умолчанию, сним тоже не  работатет  такое ощущение что где то  галачка стоит запрещать пересылку  icmp :)))))

PS  что касается  запингуют  досмерти,  все  фильтры ставились  на icmp  моим предшевственником как пилюля  от  дос  атак :)))) Я  пытаюсь  от этого уйти ... малой кровью  вот и  интересуюсь как  это мирно сделать.

Koran
() автор топика
Ответ на: комментарий от Koran

Оставил для icmp
*nat
-A POSTROUTING -s 192.168.10.3 -p icmp -j SNAT --to-source INET_IP_SRV 
COMMIT
*filter
:INPUT ACCEPT [18885879:9357141141]
:FORWARD DROP [2:132]
:OUTPUT ACCEPT [21055065:8915558519]
:icmp_packets - [0:0]
-A INPUT -p icmp -j icmp_packets 
-A FORWARD -s LOCAL_MASHIN -p icmp -j ACCEPT 
-A FORWARD -d LOCAL_MASHIN -p icmp -j ACCEPT 
-A OUTPUT -p icmp -j icmp_packets 
-A icmp_packets -p icmp -j ACCEPT

Всеравно машины стоящие на  сервером говорят:
windows  по ip   привышен интервал ожидания по имени ненайдено такое имя
Linux    по ip Operation not permitted по имени unknown host 
С самого сервера по прежнему  пинг и трассер и по имени и по ip в сторону интернета идет нормально!

Koran
() автор топика
Ответ на: комментарий от Koran

разрешено пинговать только одному хосту -- 192.168.10.3. поправь на 192.168.10.0/24

если не сработает то попробуй вместо -j SNAT --to-source INET_IP_SRV забубенить -j MASQUERADE

трейсы кстати при таком конфиге ходить НЕ БУДУТ они используют udp (линуксовые по умолчанию, виндовс -- безвариантно) надо и его разрешать

anonymous
()
Ответ на: комментарий от anonymous

Хм, если  не  ошибаюсь...  не прописав в iptables   ни стрчки 
относящейся к udp и icmp (как  по умолчанию в конфиге) 
Я  могу и пинговать и трассировать?   
10.3 это один  из  ip в который маскарадятся   компы 
на  другом cервере ;) суть не в этом, я  подключал  комп 
давая ему  ip  10.3 отключая всю сеть,  не пинги ни трассеры...
   UDP проверю.
ДА  в последнем посте  нарисована команда которая  дарзешает
принимать  и  отправлять  любые пакеты icmp  (как было подсказано
 выше)

Koran
() автор топика
Ответ на: комментарий от Koran

> не прописав в iptables ни стрчки
> относящейся к udp и icmp (как по умолчанию в конфиге)
> Я могу и пинговать и трассировать?

с серых айпишников? нет

если вообще непонятно что происходит есть отличная утилита
tcpdump. запускаешь ее на сервере на всех интерфейсах и глядишь
чего-куда

anonymous
()
Ответ на: комментарий от anonymous

tcpdump    посмотрел...
он   мне  расказал,  какой пакет от какого ip  пошел куда 
и как он его понял  но все  пакеты  который  я ему  шлю 
ping(ом) там не светятся,
  ни одной строчки не показано,  он  даже показывает radmin 
виндовый который через него в принцепе не работает, а  icmp
не кажет :(

кстати прописывание  разрешение всего 
ни пинги ни трассеры не идут :((((

Koran
() автор топика
Ответ на: комментарий от Koran

Вот что показывает iptables –nL 

ACCEPT icmp --  0.0.0.0/0     0.0.0.0/0          icmp type 8
icmp_packets  icmp --  0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     icmp --  192.168.10.3         IP_SRV_LOCAL
ACCEPT     icmp --  IP_SRV_LOCAL 192.168.10.3
ACCEPT     icmp --  192.168.10.3         194.84.231.58
ACCEPT     icmp --  IP_SRV_INET        192.168.10.3
ACCEPT     icmp --  192.168.10.3         0.0.0.0/0
ACCEPT     icmp --  0.0.0.0/0            192.168.10.3
ACCEPT     icmp --  192.168.10.3         0.0.0.0/0
ACCEPT     icmp --  0.0.0.0/0            192.168.10.3

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
icmp_packets  icmp --  0.0.0.0/0  0.0.0.0/0

Chain icmp_packets (2 references)
target     prot opt source               destination
ACCEPT     icmp --  0.0.0.0/0     0.0.0.0/0          icmp type 0
ACCEPT     icmp --  0.0.0.0/0     0.0.0.0/0          icmp type 3
ACCEPT     icmp --  0.0.0.0/0     0.0.0.0/0          icmp type 5
ACCEPT     icmp --  0.0.0.0/0     0.0.0.0/0          icmp type 8
ACCEPT     icmp --  0.0.0.0/0     0.0.0.0/0          icmp type 11
ACCEPT     icmp --  0.0.0.0/0     0.0.0.0/0

Koran
() автор топика
Ответ на: комментарий от Koran

tcpdump -i eth1 icmp -все замечательно показывает, маны нужно иногда читать.

>трейсы кстати при таком конфиге ходить НЕ БУДУТ они используют udp
>(линуксовые по умолчанию, виндовс -- безвариантно) надо и его
>разрешать - какие умные анонимусы пошли :)), чегож тогда у меня в
цепочке FORWARD нет ни одного правила на UDP, и политика по
умолчанию у ней DROP, а все трейсится и пингуется?
У меня такое ощущение, что ты в таблице nat всетаки не поменял
политики по умолчанию на цепочках PREROUTING и OUTPUT с DROP на
ACCEPT.
http://www.opennet.ru/docs/RUS/iptables/

Realtex-sux
()
Ответ на: комментарий от Realtex-sux

> чегож тогда у меня в цепочке FORWARD нет ни одного правила на UDP
> и политика по умолчанию у ней DROP, а все трейсится и пингуется?

ты врешь

man traceroute
/-I
Use ICMP ECHO instead of UDP datagrams.

и вообще это легко проверить -- на одной консоли tcpdump на другой
traceroute и вперед

anonymous
()
Ответ на: комментарий от Koran

> но все пакеты который я ему шлю ping(ом) там не светятся

значит косяк не на роутере а на самой машине с которой ты пингуешь

anonymous
()
Ответ на: комментарий от anonymous

> трейсы кстати при таком конфиге ходить НЕ БУДУТ они используют udp (линуксовые по умолчанию, виндовс -- безвариантно)
Не совсем верно: в linux-е по умолчанию (без -I) - UDP, в винде - ICMP.

spirit ★★★★★
()
Ответ на: комментарий от spirit

Да действительно, traceroute по умолчанию шлет UDP в районе портов 33000 и выше, а я сразу поленился помотреть - наверно я латентный вантузятник © не помню чьё.

Realtex-sux
()
Ответ на: комментарий от Realtex-sux

:) 
как я  писал выше

tcpdump   ничего не показывает, вернее  он показывает что  
Вернее  пинг  с   192.168.10.3 на 64.12.161.153
на первом интерфейсе показывает
tcpdump: listening on eth0
и  ждет пока чегонить произойдет (короче  ничего не показывает)
пинг 192168.10.3 на IP_INET_LOCAL  он  тоже  откидывается
но сервер  на  tcpdump на  IP_INET_LOCAL  показывает icmp: echo request 

Политику по умолчанию
Forward
prerouting
postrouting
output
input        
Все возведины  для  эксперимента в ACCEPT в правилах, все  в ACCTPT

Koran
() автор топика
Ответ на: комментарий от Koran

С помощью  SPIRIT  разобрался заново поставил пакет iptables и  
дорисовал некоторые цепочки (часть из которых попросту не додумался 
поставить)  Всем спасибо 

Koran
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.