 |
|
 |
|
|
 |
iptables command ignored? |
 |
 |
|
|
09-27-07 06:12 AM
Hi,
I appear to have a bit of a problem with iptables on debian 4.0. I'm
trying to open and close some ports but the commands I entered appear to
be ignored so I have made a little test.
I entered the following in a terminal window:
iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP
That should, I hope, drop all packets on lo but when I ping lo I get:
ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.223 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.183 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.180 ms
--- 127.0.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.180/0.195/0.223/0.022 ms
I have four NICs on my machine. So, just in case ping works because of
the other NICs I did this:
iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP
iptables -A INPUT -s 192.168.0.1 -p icmp -j DROP
iptables -A INPUT -s 192.168.1.101 -p icmp -j DROP
iptables -A INPUT -s 192.168.2.102 -p icmp -j DROP
iptables -A INPUT -s 192.168.3.103 -p icmp -j DROP
That should drop all packets from any NIC on my machine if I understand
things correctly. However, when I ping I get this:
ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.176 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.168 ms
--- 127.0.0.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
Its like the computer has ignored the "iptables" command. However, when
I delete those rules iptables does not complain.
So, what's going on? Why can't I drop packets?
Thanks.
[ Post a follow-up to this message ]
|
|
|
 |
|
 |
|
 |
|
|
 |
Re: iptables command ignored? |
 |
 |
|
|
09-27-07 12:14 PM
On 09/27/2007 12:41 AM, AAW wrote:
> Hi,
>
> I appear to have a bit of a problem with iptables on debian 4.0. I'm
> trying to open and close some ports but the commands I entered appear to
> be ignored so I have made a little test.
>
> I entered the following in a terminal window:
>
> iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP
>
> That should, I hope, drop all packets on lo but when I ping lo I get:
>
> ping 127.0.0.1
> PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
> 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.223 ms
> 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.183 ms
> 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.180 ms
>
> --- 127.0.0.1 ping statistics ---
> 3 packets transmitted, 3 received, 0% packet loss, time 2000ms
> rtt min/avg/max/mdev = 0.180/0.195/0.223/0.022 ms
>
> I have four NICs on my machine. So, just in case ping works because of
> the other NICs I did this:
>
> iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP
> iptables -A INPUT -s 192.168.0.1 -p icmp -j DROP
> iptables -A INPUT -s 192.168.1.101 -p icmp -j DROP
> iptables -A INPUT -s 192.168.2.102 -p icmp -j DROP
> iptables -A INPUT -s 192.168.3.103 -p icmp -j DROP
>
> That should drop all packets from any NIC on my machine if I understand
> things correctly. However, when I ping I get this:
>
> ping 127.0.0.1
> PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
> 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.176 ms
> 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.168 ms
>
> --- 127.0.0.1 ping statistics ---
> 2 packets transmitted, 2 received, 0% packet loss, time 999ms
>
> Its like the computer has ignored the "iptables" command. However, when
> I delete those rules iptables does not complain.
>
> So, what's going on? Why can't I drop packets?
>
> Thanks.
Do a Yahoo search for iptables or netfilter tutorials.
Most probably you have another rule on the INPUT chain that accepts the
ICMP packets before your rule to block them is reached. Consider this
for example:
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP
Any ICMP packets sent through the loopback device get accepted before
processing gets to rule 2--the rule that would drop them.
If you're unsure of what is in your INPUT chain, look at it:
iptables -L INPUT
In fact, this is very useful when building a firewall script:
iptables -L
Several programs are available to make firewall management easier:
firestarter, shorewall, gnome-lokkit, kmyfirewall, ferm, fiaif,
filtergen and more.
[ Post a follow-up to this message ]
|
|
|
 |
|
 |
|
 |
|
|
 |
Re: iptables command ignored? |
 |
 |
|
|
09-27-07 06:15 PM
AAW <andrew.wallace@psy.umu.se_remove> writes:
(snip)
> iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP
(snip)
> Its like the computer has ignored the "iptables" command. However, when
> I delete those rules iptables does not complain.
>
> So, what's going on? Why can't I drop packets?
What happens with,
iptables -I INPUT -s 127.0.0.1 -p icmp -j DROP
.. ? Maybe there were other rules that acted before yours. Rules are
ordered. To see what rules are acting, look at:
iptables -L INPUT
Mark
[ Post a follow-up to this message ]
|
|
|
 |
|
 |
|
 |
|
|
 |
Re: iptables command ignored? |
 |
 |
|
|
09-27-07 06:15 PM
On 2007-09-27 07:41, AAW wrote:
> Hi,
>
> I appear to have a bit of a problem with iptables on debian 4.0. I'm
> trying to open and close some ports but the commands I entered appear to
> be ignored so I have made a little test.
>
> I entered the following in a terminal window:
>
> iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP
>
> That should, I hope, drop all packets on lo but when I ping lo I get:
> So, what's going on? Why can't I drop packets?
>
> Thanks.
You are putting it last in the chain, try -I to "insert" drop
before anything else accept it.
I know near nothing about this, so don't take it as fact, but I have found
the same problems when adding block rules, they just don't bite unless I
insert them, or put them in the script that build the firewall at startup.
/bb
[ Post a follow-up to this message ]
|
|
|
 |
|
 |
|
 |
|
|
 |
Re: iptables command ignored? |
 |
 |
|
|
09-27-07 06:15 PM
AAW <andrew.wallace@psy.umu.se_remove> wrote:
> Hi,
> I appear to have a bit of a problem with iptables on debian 4.0. I'm
> trying to open and close some ports but the commands I entered appear to
> be ignored so I have made a little test.
> I entered the following in a terminal window:
> iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP
Wrong table. Try
iptables -I OUTPUT -p icmp -s 127.0.0.1 -j DROP
> That should, I hope, drop all packets on lo but when I ping lo I get:
> ping 127.0.0.1
> PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
> 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.223 ms
Regards-
--
Clifford Kite
[ Post a follow-up to this message ]
|
|
|
 |
|
 |
|
 |
|
|
 |
Re: iptables command ignored? |
 |
 |
|
|
09-28-07 12:14 PM
Mumia W. wrote:
>
> Do a Yahoo search for iptables or netfilter tutorials.
I’m working my way throught he HOW TO to try and learn iptalbes (that’s
where the “iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP” came from).
>
> Most probably you have another rule on the INPUT chain that accepts
Yeap, I should use –I not –A and then it works. So, thanks for your
reply and to the other who replied. Most appricated.
.ui
[ Post a follow-up to this message ]
|
|
|
 |
|
 |
|
 |
|
|
 |
Re: iptables command ignored? |
 |
 |
|
|
09-28-07 06:12 PM
Hello,
Clifford Kite a crit :
>
>
> Wrong table.
I guess you mean "wrong chain".
> Try
>
> iptables -I OUTPUT -p icmp -s 127.0.0.1 -j DROP
Why ? Packets sent through the loopback interface have to traverse both
OUTPUT and INPUT chains, and therefore may be dropped in either chain.
To the OP : the proper way to match packets on the loopback interface is
to use -i|-o lo, not -s|-d. As you understood, traffic on this interface
may use any local address as source and destination (don't forget the
whole 127.0.0.0/8 block).
[ Post a follow-up to this message ]
|
|
|
 |
|
 |
|
 |
|
|
 |
Re: iptables command ignored? |
 |
 |
|
|
09-28-07 06:12 PM
Pascal Hambourg <boite-a-spam@plouf.fr.eu.org> wrote:
> Hello,
> Clifford Kite a crit :
[vbcol=seagreen]
> I guess you mean "wrong chain".
Right, I failed to "Count two, think blue."
[vbcol=seagreen]
> Why ? Packets sent through the loopback interface have to traverse both
> OUTPUT and INPUT chains, and therefore may be dropped in either chain.
My reason is found in man iptables, search for locally. Backed up by
a test which showed this rule worked in that it prevented a ping from
being sent.
Also this appears to me as not a case of "through" the loopback interface,
the packets were _originated_ by the host (locally). That doesn't seem
to mean they must be considered input or output except by designation.
The man pages said output and output appeared to work while input didn't.
> To the OP : the proper way to match packets on the loopback interface is
> to use -i|-o lo, not -s|-d. As you understood, traffic on this interface
> may use any local address as source and destination (don't forget the
> whole 127.0.0.0/8 block).
You're right that using -i lo works, and silently, i.e., without the
"ping: sendmsg: Operation not permitted" message produced by my
suggestion. Since that qualifies as drop, I concede - again.
Regards-
--
Clifford Kite
/* The wealth of a nation is created by the productive labor of its
* citizens. */
[ Post a follow-up to this message ]
|
|
|
 |
|
 |
|
 |
|
|
 |
Re: iptables command ignored? |
 |
 |
|
|
09-29-07 12:12 AM
Clifford Kite a crit :
>
>
> My reason is found in man iptables, search for locally. Backed up by
> a test which showed this rule worked in that it prevented a ping from
> being sent.
Sure it works in OUTPUT. But it works in the INPUT chain too, as a
packet traverses both chains when it loops back.
> Also this appears to me as not a case of "through" the loopback interface,
> the packets were _originated_ by the host (locally).
Originated by and _destined to_ the host. Hence the INPUT chain. The
packet is sent through the loopback interface and received through the
same interface.
> That doesn't seem
> to mean they must be considered input or output except by designation.
> The man pages said output and output appeared to work while input didn't.
It works in both chains.
>
> You're right that using -i lo works, and silently, i.e., without the
> "ping: sendmsg: Operation not permitted" message produced by my
> suggestion.
You get the error message because you drop in the OUTPUT chain. If you
use -o lo in OUTPUT you'll get the message too. Whether the rule matches
the interface or the address has no effect on the way the DROP target works.
[ Post a follow-up to this message ]
|
|
|
 |
|
 |
|
 |
|
|
|
Sponsored Links |
 |
 |
|
|
 |
All times are GMT. The time now is 04:45 AM. |
 |
|
|
 |
|
 |
|
|
 |
|
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is OFF
|
|
|
|
Medical and Health forum | Computer Games Reviews | Graphics design forum
|
 |
|
 |
|