how to only allow tcp on dport 443 on the OUTPUT chain?

stan gryt2 at q.com
Sat Mar 19 23:12:56 UTC 2011


On Tue, 08 Mar 2011 23:35:41 -0800
erikmccaskey64 <erikmccaskey64 at zoho.com> wrote:

> If i want to block udp on dport 80 on the output chain, then is this
> enough? i want to only allow tcp on it! iptables -P OUTPUT DROP
> iptables -A OUTPUT -o $PUBIF --dport 80 -j ACCEPT
> 
> 
> or i need this rule?
> iptables -P OUTPUT DROP
> iptables -A OUTPUT -o $PUBIF -p tcp --dport 80 -j ACCEPT
> 
> 
> the second one is the good one?
> 
> 

I think you need to use a a couple of rules like
iptables -A OUTPUT -o $PUBIF -p !tcp --dport 80 -j DROP
iptables -A OUTPUT -o $PUBIF -p tcp --dport 80 -j ACCEPT

The first rule will drop anything not tcp on port 80. The second rule
will accept anything tcp on port 80.  If you only want to drop udp,
change the first rule to
iptables -A OUTPUT -o $PUBIF -p udp --dport 80 -j DROP
iptables -A OUTPUT -o $PUBIF -p all --dport 80 -j ACCEPT

If you are using an output rule that accepts everything
outbound like the default Fedora firewall, you will have to put these
rules in front of that.
iptables -I OUTPUT -o $PUBIF -p tcp --dport 80 -j ACCEPT
iptables -I OUTPUT -o $PUBIF -p !tcp --dport 80 -j DROP
Note the reversed order, since these are being inserted instead of
appended.


More information about the users mailing list