Definir regras genéricas do iptables?

2

Esta pode ser uma pergunta realmente idiota, mas como você pode abrir uma porta em várias interfaces sem definir as interfaces? Por exemplo, como eu abro a porta 22 em todas as interfaces?

Na minha máquina eu tenho algumas interfaces que são dinâmicas e podem ou não estar disponíveis, então eu tenho que definir regras "genéricas".

Este código não está funcionando para mim, mas não consigo entender o porquê:

# My default policy is to drop the input.
# The other policies are required like that.
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t mangle -P OUTPUT ACCEPT
$IPTABLES -t mangle -P PREROUTING ACCEPT

#Open port 22 on all interfaces ?
$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT

Então, aparentemente, há algo errado com a última linha ... mas não consigo ver?

Editar: iptables -nvL

root@machine:/etc/rc.d# iptables -nvL
Chain INPUT (policy DROP 22 packets, 1378 bytes)
 pkts bytes target     prot opt in     out     source               destination
   18  1484 ACCEPT     all  --  *      *       192.168.0.0/24     192.168.0.1
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
    4   236 ACCEPT     all  --  eth0   *       0.0.0.0/0            0.0.0.0/0
    0     0 DROP       all  --  eth1   *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  192.168.0.1 *       0.0.0.0/0            0.0.0.0/0
   24  1362 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:53
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:53
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:80
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:443
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:443

Chain FORWARD (policy ACCEPT 490 packets, 194K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 49 packets, 35544 bytes)
 pkts bytes target     prot opt in     out     source               destination
    
por tftd 06.04.2012 / 00:35

1 resposta

3

De acordo com sua iptables -nvL output, você tem uma regra para eliminar todo o tráfego que entra na eth1 . Este é provavelmente o seu problema.

A regra que você está tentando adicionar usa -A INPUT , então ela anexa a regra ao final da cadeia. Como existem outras regras na sua saída -nvL que não estão no seu script, acredito que você tenha outras regras sendo aplicadas em outro lugar primeiro.

A solução aqui é alterar o -A INPUT para -I INPUT , que adicionará a regra no início, antes da regra DROP .

    
por 06.04.2012 / 02:55