Так смотрим соединения по ip протоколу.
tcpdump -i eth1 -n ip proto 1\
где proto 1 - тип протокола.
1)Поделитесь правилом для iptables, которое блокирует gre,rawsocket.
2)Скиньте ссылку на метариал, где указано какой номер ip-протокола каким является типом (gre...и др.)
iptables.Заблокировать определенный тип ip-протокола (gre,rawsocket). Как ?
Модераторы: SLEDopit, Модераторы разделов
-
rm_
- Сообщения: 3340
- Статус: It's the GNU Age
- ОС: Debian
Re: iptables.Заблокировать определенный тип ip-протокола (gre,rawsocket). Как ?
1) man iptables -> поиск по "proto"
2) /etc/protocols
2) /etc/protocols
-
ALexhha
- Сообщения: 109
Re: iptables.Заблокировать определенный тип ip-протокола (gre,rawsocket). Как ?
1)Поделитесь правилом для iptables, которое блокирует gre
# iptables -A INPUT -p gre -j DROP
ну и по аналогии
-
pasis
- Сообщения: 22
- ОС: Gentoo Linux
Re: iptables.Заблокировать определенный тип ip-протокола (gre,rawsocket). Как ?
Если нужно запретить весь трафик протокола, то я бы посоветовал использовать -I:
Код: Выделить всё
# iptables -I INPUT -p gre -j DROPтак правило добавится в начало и трафик gre не будет проходить по всей цепочке до последнего правила, где дропнется. Это сократит процессорное время на обработку и возможность, что каким-то правилом в цепочке пакеты примутся.
Просто, в целях оптимизации
-
pelmen
- Сообщения: 1268
- ОС: debian
Re: iptables.Заблокировать определенный тип ip-протокола (gre,rawsocket). Как ?
Ну тогда уж и я добавлю свои 5 копеек:
Если делать iptables -I , то обязательно необходимо указать после цепочки номер, перед которым это правило будет прописано. Т.е.
iptables -I INPUT 1 -p gre -j DROP
Если делать iptables -I , то обязательно необходимо указать после цепочки номер, перед которым это правило будет прописано. Т.е.
iptables -I INPUT 1 -p gre -j DROP
-
pasis
- Сообщения: 22
- ОС: Gentoo Linux
Re: iptables.Заблокировать определенный тип ip-протокола (gre,rawsocket). Как ?
немного не так =), если не указываешь номер, то оно добавляется в начало цепочки, и легче понимать не перед каким правилом вставляется, а под каким номером будет новое правило. точнее, для меня легче понимать...
-
Denikin
- Сообщения: 119
Re: iptables.Заблокировать определенный тип ip-протокола (gre,rawsocket). Как ?
Помница в качестве -p можно указать только tcp, udp и icmp.
Т.о. правильно будет записать
-p tcp <protocol-name>
те iptables -I INPUT 1 -p tcp gre -j DROP
возможно потребуется какой нить дополнительный модуль загружать для поддержки
ну а с rawsocket чет ваще жестко
Т.о. правильно будет записать
-p tcp <protocol-name>
те iptables -I INPUT 1 -p tcp gre -j DROP
возможно потребуется какой нить дополнительный модуль загружать для поддержки
ну а с rawsocket чет ваще жестко
> If I have a an IP datagram in userspace and I send it via a raw socket
> created with socket(PF_INET, SOCK_RAW, IPPROTO_RAW) using the send()
> system call, will this packet traverse the netfilter chains?
No. Raw sockets bypass the TCP/IP stack. Netfilter hooks, and
consequently iptables, sit inside the IP stack.
Another effect of the same occurrence is that, even if your iptables
rules drop packets, you can still see them with tcpdump / ethereal.
> If it does not traverse the firewall, how can I make it do so?
The same way arptables and ebtables did it for ARP and bridging:
Make a clone of iptables (e.g rawtables), kernel and userspace.
Implement the neccessary hooks in the raw socket path, and implement
a new table for each of those hooks, into your new rawtables code.
That's not a weekend project.
-
pasis
- Сообщения: 22
- ОС: Gentoo Linux
Re: iptables.Заблокировать определенный тип ip-протокола (gre,rawsocket). Как ?
В мане я нашел следующее:
Код: Выделить всё
[!] -p, --protocol protocol
The protocol of the rule or of the packet to check. The specified protocol can be one of tcp, udp, udplite, icmp, esp, ah, sctp or all, or it can be a numeric value, repre‐
senting one of these protocols or a different one. A protocol name from /etc/protocols is also allowed. A "!" argument before the protocol inverts the test. The number zero
is equivalent to all. Protocol all will match with all protocols and is taken as default when this option is omitted.Т.е. как я понял из "A protocol name from /etc/protocols is also allowed", то как раз можно писать -p gre (или -p 47). Из /etc/protocols:
Код: Выделить всё
gre 47 GRE # General Routing Encapsulation-
pelmen
- Сообщения: 1268
- ОС: debian
Re: iptables.Заблокировать определенный тип ip-протокола (gre,rawsocket). Как ?
Я у себя делал именно -p 47 - работает
-
Venegance
- Сообщения: 119
- ОС: Debian
Re: iptables.Заблокировать определенный тип ip-протокола (gre,rawsocket). Как ?
Извините, многоуважаемый, но это есть полная глупость. TCP - это протокол транспортного уровня, а GRE - в общем случае сетевого -> TCP даже не подозревает о существовании GRE, и предположить, что TCP как-то связан с GRE - неверно.Помница в качестве -p можно указать только tcp, udp и icmp.
Т.о. правильно будет записать
-p tcp <protocol-name>
те iptables -I INPUT 1 -p tcp gre -j DROP
возможно потребуется какой нить дополнительный модуль загружать для поддержки