iptables - Bloqueia entrada em Eth1 e Allow All de eth0

2

Estou um pouco preso ao iptables para lidar com duas portas Ethernet.

porta eth0 para uso de rede local (192.168.1.50 IP privado).

A porta eth1 está conectada à internet via modem a cabo (IP público 80.0.xxx.xxx).

eth0      Link encap:Ethernet  HWaddr 00:19:99:C1:86:BB
          inet addr:192.168.1.50  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:137532 errors:0 dropped:0 overruns:0 frame:0
          TX packets:55658 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:99968969 (95.3 MiB)  TX bytes:10403525 (9.9 MiB)
          Interrupt:50 Memory:fe700000-fe720000

eth1      Link encap:Ethernet  HWaddr 00:19:99:C1:61:3B
          inet addr:80.0.xxx.xxx  Bcast:255.255.255.255  Mask:255.255.252.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:144558 errors:0 dropped:0 overruns:0 frame:0
          TX packets:70347 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:34500131 (32.9 MiB)  TX bytes:27893843 (26.6 MiB)
          Interrupt:177 Memory:fe600000-fe620000

Eu queria bloquear toda a rota de entrada para eth1 , mas apenas permitir a porta 21. Apenas para que o IP externo não possa acessar nosso servidor web, servidor FTP, etc. Somente permita a porta 21 para acesso SSH. O ping também deve funcionar.

Na rede local (eth0), qualquer pessoa deve poder acessar qualquer coisa, exceto bloquear 192.168.1.20 e 192.168.1.30 do ip local para acessar o servidor 192.168.1.50.

Como isso pode ser feito usando o iptables?

    
por I'll-Be-Back 05.02.2013 / 18:52

1 resposta

3

I wanted to block all the incoming route to eth1 but only allow port 21. Just so that external IP can't access to our web server, ftp server, etc. Only allow port 21 for SSH access. Ping should work too.

A maneira mais limpa seria configurar os web / ftp-servers para escutar apenas na interface interna. Dessa forma, você não precisa se preocupar com nenhuma técnica relacionada à rede.

Se você não puder fazer isso por qualquer motivo, aplique estas regras:

iptables -A INPUT -i eth1 -p icmp -j ACCEPT           # allow ping
iptables -A INPUT -i eth1 -p tcp --dport 21 -j ACCEPT # allow SSH
iptables -A INPUT -i eth1 -j DROP                     # drop everything else

(a porta padrão do SSH é 22, a propósito, mas eu acho que você sabe melhor onde seu SSH escuta.)

On the local network (eth0), anyone should be able to access anything but just block local ip's 192.168.1.20 and 192.168.1.30 from accessing to 192.168.1.50 server.

Simples:

iptables -A INPUT -i eth0 -s 192.168.1.20 -j DROP 
iptables -A INPUT -i eth0 -s 192.168.1.30 -j DROP

Isso baixa todos os pacotes desses hosts. Se você quiser ping permitido aqui também, use uma regra semelhante para icmp como na eth1.

    
por 05.02.2013 / 19:36